Party Of One: Surviving A Hobby Open-Source Project

May 13th, 2008 | 10 Comments »

Last week’s JavaOne had a separate track on open source, and there’s been a substantial number of very interesting panels, discussions and presentations. However, i felt that these talks concentrated mostly on big, well-established and very broad open-source communities. While it is perfectly understandable, the few dozens of these high-profile communities do not reflect the specific problems of a much vaster landscape of the open-source in general. Here I’m talking about literally hundreds of thousands of projects that only have a single active developer. I call it the “party of one” type of project, and these pose a number of quite significant challenges to their “owners”, especially if it is done as a part time hobby. I had a number of such projects (where i am the only developer) over the last decade, and some of them are still quite active. This series talks about the specifics of one-man projects and how to maintain a long-term level of commitment.

First, a little bit of statistics from SourceForge:

Statistics, of course, can be used to back up pretty much any point of view, but i do believe that the numbers above are a good reflection on what happens when a developer out there has an idea. Nowadays, it is extremely easy to find a free web-based code repository and wait for the entire world to come. However, the absence of any entry-level barrier to create a project quite often results in the idea being just that – an idea. Just over half of SourceForge projects have any kind of downloadable content, and i’m sure that you saw your share of great ideas that died once their creator faced the first major implementation hurdle (or even when his level of interest in implementing the idea never matured to the actual coding).

While it is difficult to create even a first implementation, it is even more difficult to maintain the level of commitment and arrive at a stable release. As you can see, only one in every six projects were deemed to be stable by their own developers.

When all you need to create a project is an Internet connection and enough imagination to come up with a name, you have another interesting side effect. While every project has a potential to reach millions of developers, they all compete for the eyeballs and attention span of those few tens of thousands that are looking. You can have a great idea, you can even have a great implementation, but most certainly you can’t expect everybody to come. It is a big world out there, and the competition for the attention is even bigger.

It takes determination, commitment and perseverance to be willing to continue working on a project when nobody but you seems to be interested in it. It takes discipline and clear prioritization to understand that while coding is fun, every project has less pleasant (to us as the developers) tasks, such as bug fixing, testing, documenting and promoting. It doesn’t matter if your project is big or small. However, if you’re the only one working on your project (and here is specifically don’t use “the only developer”), you don’t have anybody else to do the “boring” tasks. And without understanding what these tasks are, and being ready to step up and make sure that all these secondary tasks get done – you might as well not begin in the first place.

 The next entries will talk about the specific project tasks.

  • Part 2 talks about the development
  • Part 3 talks about the maintenance
  • Part 4 talks about the promotion
  • Part 5 summarizes the discussion


The images are available under Creative Commons Attribution NonCommercial license from the following flickr.com streams:


Related posts:

  1. IntelliJ and a very interesting interpretation of open-source I’m reading the very thorough overview of the “IDE shootout” that took place a few...
  2. Why i do open source The explosion of open-source phenomenon in the last decade has spanned hundreds of thousands of...
  3. Party Of One: Conclusion This is the final part of the series on one-man open source projects. In the...
  4. Party Of One: Develop As mentioned in the introduction entry, every one-man hobby open source project has three main...


10 Comments on “Party Of One: Surviving A Hobby Open-Source Project”

  1. 1 Alex Ruiz said at 8:43 pm on May 14th, 2008:

    Thanks Kirill for writing about this. I’m looking forward for the next entries :)

    Cheers,
    -Alex.

  2. 2 Arnd Klaver said at 9:20 am on May 20th, 2008:

    Well, I’ll provide my remarks about all parts here.

    IMHO you to much focus on the released/mature/1.0 status of projects. You don’t happen to be a commercial developer by day, don’t you? It is a running gag in open source to release 0.x versions ad infinitum. You put a 1.x on the software when you think it is “perfect” and you no longer intend to work on it. Many of what you see labeled as 0.x would have been called v3.5 or higher by commercial companies for, well for commercial reasons. A 1.0 is not a sign of quality.

    Second, you assume all open source developers want to run world-famous projects, making a name for themselves, monetizing on the name, and getting all the girls :-) Sure, many do, but many don’t. It is about sharing something, not about conquering the world.

    Further, you assume one-man open source projects failed to attract and recruit more developers, that’s why they are still one-man projects. How do you know? I, for example, only do one-man projects And that is by choice. It spares me all the overhead of having to coordinate activities and discuss with people how to align brackets. Instead I can code, and code what I want, how I want.

    I do projects as a recreational activity, to get away from the corporate, committee driven, meeting invested way of doing things in my day job. Who are you to tell me I must have a release schedule for my recreational activities?

    The choice of working alone limits the size of my project and what I can achieve. But who cares? I am not passionate about my projects. Each fills a need I have. And that need might sometimes be to just satisfy my curiosity. You are you to tell me that one needs to be passionate to do an open source project? And who are you to tell me how I have to set my priorities in the project?

    Doing marketing? But that is not fun. Sure, they will not come. But here we are back to world-domination. If you don’t want world-domination, why do you care if you have six downloads (my least popular project) or 8000 downloads (my most “popular” project) per year?

  3. 3 Peter said at 2:15 pm on May 20th, 2008:

    Great work! Really!

    @Arnd: Who are you to tell me I must have a release schedule for my recreational activities?

    I don’t think he wants to tell it to you. He wants to tell it people, which are sad ‘participating’ in a one man projects.

  4. 4 Alex Ruiz said at 9:21 am on May 23rd, 2008:

    @Arnd:

    Good for you if you are happy just coding your own project. The downside of not promoting your project is that *nobody* will know about it, and you will get no feedback. Feedback is key. It helps you (as developer) and your project to grow up and improve.

    -Alex

  5. 5 David Walend's Blog said at 5:56 pm on July 23rd, 2008:

    Good-bye, Alpha

    I just released SomnifugiJMS v22. Not alpha-0-22. After reading some blogs and reflectin, SomnifugiJMS is finally done with alpha releases.

  6. 6 Stephan said at 3:06 am on August 13th, 2008:

    This reminds me of one or two of my friends who have an idea for a web site, reserve a suitable URL RIGHT AWAY, because by some magic, someone else could have the exact same idea at exactly the same time, and then never do anything else with it.

  7. 7 Jack said at 4:22 am on August 13th, 2008:

    excellent post… any project that doesn’t develop feedback sooner or later is bound to die.

  8. 8 MIchael said at 6:19 am on August 13th, 2008:

    I think that this is not a problem.

    Its okay if most ideas don’t pan out if 15% do, we get a lot of new things

  9. 9 PROGRAMMER HAN SOLO said at 8:22 am on August 13th, 2008:

    IF I SURVIVED THE BATTLE OF YAVIN THEN I CAN SURVIVE SOME OPEN SOURCE PROJECTS!! LooL361

  10. 10 A. Gamal AbdulAzem said at 8:20 pm on November 8th, 2008:

    Ohh ..
    Hobby Open-Source Project .. I think I’m an ideal example for these words .

    Except that I’m a bit optimistic, and I’m going to make it a professional open-source project, thanks to your article, BTW from where do you get your statistics ?!

    BTW, I like your site Kirill :)

    Salam :)