Running An Open Source Project

Producing Open Source Software Cover I just finished reading the book "Producing Open Source Software - How to Run a Successful Free Software Project" by Karl Fogel (pdf available). CollabNet has employed Karl Fogel for the past five years to work on Subversion. Prior to that he has been involved with GNU Emacs and CVS development.

If you fall in one of the following categories, I highly recommend taking the time to read this book. Especially if you fall in one of the first two.

  • Planning to start an open source project
  • Currently running an open source project
  • Involved with an open source project
  • Managing a team of distributed developers

Much of this book is really a primer on how to work with and manage people. After all, open source development is really built on relationships more than even technical know-how. Manage the relationships well, and people will happily contribute. Do a poor job, and you may find interest lacking (though interest may lack for many other reasons as well).

But Fogel also delves into how to structure a project and administer the day-to-day activities that are required to run a project smoothly. Some of the topics he covers include:

  • How to choose a license
  • Who to give commit access to
  • Writing Developer Guidelines
  • Hosting and choosing version control
  • Managing communications
  • Assigning roles
  • Voting

And the list goes on.

It is my hope to start applying some of the principles he writes to open source projects I am involved with such as Subtext. Though Fogel’s experience and advice seems targetted to very large open source projects, I think much of it is useful for small projects as well. Besides, if you don’t prepare for growth, you will never see growth. And if you do grow big suddenly, it is better to be prepared than caught off-guard. But having said that, it is also important to adjust the level of formality in processes and structure to agree with the size of the project. So I won’t let myself get carried away.

Instead, I hope to start a short blog series to summarize and perhaps expand on certain principles gleaned from the book.

What others have said

Requesting Gravatar... Joe Brinkman Jan 16, 2006 4:38 AM
# re: Running An Open Source Project
Looks like it is time to start reading. While not yet the size of JBOSS or Eclipse, it is never to soon to learn the lessons of those who have gone before you. Heck, even if you are running a commercial development project, learning how to manage and structure development teams is critical to any software endeavor.
Requesting Gravatar... Christopher Jan 18, 2006 7:22 AM
# Re: Running An Open Source Project
Good read, thanks.

So, you *did* keep the metaweblog functionality in subtext, right? :)
Requesting Gravatar... Haacked Jan 18, 2006 7:45 AM
# re: Running An Open Source Project
Thanks Christopher! And of course we kept the MetaWeblog functionality in Subtext.

In fact, I think we fixed all the bugs that with that API that were inherited from .TEXT. At least I'm pretty sure we did since it all works for me.

Phil
Requesting Gravatar... Christopher Jan 23, 2006 4:07 PM
# re: Running An Open Source Project
Hey! I use the "works for me" acceptance test method too! :)
Requesting Gravatar... Alex Mar 15, 2007 8:12 AM
# re: Running An Open Source Project
Hi,

Would you blog on my open source project http://AdSenseASP.NET/ ?
--
Alex
Requesting Gravatar... you've been HAACKED Sep 20, 2007 1:33 AM
# Urgent: Subtext Security Patch
Urgent: Subtext Security Patch
Requesting Gravatar... Scott Dorman Sep 21, 2007 12:24 PM
# Subtext Security Patch
Subtext Security Patch
Requesting Gravatar... IronBlood Oct 13, 2010 12:03 AM
# re: Running An Open Source Project
if you don’t prepare for growth, you will never see growth.


That's true
Thank you for your advise!

What do you have to say?

(will show your gravatar)
Please add 3 and 5 and type the answer here: