I have, over the last 15 years, been involved, to one degree or another, with several successful Open Source projects you’ve heard of – Perl, PHP, Apache HTTP Server. I’ve also been involved in several projects you haven’t heard of, but not all of them because they weren’t successful. Habari, Reefknot, and IAMB are three of these.
Of course, I’ve also been involved in several Open Source projects that you’ll never hear of, because they were a big flop.
There’s just so many ways to define “success”, when it comes to an Open Source software project. I suppose there is in any category. Success might mean that it achieves its goals. Or it might mean that it has a large community of users, or of developers. It might mean that it active in terms of commits, features, or bug reports. In some cases, it might mean that it is financially profitable to some or all of the people involved, either directly (support, sales, customization) or because the participants end up getting jobs as a result of their participation.
The Reefknot project, abandoned many years ago, was successful, in the sense that it did some interesting work, and then knew when to quit. It spawned another project – The Perl DateTime project, which is one of the most important places where date, time, and calendaring modules are developed in the Perl world.
Habari is a successful project in that it runs this website, which does everything I want it to. And also because it introduced me to various people I consider friends. And because it was a great lab for learning about how new Open Source communities work. And, of course, because it is still an active development community who are doing interesting things in the blogging space.
I mention all of this because I’ve been pondering what it means to help an Open Source community to be successful. What it means will necessarily vary depending on the goals of the community in question, and the personalities involved.