[Vm-dev] I'll come in again...

Andreas Raab andreas.raab at gmx.de
Sun Jun 27 19:02:15 UTC 2010

Folks -

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.

   - Andreas

More information about the Vm-dev mailing list