Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
scroll top