Skip to main content

Welcome to FOSSLC

FOSSLC is a non-profit corporation dedicated to education, community, and business development involving open source technologies. Read more about FOSSLC

SC2010 Registration

Register for Open Source Technology showcase - SC2010 in Ottawa, Ontario  on Eventbrite

What I have learned about creating an open source community (so far)

The comment you are replying to does not exist.
Posted in
Printer-friendly version

Like many of you who will take the time to read this, I have spent the last decade or so using great software from open source projects. I chuckle when I think of the weekends I lost in the early days fighting to get my XF86Config file tweaked just so, get my new network card working with bleeding edge code, or squeeze out that last drop of performance from my creaky old computer. Along the way I found I was drawn to learn from experiences building and nurturing community. I enjoyed writings and talks from people like Linus Torvalds, Mike Milinkovich, and many others since. I have learned a lot from them and developed a very healthy respect for what they do. They are the masters who make a complicated job of community/ecosystem building look easy. I wanted to share some lessons learned thus far from my own modest efforts, or at the very least, a few thoughts I consider important stated in my own words.

In recent years, I've been even more directly involved with various communities, and in a few cases taking a more prominent role in developing them.

  • It has been a pleasure to be involved and see OSGeo grow and develop.
  • I've had a direct role in working to establish and grow an open source community at Ingres - especially around geospatial technology.
  • I've been involved with the UCOSP program for two terms so far - it's a great program getting undergraduate students into open source projects to learn important skills they'll need in their careers.
  • We just crossed two years here at FOSSLC, and recently got our Freeseer project that records and plays back video of great open source talks off the ground.

There are so many ways to participate positively in a community such as using code, contributing bug fixes, improve documentation, providing feature or enhancement suggestions, promoting the software (aka.evangelizing), helping maintain infrastructure, giving money, and so others I haven't listed.  These are all essential to a community but the fact there are so many abandoned projects, and many had these items,  tells me there's more needed to make a project go. Obviously, but what is it?

Clearly, it isn't enough to dump your code on a web site. It isn't enough to choose an open source license and say you're open source. Nobody cares about your stupid project.

Beyond the things I'd read elsewhere, a few things I've learned the hard way:

  • It is essential is that you find a way to bring people with common interest based around your project together. They won't come to you at first because you're too small to notice or take seriously... you have to go out and find them. This takes effort and time. It also takes thought of who these people are, what they want, and where they might be hanging out. Ask yourself why they should care. If you can't answer this, then don't waste your time and theirs.
  • Worry about substance, and then style rather than the other way around. Obviously you'll need good software or whatever it is you're doing, In addition, good online content, good videos, and good talks in public help. Try and make sure your documentation doesn't suck. Don't be too proud to talk to people who are already doing this, ask their advice, and see how you might work together.
  • OK, so you busted your hump and now you've got some people sniffing around. Now you need to find a way for people to act in their self interest yet bring value back to the project. This includes people who want to hack code, people who want a useful whatever it is, people who want to make lots of money selling/using it/building upon it, people who want to research the mathematical or human factors surrounding it, people who see it as a political statement, and more.
  • Don't forget to have fun. If it isn't fun, people don't usually do it for long.
  • Treat people with respect. If you've been on some of the mailing lists out there that can be downright hostile, you'll likely be sceptical whether this is a crucial prerequisite to an open source project. But it certainly helps a lot.
  • Have patience and persistence. It's easy to look at the famous examples of communities that exploded into existence, thrived, the developers struck it very rich, etc. and get a sense that's the way it works. For every one of these, there are dozens or thousands that struggled away quietly for much longer. So enjoy yourself today... be satisfied if it never gets any bigger or better than this. If you're having fun, keep doing it.

Of course I contribute this while the work is still in progress. We haven't made it to the bigtime yet by any means but we are *still* having fun, so we'll keep going.

Very Useful information ,

Very Useful information , this is both
good reading for, have quite a few good key points, and I learn some
new stuff from it too, thanks for sharing your information.
regards