On Sun, Sep 12, 2010 at 3:51 PM, Jeff Hammerbacher <ham...@cloudera.com> wrote:
> Hey,

>
> I just read the thoughtful piece by Anil Dash at
> http://dashes.com/anil/2010/09/forking-is-a-feature.html. I don't really
> agree or disagree with his points, but it's an interesting take on the value
> of distributed version control and the evolution of how open source
> communities get work done.
>
> I tried to find the official position of the ASF on this topic, but
> unfortunately, the "How it Works" links are broken on the site (see
> http://issues.apache.org/jira/browse/INFRA-2981).
>
> I did find, in the "glossary", a section on "Revolution":
>>
>> In the Apache environment, some communities may decide to permit (or
>> encourage) revolutions as ways of reconciling differences, particularly code
>> changes which have been blocked on a particular branch by a veto. Originally
>> described by James Duncan Davison in his 'Rules for Revolutionaries,' the
>> concept has been adopted, formally or informally, by at least one Apache
>> project. Essentially, a revolution occurs when a group of committers decides
>> to fork the current main branch in order to work on problematic code or
>> concepts. This permits them to pursue it without disturbing the evolutionary
>> work on the main branch. A revolutionary branch may eventually be merged
>> back into the main branch, die out, split completely and become a new main
>> branch, or may absorb the current main branch into itself (essentially no
>> different than the first option). See the 'Rules for Revolutionaries' and
>> compare evolution.
>
> In the Apache Hadoop project, we've adopted the potential for revolutions,
> which we manage as Subversion branches. Unfortunately, maintaining a
> Subversion branch is expensive, and merging it back into trunk can be quite
> difficult.
>
> For projects which have sanctioned "revolutions", it may be useful to allow
> them to use git or another dvcs as the primary version control system.
>
> Similarly, for projects with several large commercial backers, each
> maintaining their own patch sets or source repositories (e.g. Apache Hadoop,
> with Yahoo, Cloudera, and soon, Facebook working separately), a distributed
> version control system could be useful.

I don't view those large external patch sets as a positive thing for
health of an Apache project, or for the average consumer/user of the
project.  I don't view this as a good reason to promote git.

As Sam mentions in his blog post he linked in the thread[1], I also
use git every day for most non-ASF projects.  I don't find git itself
innovative for my use cases, I find github innovative.  I am far more
interested in figuring out better ways of combining issue tracking,
code review, and pull requests, than any desire to ease the pain of a
large external patch.  Large external patchsets are bad.  They
shouldn't be the reason we move to another VC.

I think we should look more critically at the flows that github is
promoting, and look at how we could apply those; regardless of weither
it used svn, git, hg or even bazzar.

[1] - http://intertwingly.net/blog/2010/09/13/One-True-Way

---------------------------------------------------------------------
To unsubscribe, e-mail: community-unsubscr...@apache.org
For additional commands, e-mail: community-h...@apache.org

Reply via email to