Re: Will the ROOT CVS Repository be a "real" CVS Repository?

From: Fons Rademakers (rdm@pcsalo.cern.ch)
Date: Wed Aug 11 1999 - 21:40:35 MEST


Hi Matt,

   the CVS issue starts becoming slightly "religious" to say the least.
Currently Rene, Valery and I use CMZ (an open source code management system)
that we know very well and gives us what we need (I am not saying it
is perfect but it does the job). Us using CMZ has not prevented anybody
motivated to participate in the ROOT development. If you want
to contribute make your changes and send us your diffs/patches. We'll
review the code and if ok we'll merge it in the main line.
Many people have done this and this is what constitutes the bazaar model.
The bazaar model has never been throttled by the choice of code management 
system. Best example is the linux kernel itself. No CVS, no CMZ, nothing.
Further, using CMZ or CVS is irrelevant since the repostitory 
will be read only anyway. All proposed patches will only be included by the
core developers (like in linux). So what people in the linux world do is, 
get the linux source tar. Put it in their local CVS or XYZ and happily 
develop and once satisfied they mail the diffs to Linus (Linus does not
use CVS because "basically it sucks").

So coming back to the CVS repository I am putting online. It will contain
all sources as distributed in the ROOT source tar. Whenever we make a release
we'll update the CVS repository (nothing would change if we would use CVS
directly, because a release is equivalent to a checkin of a few days worth
of work). Normally Rene and I sit together when we make a merge of our two
CMZ files because at the same time we review each others changes, so even
we don't do blind checkins. The advantages for the remote CVS user is that 
now instead of having to get a few MB tar file he can just do a cvs update 
to get the few changed files. This surely is more efficient than having to 
ftp the full source tarball all the time.

For the rest I am looking at what is coming of BitKeeper 
(http://www.bitkeeper.com) since that looks much more promising than CVS
and many projects plan to move to it (including linux).

Concerning autoconf/automake. I would like to adopt autoconf, but the automake
scripts are just out of the question (dog slow, tons of ugly scripts 
obfuscating the source directory, etc.). Autoconf on the other hand seems
to be quite useful.

I appreciate your continued input on the subject and especially the binary
rpm's are great.


Cheers, Fons.


PS: what is the status your rootified CLHEP? The example you showed me looked
    extremely nice and clean. 


> Will the ROOT CVS Repository be a "real" CVS Repository in which the
> history files of ROOT's source code are maintained by CVS?  Or, will it
> simply be a collection of source code that is periodically updated from
> a CMZ file?
> 
> I know that Fons is hard at work on implementing a "CVS Repository" for
> ROOT, but there hasn't been any discussion about what this actually
> means on roottalk.  This surprises me, because the purpose of a CVS
> Repository could only be for the benefit of the ROOT community at large.
> Otherwise, there would be no need for the ROOT Team to convert from CMZ.
> Discussing this issue is the purpose of this e-mail.
> 
> It has always been my understanding that converting ROOT to CVS was a
> major step away from the Cathedral development model towards the Bazaar
> development model.  The ROOT project has always stated that "The
> Cathedral and the Bazaar", by Eric S. Raymond, outlines the development
> model that they strive to achieve.  CVS, if actually used as intended,
> would finally allow ROOT to more fully tap the distributed talent among
> its users to direct its development.
> 
> I can see two possible ways that ROOT could move to CVS, each with
> markedly different consequences to the ROOT community:
> 
>   1) CVS is used as a Concurrent Version System to maintain the history
>      files of the ROOT source code among a distributed group of
>      developers.
> 
>      In this model, multiple versions of the ROOT source code are
>      available and easily maintained by a distributed network of
>      developers.  Fine grained history information of ROOT development
>      is immediately available to users and developers alike on the level
>      of each commit.
> 
>      This model provides for the full benefit of user-to-developer and
>      developer-to-developer communication:
> 
>      a) Minor bugs can be instantly fixed.
> 
>      b) Source code patches are utterly trivial to create and share.
> 
>      c) New, experimental features, and ports to new platforms, can be
>         tested by users interested and willing to live on an
>         experimental branch.
> 
>      d) Multiple versions of ROOT can be maintained, with bug fixes to
>         one branch easily moved among branches when appropriate.  Thus,
>         previous versions of ROOT are still maintained for users who
>         must stay with a particular version of ROOT.
> 
>   2) CMZ is still used to maintain revisions of the ROOT source code.
> 
>      In this model, the ROOT CVS Repository only serves as a directory
>      which is occasionally updated from the CMZ file.  In this case, the
>      benefits of CVS are primarily ignored, and the only real benefit of
>      CVS is simply as a more efficient way to download snapshots of the
>      ROOT source tarball.
> 
> If the model is case 2, then ROOT would continue to be developed by only
> a handful of developers who know CMZ.  The benefits of a more open
> development model, whereby talent from the ROOT community is utilized,
> is severely limited.  It is my hope that ROOT's move to CVS is case 1,
> which I've argued is in the best interest of ROOT, its developers and
> its users.
> 
> --
> Matthew D. Langston
> SLD, Stanford Linear Accelerator Center
> langston@SLAC.Stanford.EDU
> 


-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7677910



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:38 MET