THE GNOME project has completed a survey of active contributors about which
distributed version control system (DVCS) they would prefer to switch to in
2009. The project is now in the process of interpreting the results and
deciding on the next steps. As the process unfolds, it provides a vivid
snapshot of how free and open source software (FOSS) contributors regard
DVCSes are an idea that have taken hold strongly in the FOSS community in
the last few years, and that is starting to edge out older version control
systems such as CVS and Subversion. Unlike such older,
centralized version control systems, DVCSes do not require a single
repository. Instead, on a DVCS, all contributors have their own
repositories, and decision-makers decide which ones to merge for a
release. In general, DVCSes are seen as more flexible, although critics
argue that they can be too decentralized, and that they cause more
conflicts than traditional version control systems during merges. All the
same, they continue to be popular, partly because of the high-profile of Git, the DVCS originally written by Linus
Torvalds for Linux kernel development after the switch from BitKeeper.
The GNOME survey was privately distributed by Behdad Esfahbod, one of the
directors of the GNOME Foundation, in December 2008 to gather background
information for a possible move away from Subversion, the version control
system used by most of GNOME. The survey was distributed to GNOME
contributors with Subversion accounts and SSH keys — a total of 1083
people in all, of which 579 replied.
The survey asked those who replied about their current use of Subversion,
as well as their role within GNOME, what DVCSes they used or with which
they were familiar, and how they felt about switching from Subversion. They
were then asked to rank their preferences for Git, Mercurial (often
abbreviated to Hg, after the abbreviation for the element Mercury), Bazaar (Bzr), and
Analyzing the results
On 3 January, 2009, Esfahbod published the raw results of the
survey. Over the next few days, the results were analyzed by a number of
people, including Shaun
McCance, Andy Wingo
Newren, all of whom charted the results. Newren's analysis in
particular has become a center for discussion about the survey, undoubtedly
because it was the most exhaustive analysis.
Looking at Newren's charts, viewers can quickly see approximate but
definite results (those who want more exactness can refer to the raw
data). The result is a thorough picture of GNOME contributor's views on
Newren cross-correlates survey results in every possible way, but here are
About 60% of respondents claimed familiarity with Git, and 25% with Bzr and
20% with Hg.
37% of respondents preferred to switch from Subversion, 34% were
indifferent either way, and the rest either support Subversion or did not
want to switch.
48% chose Git as their first choice, and 25% preferred Subversion. Bzr was
favored by about 12%, and Hg by 7%, while 5% expressed no preference. Among
second choices, Subversion, GIT and Bzr were all between 20-25%, and
possibly within any margin of error. However, in the third through fifth
choices, Bzr and Hg were favored as much or more than Subversion or Git.
Preferences for different roles in the project were clearly defined:
Package maintainers and coders steadily preferred Git and
Subversion. Translators and testers held the same preferences, but less
strongly. Surprisingly, documenters preferred Bzr, but, since only four
documenters replied, the validity of that result is questionable.
Those who wanted to switch, or were indifferent both strongly favored Git.
Newren's conclusion was that "there's a strong preference in the
community toward switching, and that git has a strong lead in preference
among the community
As might be expected in an online discussion of FOSS, replies to both
Esfahbod's publication of results and Newren's results were not long in
coming. Still other comments were posted below LWN's brief mention of Newren's
Replies to the survey and analyses
Probably the most common criticism was that the survey was as much a
popularity contest as anything else. Several commenters also wondered why
other DVCS software such as Monotone
and Darcs were not included in the survey
(a question that, so far, no one has answered). In addition, some
commenters were quick to talk about Git's shortcomings, while others
— obviously unfamiliar with Git — asked questions about its
On the GNOME desktop-devel list, Esfahbod's announcement
produced dozens of replies. One
of the most articulate was by Andrew
, who maintained that "The way the whole survey exercise was
conducted it was impossible for Git to lose
", and that the desired
results were plain beforehand from discussion on the #gnome-hackers
channel. Cowie also complained about the fact that GNOME contributors to
projects that do not use Subversion were not invited to participate, and
that the survey required listing preferences for all choices when he would
have preferred not to vote for Git, Mercurial, or Subversion at all.
Much of the discussion below Esfahbod's announcement of the results, did
quickly come to center on the assumption that a move from Subversion was
now inevitable. Some questioned whether GNOME had the resources to devote
to such a move, while others volunteered to be part of a task force to plan
and implement the move. Another possibility raised was hiring someone to
coordinate the change. Still others attempted to rough out the steps needed
to move away from Subversion.
However, while most assumed — however reluctantly — that a
change to Git would happen, others tried to raise alternatives. Some
suggested that each separate GNOME module should be allowed to use its own
DVCS, which others argued would discourage new contributors.
Others championed a suggestion raised on John
Carr's blog that GNOME use its bzr-playground server and
create plug-ins so that developers could use the DVCS software they
personally preferred. However, this idea was dismissed by Esfahbod, who in a reply to
the discussion about his announcement condemned such
"hacks [developed] in house" because of the potentially
they might require in the future.
In the end, however, the usefulness of these criticisms and alternate
suggestions is limited. As Esfahbod states:
"[...] This thread is not about making decisions. This thread is
about giving those making the decision
input they need to consider. Who makes the decision? Those who actually
have to implement, oversee, and maintain any change" — in
other words, the GNOME Foundation directors, and the project's release team
and system administrators, the ones who commissioned the survey in the
first place. The unspoken assumption in the survey appears to be that the
move from Subversion is inevitable, and only the details are up for
discussion. So far, though, those details have not been finalized, either
by consensus or an announcement.
Meanwhile, for those unaffected by the decision, the survey and the
resulting commentary provides a seldom-seen insight into the mindset of
active members of the GNOME project — and, very likely, of active
FOSS contributors in general.
to post comments)