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

From: Matthew D. Langston (langston@SLAC.stanford.edu)
Date: Wed Aug 11 1999 - 19:50:10 MEST


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



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