Open Source Development With CVS

Karl Fogel & Moshe Bar

Language: English

Publisher: Paraglyph Press

Published: Jul 2, 2002

Description:

The popular first edition was one of the first books available on development and implementation of open source software using CVS. The second edition is enhanced with more value-added material covering strategies, third-party tools, scalability, client access limits, and server administration for CVS. In order to practice what we preach, some chapters of this book have been made available online under GNU General Public License.

Amazon.com Review

The need for a modern source-code management strategy in the distributed open-source community is paramount. The benevolent dictatorship model of open-source maintainers is only quasi-stable, but it is far better than the other extreme: the chaos of democratic code development.

The best available compromise is the concurrent versioning system (CVS), which introduces proctored code merging into source code management. CVS is ideally suited for worldwide open-source development, and the world is ready for monographs that address the management issues that Per Cederqvist explicitly avoided in his fine 164-page postscript manual distributed with the CVS tar-ball. What is the role of a maintainer/manager in establishing test protocols for code merges? What minimal functional level of developer communications is necessary for merges to remain stable? Is a maintainer-less release possible?

These questions go largely unanswered in Karl Fogel's new Open Source Development with CVS. Fogel's 300-page book consists of chapters alternating between CVS basics and common code maintenance issues. He includes a few anecdotes from open-source lore and lots of nonspecific commonsense guidelines on team software development.

Fogel is at his best when he is engaging us in thinking about what should and should not be under CVS control. He points out that complex relationships exist between developing code and its dependencies on intimately related applications, such as build tools themselves (gcc, autoconf) or partner applications (e.g., the server's client or the client's server). His brief discussion of strategies is too short to be satisfying.

Frustratingly, this book is chock-full of postmodern self-indulgences, such as his boasting reverence for technological ignorance. The discipline needed by good maintainers is missing here; Fogel's informal prose is often grating, and his copious parenthetical remarks are distracting or bullying (they sure are); one wonders where his editor was. Ultimately, his management arguments boil down to an endorsement for the benevolent dictatorship model--a safe conclusion, but one that seems not to use CVS's merging capability for all it's worth. To the question of how to run a project, he responds, "Well, we're all still trying to figure that out, actually." True, and he isn't there yet, but at least he has the questions right. --Peter Leopold

About the Author

In 1995, Karl Fogel co-founded Cyclic Software, a company offering commercial CVS support. In 1999 he added support for CVS anonymous read-only repository access, inaugurating a new standard for access to development sources in open source projects. That same year, he wrote "Open Source Development With CVS" (published by Coriolis), now in its third edition via Paraglyph Press.

Since early 2000, he has worked for CollabNet, Inc, managing the creation and development of Subversion, a version control system written from scratch by CollabNet and a team of open source volunteers, and meant to replace CVS as the de facto standard among open source projects. He also participates in various other open source projects as a module maintainer, patch contributor, and documentation writer.