How do you get people to know your projects?
xi opened this issue · 2 comments
I have done quite some side-projects. The one I am probably most proud of is https://github.com/xi/sass-planifolia. Not because it was complicated to write, but because I improved it over time until it was both powerfull and lightweight (but of course still not perfect).
The trouble is, I am probably the only person in the world who uses it. I send the link to some relevant mailing lists but did not get much response. I also do not have thousands of twitter followers. What would you do to get people to use (and give feedback on) a project like this?
Hello there, and thank you for asking!
I’ve initiated my fair share of open source projects. Some got popular, but most didn’t. And I’m okay with that. At the core of every project I started was the desire from me to learn or try something. If it eventually helped someone, that’s even better, but that’s not the end goal.
Now if you really want your project to get known, there are things you can do to help. Stephanie Hurlburt explains all this in a great Twitter thread, so I’m just going to paraphrase.
- Make cristal clear what your project is for. Both for you, and people using it. If you are writing a function that checks if a value is an object, state that. At the top of the README. In the function comment. In the documentation. When opening a GitHub repo, it should be obvious what it is about. If it’s not, people will simply move on.
- This leads me to encourage you to work on documentation. A lot. As much as you can. Documentation is key to any good project. Document. Document. Document. Write tutorials. Migration guides. Anything that can be useful.
- On top of documentation, write examples. Provide solutions to existing problems. Build ready-to-use recipes. Make it easy for developers to appreciate your project by showing them how it can help.
- Use your project. That’s something I cannot stress enough. The only projects I still maintain are the one I use. The only reason they are still good and interesting, is because I maintain them. I highly recommend you use your project if you can (and if you should of course).
When I look back at my most successful projects:
- Sass Guidelines got popular because it came sort of shortly after CSS Guidelines from Harry Roberts and right in the middle of the Sass golden age where it was used everywhere. My experience with the language helped making this project popular, and getting help of translators to have it available in 13 languages.
- a11y-dialog, while shy on GitHub, is actually used quite a bit because it is a good solution to a complex problem. This is also the only open-source project I still actively use (and therefore work on).
- Simplified JavaScript Jargon is interesting because it relies on the fact that the JavaScript ecosystem is very convoluted and complex. I think what I did right on this was making it easy for people to contribute to this index by writing and submitting entries directly from GitHub.
Indeed, at some point you will have to make it easy for people to contribute to your project. This has several benefits, from engaging the community, to making more likely your project will survive you inevitably stepping-away. That’s something I failed to do on SassDoc for instance. SassDoc has always been built by the SassDoc core team (4 people), and when we all had our life calling back, the project froze. It still works very nicely, but it doesn’t grow anymore.
This might be worth asking this question to @sindresorhus given the massive amount of open-source projects he maintains, as well as @TheLarkInn for his great community work on Webpack.
PS: I’ll tweet about your project. I’s great work you have there. I’ll share it. ;)
Thanks for the quick reply! Really hepful!