Producing Open Source Software
Having spent my professional career in closed-source environments, I’m interested in finding out more about what makes open source communities tick. In doing a little research, I ran across a great web book called Producing Open Source Software. The author, a longtime contributor to Subversion, does a fantastic job of introducing how open source communities work and how to launch your own open source project. In particular, he points to the need to fork the project as the key indicator of if software is truly free, even though it is a weapon of last resort for the community. This makes some sense as the freedom to turn the software into your own special purpose version is ultimately something Stahlman would advocate strongly for. The biggest parts of the book that resonated with me started with the premise that OSS begins and ends with the “need to scratch some itch.” There are all sorts of motivators for the “itch,” but ultimately all open source project management has to do with keeping that need fulfilled. From “overcommunicating” and reaching community consensus rather than dictatorial authority to providing a clear path to “level up” and become a full contributor, an open source project has to continually be gracious to those members putting in their own time to “scratch that itch.”
I’m curious if anyone reading this blog has any thoughts after skimming the book.
There’s been some good conversation on my Buzz channel about this. A co-worker, Adrienne, pointed me to a good article revising the point-of-view about forking when revision control packages like Git and Mercurial exist. Here’s an article that references these types of differences and why forking may not be such a big deal anymore.