Amazon.com Amazon.com Review (ISBN 158880173X, Paperback)
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
(retrieved from Amazon Thu, 14 Feb 2013 13:43:41 -0500)
With plenty of step-by-step instructions as well as examples, this book will get you out into the world of open source development and CVS in no time flat. In addition are several external resources for further reading.
This book is great for any developer considering using CVS to do source control (and if you're a developer, you should be using SOME form of source control). While I personally recommend doing source control with Subversion, some like CVS; and if you think you might, this will be the book for you. (