Toward a Better Discussion of Parrot's Future VCS Options

Patrick R. Michaud pmichaud at pobox.com
Tue May 4 15:05:33 UTC 2010


On Mon, May 03, 2010 at 08:14:19PM -0400, James E Keenan wrote:
> (e) If there is a dispute over an open source project's policies and
> practices, the burden of proof falls on those in the project who
> wish to change those policies or practices.  

I disagree with the "burden of proof" argument given here.  There is
currently a super-majority of Parrot developers that have expressed 
a preference for git [1], those in favor of keeping svn have some
obligation to justify their choice as well.

[1] http://parrot.org/content/straw-poll-which-version-control-system-would-you-parrot-use

> The rationale for
> change and its supporting evidence should be presented in a more or
> less structured way on the project's mailing list or in some other
> appropriate forum. 

This has been done already, see 
http://trac.parrot.org/parrot/wiki/GitObjections .

> 2.  It follows the premises above that to date I am not favorably
> impressed with the quality of the discussion of VCS changes in the
> Parrot project.  Even though I am not as skeptical of git as Allison
> is, I do believe that she is correct to challenge the git advocates
> to provide better substantiated arguments than they have so far.

At least three Parrot core committers and board members -- myself, 
chromatic, and Will Coleda, have expressed our _strong_ preference 
for git over svn.  I'm saddened that you are not "favorably impressed" 
with our discussions on the topic.  We *have* provided 
"better substantiated arguments" to Allison's objections in the past 
in a structured form -- see the GitObjections wiki page mentioned above.  
If there are additional objections that are not being considered on 
that page, please add them.

> (i) What are the strengths and weaknesses of both centralized and
> distributed VCSes?

I think this question leads the discussion down a blind alley.
A distributed VCS like git can easily act like a centralized system
(for example, Rakudo currently uses git like a centralized VCS).

> (ii) There are at least three distributed VCSes that, on the basis
> of their adoption by other large, open-source projects, deserve our
> attention:  git, mercurial and bazaar.  What are the strengths and
> weaknesses of each?

The straw poll taken last September didn't see anyone who thought
mercurial or bazaar would be better choices than git.  I don't 
believe that we need an extensive review to convince ourselves of this.

> (iii) If we do decide to move to a distributed VCS and settle on a
> particular VCS, what shall our migration plan be?  (Note:  On the
> basis of my past and current experiences, this is the issue that
> needs the most discussion but will likely get the least.)

Having actually performed a couple of svn->git migrations among
multi-contributor open-source projects (including Rakudo), I can 
categorically tell you that this is not at all hard to do.
The hardest part is helping contributors learn the git commands --
I've already created a page for this at 
http://trac.parrot.org/parrot/wiki/GitCookbook-Pm -- it covers the
vast majority of cases that a typical contributor is likely to
encounter.

----

I don't deny that there are some git advocates in the Parrot
community that have been overly passionate or hyperbolic in terms
of their arguments for migrating to git.  But I also think you
may be using that extremism to quickly dismiss (and frankly
fail to acknowledge) the efforts that several git advocates
have been making for a long time towards a rational discussion of
this topic.

Pm


More information about the parrot-dev mailing list