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