I have recently started a project, a CSS/JS library, on Github. I'm already pretty far with it and was wondering: How do I make it popular? How did other libraries that are very famous now, like jQuery, become that famous. Because I don't think they just left the project on Github for awhile, and then all the interested people came without doing a thing?

  • 2
    ① Make it useful. jQuery became popular because JavaScript sucks, and jQuery made JS suck significantly less. There was a problem, and jQuery fixed it. ② Make it usable. I.e. make the project easy to download and install. Provide full documentation for your project. Choose an appropriate license. ③ Make it awesome. Create a demo page that shows off your project, and serves as an example of how easy and useful it is. ④ Make it known. If you are sure of your project, submit the demo to discussion sites such as appropriate sub-reddits or Hacker News. Listen to any helpful criticism provided. – amon Sep 28 '14 at 20:18
  • Related and possible dup: How to promote an open-source project? – user40980 Sep 28 '14 at 20:39

The first couple projects that I did that were open source never got off the ground. The mistake I made is that I kept my coworkers, as well as friends and family, completely separate from the work I was doing, and I only talked about these projects on my rarely-visited blog.

I did the opposite of what I should have done.

Now, I have a few projects I've worked on where I've marketed them on different channels. For Stack Exchange browser add-ons, I use Stack Apps, and I also publish them on the respective stores, the Mozilla Add-on and Chrome Web Stores.

For things that aren't browser add-ons, I use Twitter, Reddit, Google Groups, and the GitHub issue tracker to help spread awareness of tools that I think can provide value to other developers facing problems.

The key to spreading awareness is not to spam people. Ideally, your project solves a problem that hasn't already been solved. One of my projects helps make it easier for Chrome App developers to migrate their existing apps to node-webkit, so I talk about this in their forums whenever people ask about how to get started migrating. The key is to interject where it's relevant. Follow the 80/20 rule. Make sure you're contributing 80% to these communities where you're not promoting your products, and use the 20% as opportunities to talk about a problem you've solved that's important to that community.

The most successful open source projects have a passionate community built around them. To succeed, you'll need to get out and talk to people, and solve their problems in order to create that passion. Since most of this will happen over the Internet, work on your written communication skills. Learn how to communicate ideas efficiently and cleanly so that people trust you as an expert in your area. As amon says in the comments, demo pages and clear documentation will be key. No one will reverse engineer your project. You need to clearly demonstrate both how and why it solves their problem. Hope this helps.


Not the answer you're looking for? Browse other questions tagged or ask your own question.