After sharing your open-source project on which you worked hours, days, or even weeks, you expect it to blow up right away. The reality of it looks a little different - in 99% of the cases, the public won’t be as excited as you about it. To get people working with your project, it needs to seem reliable and trustworthy. On social media platforms like Facebook or LinkedIn, the number of followers indicates the success of a project. On GitHub, it is a little bit more complex than that. The most common indicator for popularity is GitHub stars, and to gain them, you need to impress people. The issue here can best be described as a vicious circle: if you want stars, you need to get people to use your repository → if you want people to use your repository, you need the trust of the developers → to gain the trust of the devs, you need stars, to begin with. To break this vicious circle, you need some - you guessed right - stars. And this is what this article is all about.
Serve market needs
This is basic advice, but your project should serve market needs. What is the purpose of this project? Has it been done before? Why is this approach different and how? Build something that solves user problems, something other people might be interested in as well.
If you start something which has been done thousands of times already, with the same technical approach, chances are pretty slim that you will gain a lot of attention. Either make something useful and wholly new or use new technology to spice up an old solution. In other words: Do your research! If you need any ideas on where to start, you can take a closer look at the issues of popular projects.
Documentation is key
Although it is boring and a bit time-consuming, you must document every step of your project. People can't go from 0 to 100 if they don't receive all the necessary information. Make it as easy as possible for other people to get involved and contribute to your project. People need to understand your code - lightweight, intuitive and usable.
Feedback & Community
Release the first version of your idea as soon as it is functional. Don’t wait for it to be perfect. There are probably always some tiny details that can be optimized. It is essential to get feedback early on to know if your project idea makes sense and, if not, what you can change about it.
Don't forget your community wants to improve the project with you together - you will receive opinions, pull requests, bug reports, and more. If you get criticized, don't take it personally. Open source projects are about people working together, and with that comes feedback you might not have expected.
The rule of thumb is:
- If your work is terrible = Your feedback will be as well
- If your documentation is terrible = Your feedback will be non-existent
- If you lash out at others for giving you feedback = Your feedback will be non-existent in the future
Create an amazing README
This is one of the most important aspects of trying to gain more stars on GitHub. Try to get attention by creating an eye-catching README. You can use gifs, pictures, emojis, or badges to attract users visually. Design your graphics that communicate your project’s purpose. The README is the first landing page for your projects, so really invest time in creating it. It should at least answer the following questions:
- What is the feature set of the project?
- How do I install it?
- Which platforms are supported?
- Which languages are supported?
- Which common issues does the project have?
You can make a difference here in comparison to other open-source projects. There is something almost all of them are missing - a visually appealing design. More information about what to include in a successful README can be found here.
Promote your project
Promote your project on other platforms, know where your target audience will be, and create content that will raise their interest. LinkedIn, Discord, Reddit, Twitter, Product Hunt, Hackernews, or DEV.to are excellent platforms to start with. If you don't have a loyal community yet, don't worry. You can always start from scratch. Investing in advertising wouldn’t be the way to go here, and you’d be just wasting your time and money.
An eye-catching way of introducing a new open source project is to give the public a glimpse into the development of your project, including behind the scenes and important milestones. You can also start a blog or engage your network with social media posts. It is crucial to keep in mind when your target audience is the most active. Traffic on the weekend usually is slower, and posting during that time might reduce your growth.
There is no magic trick that will give your open-source project the public attention it deserves, but there are some things that you should keep in mind.
Basically: choose suitable projects and don’t forget to document them. Gain public attention by sharing them on the right platforms, civilly interact with your community, and most importantly, create a catchy README. People will just take a quick look at your README, so you better design it as memorable as you can. Again, please invest some time in creating it.
At Crowd.dev, we’re also working on something to make README’s easier for everyone. We’ll announce more about this soon. Make sure to sign up for our Newsletter!