[wp-hackers] Switching from SVN

Andrew Nacin wp at andrewnacin.com
Sun Dec 12 05:47:33 UTC 2010


On Sat, Dec 11, 2010 at 12:33 PM, scribu <mail at scribu.net> wrote:

> On Sat, Dec 11, 2010 at 7:15 PM, Mike Little <wordpress at zed1.com> wrote:
>
> > Whilst the development of WordPress is *not* distributed (and it is not)
> > and
> > whilst the final result of all contributions is hand application of a
> patch
> > by the few core committers, there will never be any need, let alone
> > advantage, to switching away from Subversion.
> >
>
> I don't see how that's different from Linux Kernel Development, where all
> patches went through Linus (at least at first), yet it uses git from day
> one.
>
> Also, I don't think WordPress is developed in a Cathedral style at all.


Not from day one -- Git was invented to be used on the kernel.

The point is, it's extremely different. The kernel uses a lieutenants
system. They have a hierarchy of branches, each with their own gatekeeper,
for many different modules, submodules, and components. When the merge
window opens, Linus accepts patches that his lieutenants have signed off on.
He doesn't read, and certainly doesn't audit or test, all of them -- the
entire system is built on a hierarchy of trust and a hierarchy of branches.

WordPress does not use a lieutenants system. There are five active primary
gatekeepers for a single branch of code, three leads and two with permanent
commit. There are also four component committers currently, two permanent
and two guest, who operate under the advice of the lead developers, but it's
a circle of trust, rather than a hierarchy. It's heavily centralized, with
everyone with the same powers and responsibilities on the same branch of
code. Mike Little described it best:

"Whilst the development of WordPress is *not* distributed (and it is not)
and
whilst the final result of all contributions is hand application of a patch
by the few core committers, there will never be any need, let alone
advantage, to switching away from Subversion."

I think Mike's application of "cathedral" and "bazaar" is misplaced, but
don't let that take away from the key points he's made.

Jacob also made some key points:

"I was not writing about technical, but methodology on branching. Subversion
by design of being centralized wants everyone to work on the same Trunk or
branch. You can see this with WordPress.org development, so don't tell me
I'm wrong. I do not see many feature branches and this is what I'm talking
about. The very nature of GIT or decentralized is one which wants you to
work on branches and then merge back into the main. Is this or is this not
true?"

Yes, this is absolutely true. We operate on a single branch of code, with
discreet patches applied to that. We have no intention of turning our
workflow on its head. We're not in the interest of fixing what isn't broken,
and no, DCVS is not the golden solution for every developer or project.

Nacin


More information about the wp-hackers mailing list