Re: Subversion Migration: the importance of maturity.



On Fri, 2005-05-13 at 12:07 -0400, Miguel de Icaza wrote:
> Hello,

Hi

> 
> > 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.

Right.

> 
> 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.

Completely right.

> 
> 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'.

Yes, having the choice of a company that gives you paid support in case
you need it is a good thing to have in case you need it.

> 
> 	* 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. 

Usually that's not a big problem in the Free Software world. If it's a
free software project, you usually have a community around it.

> 
> 	* 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.

Well, seems funny that I need to say this, as I suggested the migration
to Subversion a year ago, but, Arch is around before Subversion got the
1.0 release:

http://regexps.srparish.net/src/tla/

 tla-1.0.tar.gz          19-Jun-2003 21:25   2.8M  

While Subversion didn't reach the 1.0 release until 8 months later...

http://subversion.tigris.org/servlets/NewsItemView?newsItemID=612

Don't know about Monotone.

> 
> 	  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. 

Well, Ubuntu is using Arch as part of its development since some months
ago already and in the near future will be use it much more. GNOME and
KDE are included into Ubuntu so... I think that's a good stress prove,
isn't it?

> 
> 	* User base: only as a function of the previous maturity
> 	  component: how many large projects have adopted Arch? 
> 	  Monotone? and Subversion?

I cannot give you a list of the projects that are using them.

> 
> 	  How many lines of code are maintained by those adopters in
> 	  each case?

No idea of numbers.

> 
> 	  Subversion has a fairly impressive list of users in addition
>  	  to the recent KDE migration:
> 
> 		http://subversion.tigris.org/testimonials.html

Yeah, there are 17 links to projects, but, for instance, the whole
Debian project is not using Subversion, only a part of it, others are
using Arch and I'm sure there are others that are using other ways to
handled the code.

My point here is that I don't see here an easy way to take a decision
based on a web page that has a set of links.

It's the same than pretend to say that GNOME or KDE are the most used
desktop over the world... It's not easy to say which one is the most
used being 100% impartial, at least for me.


> 
> 	* 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.


Yes, Arch has also documentation but I agree with you that Subversion
has a really good book at the moment.

> 
> 	* 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.

That's also true, but only a small part of the things we should check
when we take a decision based on what's better for the future
development of the project.

> 
> 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.

Arch has also, at least, one company that I'm aware of, I think there
are more, but I'm not sure.

> 
> 	* Subversion has a full time staff of developers working around
> 	  the clock to bug fix subversion and maintain regression test
> 	  cases.

Arch has also developers working on it at full time.


> 
> 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" 

Good to know it.

> 
> 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.


I don't know at the moment which solution is the best for GNOME,
personally, I prefer Arch using Bazaar and I was a really happy
Subversion user before meeting Arch...

Miguel, the point behind this mail is NOT to say "Arch is better than
Subversion" but just try to show you that Subversion is not better than
Arch, at least with the arguments you used.

Arch has good and bad things like Subversion and I suppose Monotone has.

Perhaps a mixed model like Debian does (http://svn.debian.org
http://cvs.debian.org http://arch.debian.org) is the best solution, let
the module maintainer choose which system they want to use. If we need
all them inside the same kind of repository, the read only bridges
exists (there are already some GNOME modules using arch with a readonly
mirror inside the CVS server...)

Cheers.

> _______________________________________________
> gnome-hackers mailing list
> gnome-hackers gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-hackers

-- 
Carlos Perelló Marín
Ubuntu Hoary (PowerPC)  => http://www.ubuntulinux.org
Linux Registered User #121232
mailto:carlos pemas net || mailto:carlos gnome org
http://carlos.pemas.net
Valencia - Spain

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]