[Vm-dev] I'll come in again...
andreas.raab at gmx.de
Sun Jun 27 19:02:15 UTC 2010
I feel like I've been thoroughly misunderstood in the recent discussion
about using a distributed version control system. Let me try to make my
point as clearly as possible:
First of all I don't *care* whether to use a "distributed" VCS or not.
Is that clear? I really don't. What I care about for a version control
system is how easy it is to use and how well it integrates with the
system I use.
Having been clear on the initial point, my concern in this discussion is
about *why* people seem to be excited about using an DVCS. What I'm
hearing is "great, now we can fork" instead of "great, this will make it
easier to contribute".
There is a difference between a "branch" and a "fork". A "branch" is
something where you (usually temporarily) diverge from the main line in
order to make the original product better. A "fork" is a (usually
permanent) divergence from the main line WITHOUT the intention to make
the original product better. For example, Cog is a branch, Pharo is a fork.
Branches are *great*. Branches allow us to explore directions without
destabilizing the main development. Forks are *terrible*. Forks split
communities, force duplication of efforts, and split mindshare that
would better be spent on making the system better for everyone.
As a consequence, when I hear people being excited about the ability to
"fork" I am starting to ask myself what we can do to avoid the need for
forks. Forks don't just happen - there are events that lead up to it and
I am trying to understand if there's something we can do to alleviate
the perceived need for forking.
I'm not trying to tell you that you *must* host your private experiments
on Squeak.org - I am asking to find out what kind of frustration exist
in our current development process, and what we can do to address them.
More information about the Vm-dev