![]() |
|
The popularity of open-source development has meant that a lot of freely available tools have come into mainstream use. CVS is one such tool that has been competing with commercial source-code control products such as ClearCase (which is insanely expensive and requires one full-time person to manage it but has been good for at least three multinational projects I know of) and Visual Source Safe (which carries with it all the good and bad qualities of being a Microsoft product).
Karl Fogel's Open Source Development With CVS is full of advice from someone who has been at the coalface and wants to share his experiences. Fogel talks about forks in projects, developer disagreements and other things that come from exposure to real world challenges. Fogel is not entirely impartial about CVS; he was a cofounder of a company established to support it.
Open Source Development With CVS is not only a tutorial on setting up and maintaining CVS, but also waxes philosophical about software development and the open-source movement. Fogel often discusses not only the how but the why, and often strays from the nuts-and-bolts of source-code control to discuss more abstract concepts. For example, in a section entitled "Reverting is not a substitute for communication," he stresses the importance of getting along with the rest of the developers in a team environment. In another section called "Evolution-Centered Design," Fogel makes an analogy between software development and biological evolution.
This is in some ways two books -- one on CVS and another on software engineering practices in the open-source world. The first chapter talks about the motivation, the history of open-source development and the reason why CVS and open source work well together. The second chapter gives an introduction to how to use CVS. The third chapter is a backgrounder in the philosophy of open-source development. The fourth chapter flips back to CVS with a discussion of administration. Then the book reverts back to the open-source thread with a discussion of designing for distributed development. Chapter 6 is devoted to advanced CVS. Chapter 7 outlines building, testing and releasing. Chapter 8 covers dealing with problems with the topic tips and troubleshooting. Chapter 9, "Complete CVS reference," is a bit of a waste, as it just duplicates the online help. Chapter 10 talks about other programs that are known to interact successfully with CVS. Appendix A talks about who currently owns CVS. Appendix B discusses the legalese of the GNU Public license. The book is reasonably well indexed and its design and production quality is about average.
If you find yourself thrust into environment of "gnats database" bug tracking, CVS source-code control and GCC, Open Source Development With CVS is probably of use primarily for its entertainment value and secondly as reference on how to manage your team's branches, merges and problems. If you intensely believe in Linux and think that you will change the world with some open source project, then this book will read like a bible.
-- Regan Russell
|
Explanation of ERCB rating scale:
|