Aspects of Developing With, and Using, Open Source Software


11. Building an open source project

So, it's been decided that a project should become open source. How do you build, look after and motivate your developer community?

Your first problem is to find some open source developers to work with you. There are only a limited number of very good open source programmers, and most of them are already committed to high profile projects. There are currently over 100,000 projects on SourceForge alone (SourceForge is a web site that provides open source projects with collaboration facilities).

OK - so you are number 100,001. You are coming very late to the table, so how is anyone going to find you? My advice - give yourself some decent bargaining power. Take working code to the table. Make sure it compiles properly and implements a sub-set of the final features. Mozilla (the open source Netscape spin-off) arrived in a form where it wouldn't compile and no one was very impressed, to say the least. Had it not been thrown into the pot at a crucial time for the open source movement, and had it not been so subject to hype, it would probably have sunk without trace.

Offer a decent 'ownership' stake in the project. Don't try and retain tight control of everything. Collective work is hard, especially with something as ego ridden as programming. Open source programmers will only work with you (note: -with- you, not -for- you) if they feel the project is jointly 'owned' by those who work on it. This was another mistake that Mozilla made. They tried to retain 'control' of the code and the decisions over what would be integrated.

In fairness to the Mozilla people, this was the first time anyone had tried to take a large, high profile closed software project into the open source domain. The wonder is not that they made mistakes, but that they didn't make far more, and far worse mistakes.

Finally, think about the market for your open source project. The first, and best, place to collect developers to work with you is from the user community. This is where having a functional program scores. People start using your program because it meets a need. Pretty soon, they start offering suggestions, bug reports, bug fixes, help - even documentation. Use those first offers wisely; they are the core of your new open source project.


>> Next page >>


Back to the Phlogiston Blue top page


If you have any questions or comments about the articles on my web site, click here to send me email.