||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: CVS, version control, open source, free software
Title: Open Source Development with CVS (3e)
Authors: Moshe Bar and Karl Fogel
Publisher: Paraglyph Press
Verdict: Essential for anybody installing, configuring or administering CVS
This is a book of many parts: introduction and tutorial; rumination on the nature of open source software development; reference manual and quick guide. It may sound bitty and uneven, but the authors, (both leading members of the CVS development team), do a good job of putting it all together so that it works well as a single volume. The fact that this is the third edition of the book suggests that other people think the same way.The opening chapter presents these different strands and shows clearly how they are related. It sets the scene, exploring something of the history of Concurrent Versions System (CVS) and also explaining how it's one of the core pieces of infrastructure that allows disparate developers to work together effectively to create open source programs great and small. It's a truism but worth saying nevertheless, without effect version control open source software would not have made the progress that it has. CVS is both a product and a driver of that process. The next few chapters delve deeper into CVS, starting at the most introductory level and moving on to more advanced topics, including a chapter on CVS Repository admin. This is followed by a tips and troubleshooting chapter before switching focus again to look at the development process. The technical content is always clear, and the good humour of the authors clearly shines through. The discussion of the open source movement and processes is clearly based on solid experience. Discussion of the maintainer's role is full of sage advice, mostly to do with the politics of group work rather than purely technical issues. This section of the book should be required reading for anybody about to venture forth with a new project or thinking about contributing to an existing one. There is also chapter on an evolutionary approach to software development, although interesting it felt the least convincing part of the book. There are shelf-loads of books devoted to methodologies, and for those of a religious persuasion there's plenty to argue about, but here the book works best when focused on the practical. Finally, the book moves back to the technology again with a survey of third-party tools that work with CVS; a CVS complete reference; and a comparison with BitKeeper. Appendices include the GNU GPL licence and the Free Documentation licence and a concluding bibliography. In conclusion this is an interesting and useful read, even if you never have to delve into the innards of the CVS repository. On the other hand if you need to install, configure and administer the product this is surely an essential read.