Producing Open Source Software - review
by Mark Norman on 3 January 2006 , last updated
- Author: Karl Fogel
- Publisher: O’Reilly
- Year: 2005
- ISBN: 0-596-00759-0
Karl Fogel has managed something unusual: a technically-oriented book that flows and is hugely readable. Fogel has an engaging style that allows you to take in the book as if it were a novel. This experienced developer declares that the ability to write clearly may matter more in the long run than programming talent, this may surprise many people new to producing open source. Fogel certainly follows his own advice superbly. This book will engage the seasoned coder and new programmer alike. Managers with less technical outlooks should also find the book a breeze.
Most free software projects fail
Throughout Producing Open Source Software, Fogel hits the reader with the stark reality of software development. He then follows up with easy and clear pointers, as well as some detailed instructions, as to how to avoid such pitfalls. The book begins with a concise history of free and open source software. This, in itself, will be useful to a great number of people who, like me, may be well aware of most of the concepts, but were not there at the time and will have gaps in their knowledge. It is great to be reading and think - Oh, that’s what GNU stands for - when you would usually be too embarrassed to ask. It’s also good to get a feel for where the soft (and hard) politics of the free and open source software community have come from.
The book contains technical how-to sections as well as solid guidance chapters from the detailed Technical Infrastructure chapter to Managing Volunteers and Licenses, Copyrights and Patents. Fogel’s style varies from almost recipe-like to authoritative description, but such variations are always appropriate to the subject matter under discussion. No doubt someone with a background in fewer open source projects would struggle to be so unequivocal and complete. Fogel’s long experience of projects from Emacs to CVS and Subversion really shows. Refreshingly, the style is not dogmatic as Fogel is quick to recognize where projects have gone wrong and where they regularly under-perform.
Something that remains to be seen is how useful the book will be to readers who skim and to those who love bullets and checklists. Many of the how-to and practical guidance chapters could easily end in such checklists and some authors and publishers would probably have taken this option. However, the text is so readable that hopefully most readers will benefit from the detail. The book is specifically about free and open source development projects, although commercial software producers may benefit from the read, especially in the sections on packaging, releasing, and bug tracking. Free and open source projects do have many different challenges to closed source developments and most of these issues are tackled by Fogel.
This is a highly readable and useful book with some great insights. Ironically, a potential weakness of the volume is in its contemporary nature. Some of the technical parts are quite specific and represent state of the art thinking and technologies, for example, the section on version control systems does not cover GIT a “new kid on the block” with respect to revision control systems. Fortunately that weakness has probably been countered by the fact that Fogel and O’Reilly have published the work under a Creative Commons licence (see http://producingoss.com/html-chunk/copyright.html ) which, hopefully, means that contributors and the original author have every opportunity to keep it bang up to date.
OSS Watch has a range of briefing notes on similar topics for software developers.
- Expertly written, highly readable, real insights, packed with information, likely to have an on-line presence for updates.
- Some readers may prefer checklists in places. Some experienced developers may skip sections they think they already know… and they shouldn’t!
- O’Reilly (publisher) [http://oreilly.com/catalog/9780596007591/]
- Online and downloadable version of Producing Open Source Software [http://producingoss.com/]
Related information from OSS Watch: