I quantify 'modest success' with the following yardsticks:
Google Search
Both projects are the top ranks for intuitive search terms (OK, so their name helps):
'itunes export' and 'java email server'
I think the JES rank here is especially impressive considering the second result is the Apache project JAMES, which is also an open source Java email server.
Google PageRank
iTunes Export: 4/10
Java Email Server: 6/10
OK, so we're not talking about the slashdot.org homepage here (9/10 BTW), but still a pretty impressive showing.
Downloads
Java Email Server: ~1000 downloads/month
iTunes Export: 4,500 downloads/august
You can tell from these links that JES is very stable while iTunesExport is still ramping up and has really taken off the last few months, in part thanks to a high profile post on LifeHacker.
Contributions
At this point both projects are primarily driven by contributions from the community. In the case of iTunes Export, Jeff Donnici has stepped up and taken care of many new features and updates. Java Email Server has contributions from quite a few people, including a recent contribution from Matthew Lohbihler of Serotonin Software who submitted a contribution I still need to release.
Time
The point of this post isn't to talk about the stats for these applications, but instead talk about why I think they have been (modestly) successful. I think it boils down to:
- Niche
- Free/Open Source
- Treat your users well
- Time
iTunes Export does just one thing, allows you to use your iTunes playlists in other applications. iTunes is a great product, and even if only 5% of the people want this feature, there will still be a huge potential user base.
The fact that they are free, as in both beer and speech helps. For JES a lot of users have made key modifications to make it useful for their specific environment. Most of these changes were rolled back into the main release. For iTunesExport this has been true, although to a lesser degree, but the free as in beer aspect certainly is a big plus for both.
I respond to every user's email. My email address is posted on the website and I respond to all emails, even if my answer is 'I don't know'. In several cases, I've improved or patched an application within days of an email and put out a new release. I believe that this make users more loyal and more likely to post links to my applications elsewhere.
The real key though is time. iTunes Export is nearly 4 years old, and JES is over 6 years old. Over this length of time, many people have found them useful, and linked to them from various sites. Initially I got really excited when I came across a new site in my referrer log. Now, I subscribe to Google Alerts and see new links (especially to iTunes Export) on almost a daily basis.
I've never done any real extensive work to publicize them, although I think there were some key actions:
I registered both projects on freshmeat.net and updated the entries for each release.
I named the projects well. The names match well with what people would type into Google to find these solutions.
I kept the applications updated. Initially this was my own effort, but as the applications reached a critical mass, I just incorporated the contributions of the community.
Conclusion
If you want to write a (modestly) successful open source tool, there are a couple of things to do: Find a niche and own it. Name it appropriately. Make it free. Leverage free advertising. Be responsive. Keep with it.
If you find a niche and write a moderately useful application, as long as you stick with it and treat your users well, you'll be successful.