Running An Open Source Project

code, open source 0 comments suggest edit

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.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



8 responses

  1. Avatar for Joe Brinkman
    Joe Brinkman January 16th, 2006

    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.

  2. Avatar for Christopher
    Christopher January 18th, 2006

    Good read, thanks.

    So, you *did* keep the metaweblog functionality in subtext, right? :)

  3. Avatar for Haacked
    Haacked January 18th, 2006

    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.


  4. Avatar for Christopher
    Christopher January 23rd, 2006

    Hey! I use the "works for me" acceptance test method too! :)

  5. Avatar for Alex
    Alex March 15th, 2007

    Would you blog on my open source project http://AdSenseASP.NET/ ?

  6. Avatar for you've been HAACKED
    you've been HAACKED September 19th, 2007

    Urgent: Subtext Security Patch

  7. Avatar for Scott Dorman
    Scott Dorman September 21st, 2007

    Subtext Security Patch

  8. Avatar for IronBlood
    IronBlood October 12th, 2010
    if you don’t prepare for growth, you will never see growth.

    That's true
    Thank you for your advise!