52 Books a Year: #40 - Producing Open Source Software
Posted by Brian
Producing Open Source Software aims to build some sort of structure out of the chaos that can arise from a growing open source project. Karl Fogel uses his open source experience, mostly with Subversion, to provide guidance in handling the management, communication, infrastructure, social, technical, and licensing issues that arise in any project.
First, what this book is not. If you are looking for a detailed blueprint on how to become a major open source project, this is not it. I am skeptical that such a blueprint could even exist. Fogel does not go into detail on the strengths and weaknesses of any particular tools and he doesn’t really talk about any projects beyond those he has first-hand experience with. The subtitle here is “How to Run a Successful Free Software Project”, not how to create one. This book primarily focuses on the actual day-to-day running of a project, with some additional discussion of handling start-up issues.
Fogel makes clear that there is no silver bullet for every project and there will be no stabilization point when running an active project. There will never be a point where everything is working perfectly. As the project grows your needs will change. What used to work before for a group of five active developers will not work well for a group of twenty and you must be willing to change how things work in order to accommodate this. His other major emphasis is the need to be public in almost everything. Do not have private conversations about the direction of the project or technical issues. All discussions should take place in a public forum so that the community forming around your project feels like a part of it. You can not hand down orders from on high.
In Producing Open Source Software Fogel has provided a nice set of guidelines for how to run your project. If you feel your project is growing beyond your initial group of developers and is actually being put into use, then I would highly recommend this book to help provide some structure as the project grows.
In keeping with the open source spirit you can read the whole book on the author’s website.