The Hacker News front page is a wasteland of bootstrapped "startup"founder folklore (come on, you know I'm right: you probably skimmed multiple bullshit articles about "growth hacking" this week. What the fuck was that?). I want to know what successful open source projects do that others don't, but most articles I see about "how they made it" say more about the individuals writing them than the general principles that led to their success. I just want to see some data, so I picked up Internet Success, an in-depth analysis of open source software (OSS) posted on SourceForge. Their conclusions really aren't that surprising: old school hard work and leadership are the best predictors of success in open source software. Three factors were most important:
- Vision - Projects should have well-defined goals as well as plans for how to achieve them. This seems like common sense to me, but apparently a lot of developers don't start a project with clear goals in mind, and plans? Ha! The authors show that even in the beginning of a project, plans are important. Make them.
- Utility - There should be interest in the problem your project solves. It doesn't necessarily have to be interest from a large group of people; you just have to find a niche--say, 200 active users. You can grow from there. First, just solve a problem. If you're posting code from a one-off project you did to solve a very specific problem (e.g. glue together some old scripts for part of your dissertation), it probably won't get many downloads. On the other hand, if a small (or large!) community experiences a pain point that your project solves, your code will likely spread around these interwebs. Pretty simple.
- Leadership - Project leaders are crucial! Some leadership practices that make a difference: leading by example (leaders that put in 1.5 hours per week gave their projects a 73% chance of success. Hard work mostly pays off), active administration (track issues on Github, clearly articulate problems that need to be tackled to accomplish your vision, make goals for new releases, etc), and marketing (make a nice looking website for the project, an informative readme on Github, etc). These aren't so hard, are they?
There. No bullshit. Just like in the real world, hard work and leadership are key to success. If you want more specific suggestions from the book, you can order it or check out this blog, which has some good quotes. Or maybe get to work on something cool instead.