Subversion Migration: the importance of maturity.
- From: Miguel de Icaza <miguel ximian com>
- To: James Henstridge <james jamesh id au>
- Cc: Luis Villa <luis villa gmail com>, Sriram Ramkrishna <sri aracnet com>, Mikael Hallendal <micke imendio com>, Hacking Gnomes <gnome-hackers gnome org>
- Subject: Subversion Migration: the importance of maturity.
- Date: Fri, 13 May 2005 12:07:46 -0400
Hello,
> If anyone is interested in the differences between the command line
> interfaces of CVS, Subversion and Bazaar here:
> http://www.advogato.org/person/jamesh/diary.html?start=196
Having a familiar command line interface is important, and am glad that
they all have a familiar command line interface.
Am sure also that Monotone, Arch and all those other new age platforms
for doing source code control have some wonderful features that would be
great to have, but this is not what worries me the most.
But I think that our source code control system choice should not be
based purely on new features or new development paradigms that we might
want to use, but also on the reliability, community and support that we
can get.
If we do a feature comparison, and we decided that "multiple trees and
changesets" are crucial to Gnome above all else, then clearly Monotone
and Arch might be the tool to use. But in my opinion there are too many
other dimensions to the problem.
This is what I want in a source code control system, I want a hardened
system:
* Support. Not only mailing list support, or to be delivered
the open source line: `Well, you should not have done that'.
* Community: We want to be able to plug into an active
community, where we can get support and we can benefit from
other third party experiences, tricks and information.
* Maturity: Arch and Monotone are at the place where Subversion
was two or three years ago, when the early adopters were
trying out the technology. And ever since they said `This is
usable' in the pre 1.0 day, and even a year ago when 1.0 was
released people still had issues and these problems had to be
sorted out.
No matter how great Arch and Monotone are (and they are
beautiful) they have just not received enough testing nor have
they aged enough to be used for something of the scale of
GNOME.
* User base: only as a function of the previous maturity
component: how many large projects have adopted Arch?
Monotone? and Subversion?
How many lines of code are maintained by those adopters in
each case?
Subversion has a fairly impressive list of users in addition
to the recent KDE migration:
http://subversion.tigris.org/testimonials.html
* Documentation: again, a function of maturity. Subversion
has a book on its second edition (to cover 1.0 and 1.1) and
it is also available online.
* Plugins: another side effect of maturity and age:
Subversion has a fairly complete community of third party
components: Web tools, client-libraries, libraries to access
the svn file system, GUIs available for Windows, OSX and Gtk
users, integration into existing IDEs (Eclipse, SharpDevelop,
MonoDevelop, Visual Studio), etc.
For a list, see:
http://subversion.tigris.org/project_links.html
This list includes papers, a *large* collection of third
party components, and even lists of groups and companies
offering subversion hosting services.
I am convinced that Arch and Monotone are *great* technologies, but as a
source code control for a few hundred modules on the Gnome repository, I
think we should be more conservative and let the early adopters sort out
the kinks in these systems for us.
Subversion has:
* An established company that provides support, has helped
migrate a number of open source projects, has case studies
and can hold our hands in case we run into problems.
* Subversion has a full time staff of developers working around
the clock to bug fix subversion and maintain regression test
cases.
In addition for those who absolutely want a distributed system, they can
still get distributed features by using "SVK" (http://svk.elixus.org/)
a distributed source code control built on top of the Subversion file
system. SVN extends subversion with a few extra commands like "mirror"
Finally: I do not want to be on the receiving end of `Well, you should
have not done that' when something wrong goes on the repository.
That is why I advocate a more conservative approach when picking our
source code control system.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]