Sunday, July 13, 2008

Open Source Project Management

The advantages of open source are many. For the project maintainer it’s easier to find contributors. For users it’s to know the project will be around even if the founders are gone. But managing open source projects is no easy feat. Since most open source projects have distributed development teams, asynchronous collaboration is required. It takes the project leadership countless hours to research, deploy, and maintain the tools used for collaboration. Typically these would be forums, code repositories, mailing lists, wikis, issue trackers, blogs, and more. For most open source project hosting there are three approaches.

Do-It-Yourself (DIY)

All tools and services are hosted on your own servers.

For:
  • It is a good way to demonstrate your project’s integration with 3rd party products or to use exotic and cutting edge community tools which are not yet widely available.
  • For commercial open source software having DIY project hosting can inspire confidence for their users since only a stable and reliable company can maintain all these tools.
Against:
  • Not only is it time consuming to manage all these vital tools, any security vulnerability becomes an attack vector on your project. Anyone who has set up a public blog or forum knows how much time can be spent fighting spammers.
  • Hosting your own blog and wiki really won’t make your product any better and in fact takes time away from actual development.

All-in-one Project Hosting

Typical services are SourceForge, Google Code, Savannah, or Gna!.

All-in-one services shield project leaders from most, if not all, of the hassle of maintaining collaboration tools. However these services force their own views on the project management. They often believe that one size fits all which leads to poor usability and can cast a negative image on the open source project.

3rd Party Mashups

Specialized components from various providers are mixed to fulfill specific needs. Examples are GetSatisfaction, UserVoice, Flickr, Blogger

The immediate advantage of using these is that there is almost zero setup and maintenance cost. As their usage becomes more widespread, developers and users build up a familiarity with these tools, reducing barriers for collaborators to join and switch projects. The pick-and-choose advantage of DIY is combined with the outsourced maintenance of all-in-one hosted services.

One serious risk is that some of these services could go under. Still, one component will not affect the others.

Pandion’s Lightweight Infrastructure

Pandion follows the mashup strategy as much as currently possible. These are some of the third party services currently being used.

Website hosting
Slicehost

Screenshots
Flickr

Source Code Repository
Google Code Hosting

End User Support
GetSatisfaction

Feature Request Feedback
UserVoice

Developer Communication
Google Groups

Public Announcements
Twitter

Developer News
Blogger

File Hosting
Amazon S3

Community Analysis
Ohloh

Conclusions

There’s little if any reason to continue hosting collaboration tools in house. The all-in-one services will keep facing tougher competition from specialized offerings which offer higher quality and have momentum of their user base.

Setting up these services is trivial. Just create an account and register the project. Most of these tools are free of charge so project management costs are minimal in both time and money.

Many open source projects could be much more productive if they left the project management to third parties and focused on the code and design of their software.