Anyone who has searched through the massive list of projects at Sourceforge and other places will know they are full of interesting ideas that never got off the ground, or stall after a couple of releases. And it is not an outrageous statement that a group of developers with all the required technical skills does not necessarily make a successful project, especially when the target audience are not fellow developers. At the same time FOSS (Free and Open Source Software) has the ability to draw on such a diverse range of people in both background and abilities and the potential is enormous when properly harnessed and directed.

Through a link on a link I came upon the site for the book ‘Producing Open Source Software’: I looked at the style of the first few pages and the authors name and it immediately made me think Subversion. This turned out to be true as Karl is an integral part of the project team and a few other well known projects. I have been impressed with the Subversion project from the outside, and we use it for all our source control, so in my opinion he is extremely qualified to write such a book.

The subtitle ‘How to Run a Successful Free Software Project’ gives the real crux of the book. Karl gives a lot of very useful ideas and tips on how to give a project the best chance of success in areas such as:

  • Internal and external communication
  • Project management style
  • Release possibilities
  • Licensing issues

From my experience with FOSS projects, the chapter on Communications is the minimum that anyone involved in such projects should read and he states ‘…[the] ability to write clearly is perhaps the most important skill one can have in an open source environment.’ (p. 84). He goes on to discuss writing style, content and how to keep discussion as productive as possible. The subsection ‘Avoid Holy Wars’ will ring bells from too many FOSS projects.

Chapter 8 on ‘Managing Volunteers’ is another essential topic, and an area where a project can quickly fall down if the team are strictly developers without a management bent. It is easier to lose a volunteer than get them in the first place, so treating them well in task assignment, appropriate permissions and sub system control is essential. He then moves on to the always thorny issue of forks both from the viewpoint of one from your project or being the person to fork an existing project.

All up there are 181 pages over 9 chapters and appendixes with links to various ‘free software’ version control systems and issue/bug trackers, and example bug reports. The writing style is easy to read and he draws on real world examples (with an expected bias to Subversion), so you can see how the ideas fit into a real life and sizeable project. He doesn’t get dogmatic or preach, it is just a good collection of advice from someone who has plenty of experience in the area. Criticisms – maybe an extra chapter on what has made some of the better known FOSS projects the success they are could have rounded off the book, but you can’t have everything.

I recommend this book to anyone already involved or considering becoming part of a FOSS project to give this book a read. The FOSS community needs this kind of book alongside all the code that is being written. A little reading now can only help smooth the process, and give any project a greater chance of success.

The web site has versions in html, pdf, rocketbook and XML source and a link to purchase the hard copy version from the publishers O’Reilly.

Readability 4 from 5
Subject Depth 4 from 5

Title Producing Open Source Software
Author Karl Fogel
Publisher O’Reilly Media
Year 2005
Pages 302
ISBN 0596007590