By Jake Edge
March 12, 2008
The Emacs development process is undergoing some changes; Richard Stallman
has handed off project
maintenance duties, while a change in the version control system (VCS)
seems to be in the offing. Some of the modernization suggestions made by
Eric Raymond last December are taking root. Stallman has not completely
stepped away from Emacs development—it's doubtful anyone expected him
to—but his approach on how to choose a VCS for Emacs is raising a few
eyebrows.
Currently, Emacs is tracked with CVS, but a distributed VCS (DVCS) is definitely
planned down the road—how far is unclear at this point. In
earlier discussions, Stallman was particularly interested in the offline
capabilities of DVCS; being able to do commits, diffs, and see revision
history while
unconnected to the internet is a useful feature for him. Many other Emacs
developers see a DVCS as a major upgrade to the development process, the
question then becomes which DVCS to use.
The main contenders are git, Mercurial (aka hg), or Bazaar (aka bzr); there are other options, of
course, but they were quickly
eliminated due to speed or feature set issues. There was some hope that
a comparative VCS study that Raymond was working on would help lead the project to the proper
choice, but the study has been delayed—a major release of Wesnoth is
underway which has taken Raymond from that task.
There were some discussions of the merits of the various systems but, in
the meantime, Bazaar joined the GNU project which changed the equation
somewhat. Stallman announced:
We should use Bzr because that is becoming a GNU package.
GNU packages should show loyalty to each other when possible,
and in this case it is possible.
As might be expected, short-circuiting a technical discussion for a
political expedient is not met with universal approval. Juanma Barranquero
sums up his (and others') objections:
What I'm trying to say is: I won't discuss which dVCS we choose
(unless it makes Windows development a PITA). But I agree with Jeremy
Maitin-Shepard that the cause of free software is strengthened by us
selecting among the free alternatives the one that best serves our
technical, not political, needs.
There is a certain irony in noting that one of the perceived weaknesses of git was its
poor support for Windows development. It is
certainly understandable, but the idea that one of the flagship GNU
projects would make a decision based on tool availability for a proprietary
operating system gives one pause. That isn't one of
Stallman's requirements of course, he sees the decision as essentially a choice amongst
equals:
We already know the most important thing about what we will find from
a careful study of git, mercurial and Bzr. We will find that each has
its advantages and disadvantages -- but none of them conclusive. Each
will be preferred by some people, but any one of them would work out
well enough.
As Thomas Lord (author of another GNU VCS, arch), points out, there is a cost to
agonizing over a choice like this:
Probably so but any group of smart people could easily spend
a year arguing about it. Not even a year arguing about which system
is best but a year arguing just about what "best" means in this context.
Over-optimizing a choice like that can be a *huge* resource
suck and projects and groups fail all the time because of falling
into such traps.
No technical barriers to using Bazaar have been raised, it is, as Stallman
asserts, a fairly arbitrary choice. Unsurprisingly, Stallman chooses the one
that serves his agenda. The new maintainers, Stefan Monnier and Chong
Yidong, presumably agree with that
agenda, in any case they have not indicated any resistance to the
choice.
So it seems that Emacs will be moving to Bazaar. Jason Earl has been
pulling the CVS history into a Bazaar repository that should be available
soon. The import process seems to be taking a fair amount of time—something on the order of a week—which is hopefully not indicative of
the operational speed of Bazaar. Assuming the conversion works and
developers can get their work done using it, this would be a pretty
high-profile project to use it. Other GNU software may follow suit, which
could be a big boost to the visibility of Bazaar; precisely
what Stallman was aiming for.
(
Log in to post comments)