There are millions of open source projects on GitHub, but only a few ever reach 500 stars and even fewer hit 1,000 stars or more.
If you want to grow your open source project (not only in terms of stars), this article would be the perfect place to start.
I've been an open source maintainer for very long and will use my experience to give you 11 tips with detailed references.
Let's jump in.
1. Create Open Source Bounties using Opire.
This might be the most underrated way to grow your project by attracting a huge number of contributors.
All you need to do is create small rewards for solving issues on GitHub. By offering those rewards, you can motivate developers to get involved.
Opire helps you create those bounties in the easiest way possible.
As you would have guessed by now, Opire is a platform for solving and creating bounties in open source. They are moving towards the vision that anyone can make a living from open source.
As a developer, you can solve real problems to show in your portfolio and build credibility. As a project owner, you can create those bounties to increase the growth of your project.
Reputed organizations like Cal.com use these bounties to speed up their projects. It also gives a strong message that the project is serious about the growth and the value that it creates.
Nobody wants to contribute to the repository that might be archived the next day, creating those rewards is an indirect way to say the project is going for long-term growth.
It will spread the word and can lead to more Recognition βΏ more Stars βΏ more Contributors βΏ 100x Growth of your project.
Β
π― How to create and solve those bounties?
You can create and manage bounties in 2 simple ways:
β Install the bot which handles communication with the Opire API. That way, it will be shown in the Opire dashboard.
You can use commands such as:
-β /reward [amount]
: to create a reward.
-β /try
: try to solve the issue.
-β /claim #[issue_number]
: to claim rewards.
-β /tip [amount] @[user]
: for tip in USD to the mentioned user.
Β
β If you don't want to install the bot, then you can also create those rewards from the dashboard. I have attached a snapshot.
You can read the docs for detailed flowchart about the lifecycle of rewards and how it actually works.
Β
Some of the useful use cases can be:
β‘ Collaborate on open source projects and earn money for your contributions.
β‘ Include paid technical tests as part of the selection process in your company by adding rewards. This can help you evaluate your candidates' skills while valuing their time, which sends a very strong message.
β‘ Support maintainers of open source projects by contributing financially. They don't get enough recognition for the work they do!
Β
Algora is active in this domain but the main reason you will love Opire as a creator is because it will save you a lot of money. Algora charges 19% which is very expensive while Opire takes only 4%.
Even the subscriptions that Opire launched recently are very profitable. Developers receive 100% of the rewards regardless. No tricks in that!
Β
Β
Moral: Save money with Opire and grow your project in the fastest way possible.
Opire is open source with docs and the website. Please star the repo to show your support!
2. Build a standard community profile for your project.
There are some guidelines that every project on GitHub needs to follow to meet certain community standards, which are often overlooked but crucial for your project's health and growth.
This is referred to as the public repository's community profile.
It helps others to understand HOW anyone else can contribute to the project with a few other requirements.
These standards include:
-β Contributing guidelines (contributing.md
) :
It is the guidelines that contributors should read on how they can contribute to the project. The best example that I've come across is from Simple Icons.
-β README (Readme.md
) :
This is the most important document that provides information about a project, including its purpose, installation instructions, tech stack and more. It can vary for every project but a good Readme always attracts more contributors. A good example is dailydotdev.
-β Code of conduct (CODE_OF_CONDUCT.md
) :
This file sets the ground rules for participant behavior, helping to create a friendly and welcoming environment. A solid example is the GitHub Community Code of Conduct.
-β Description :
A clear project description increases visibility and can help your project get featured in GitHub's Explore more repositories
section. This is what your people users see first.
Β
-β License (LICENSE
) :
By definition, every open source project must have an open source license. If a project doesn't have a license, it is not considered open source.
Open Source is an unusual circumstance, however, because the author expects that others will use, modify, and share the work. But because the legal default is still exclusive copyright, they need to explicitly give these permissions with a license.
You can refer to the official guide on which license you should choose for your project. Find all the licenses.
-β Security Policy (Security.md
) :
GitHub repositories involve lots of packages and dependencies, which can lead to security vulnerabilities. A security policy helps address these issues.
Learn how to Add a security policy to your repository in the official docs.
This will be helpful because whenever someone creates an issue in your repository, they will see a link to the security policy associated with your project. A good example is the security policy of Novu.
-β Issue templates .github/ISSUE_TEMPLATE/file_name.yml
:
Issues are used to track bugs, feature requests, and other tasks related to a project. They can be opened by anyone, and everyone uses it to track and prioritize work that needs to be done.
Issues can be assigned to specific team members, labeled with tags, and can have discussions related to them.
Read on how to create an issue in GitHub in the official docs.
You can create these issue templates that contributors will see when they try to create a new issue.
You can find a list of issue forms in this gist.
-β Pull Request template .github/ISSUE_TEMPLATE/file_name.yml
:
These templates ensure that contributors provide clear and consistent information when submitting pull requests.
Read official docs on Creating a pull request template for your repository.
You can create multiple pull request templates to offer options for required information in different types of pull requests.
Β
If you're wondering how to find these guidelines, then you can check the insights tab in your repository as shown below.
Β
You can read more about community profiles for public repositories on the official docs of GitHub.
Remember, there's no rule saying you have to promote an open source project when you launch it.
There are many simple reasons to work in open source that have nothing to do with popularity. For instance, most project maintainers do the work without expecting anything in return!
Moral: Instead of hoping others will find and use your open source project, you have to spread the word about your hard work!
3. Figure out the value your open source project makes.
Before you start the actual work of promoting your project, you should be able to explain:
β
what it does.
β
why your project matters.
β
why you created it in the first place.
All the people who will get involved with your project as users eventually can become contributors because your project solves a problem for them.
Just think and view the value proposition through the lens of what users and contributors might want.
For example, seed (recently open sourced) tells about the motivation to make this and how they're solving it.
Β
They have used the code example so developers can easily tell what is the overall solution.
It's important to realize that ONLY you know how amazing your product is: its unique features, good user experience and the impact it can bring in others' lives.
The users will not know. Most of the time they don't care and normally they do not even make an effort to understand. Even if they try to do it, you can't guarantee that they will do it right.
So it's all up to you to deliver the right message.
Moral: Creating a clear value proposition helps people understand what makes your project super valuable.
A couple of blogs I recommend reading to help you refine your message:
Brand Messaging Guide - explained with powerful examples of Dove, Apple, Redbull, Volkswagen, and L'OrΓ©al. Too awesome to ignore :)
How to Identify Your Core Marketing Message by Hubspot - Amazing examples of Nike and Zoom.
6 Tips For An Impactful Product Messaging - Hey and Apple are the only examples.
4. Help people find and follow your project.
This might be slightly related to building your community but both things are entirely different.
As Peter Cooper and Robert Nyman suggest, you need a single βhome URLβ where people can learn about your project. It doesn't have to be anything fancy or expensive, a simple, memorable focal point will do the job. You can check out their blog on How to Spread The Word About Your Code for more insights.
Β
There are two simple ways to do that:
β Online presence can help you promote your work.
Having a Twitter handle, GitHub URL, or IRC channel makes it easy for people to find your project. These platforms also give your growing community a place to gather.
If you're not ready to create separate accounts for your project, you can always promote your personal Twitter or GitHub handle in everything you do. It's a simple way to let people know how to reach you or keep up with your work.
Β
β Create a website for your project.
Even a basic website can work really well. It becomes even more powerful when you add documentation and tutorials, but starting with something simple is just fine.
If your project is hosted on GitHub, you can use GitHub Pages or services like Vercel to host it for free. There are many simple templates available to help you get started.
Β
Moral: Even a simple website can make a big impact because you never know where your first users will come from.
Now that you have got a clear message and an easy way for people to find your project, let's get out there and talk to your audience!
5. Go where your project's audience is (online).
Online outreach can be a great way to spread the word quickly.
With the right approach, you can connect with thousands of people without too much effort.
There are a lot of platforms that you can use:
β‘ Hacker News, Reddit, Quora.
β‘ LinkedIn, X (formerly Twitter), Instagram, YouTube.
β‘ Stack Overflow.
β‘ Dev.to, Hashnode, Medium.
Find the channels where you think people will most benefit from or be excited about your work.
A good rule of thumb: Any platform that has more than 1B users will always have your target audience.
Β
Some of things you should avoid (β) and some you can try (β ):
β Do not ask for things in return and not focusing on helping others.
β Pitching to everyone irrespective of the target audience.
β Don't cross personal space for feedback.
β Search through related forums for people who fall into your project's target audience. Answer their questions and when appropriate, suggest your project as a solution.
β If your project is perfect for data scientists who use Python, get to know the Python data science community. As people get to know you, natural opportunities will arise to share your work.
β Listen and respond to others' feedback, rather than simply promoting your work. Treat them with respect.
As Pazdera wisely said, Each program has very specific functions that only a fraction of users will find useful. Don't spam as many people as possible. Instead, target your efforts to communities that will benefit from knowing about your project. You can read more about this in Spreading the word about your open-source project.
Β
Remember not to get discouraged when nobody pays attention or responds to your initial outreach! Most project launches are an iterative process that can take months.
If you don't get a response the first time, try a different tactic, or look for ways to add value to others' work first. Promoting and launching your project takes time and dedication.
6. Go where your project's audience is (offline).
Offline way is the best way in my opinion to reach an engaged audience and build deeper human connections, especially if you are interested in reaching more developers.
Once you're ready, consider speaking at a conference to promote your project. Conferences can help you reach more people, sometimes from all over the world.
β‘ Start by finding a local meetup that's related to the language or ecosystem of your project.
β‘ Look for conferences that focus on your specific language or ecosystem. These events draw an audience that's already interested in what you're doing.
β‘ Before submitting your talk, research the conference to understand its audience. This will help you increase your chances of being accepted as a speaker. You can get a feel for the audience by checking out previous speakers at the event.
Β
When you speak at a meetup or event, be sure to include your contact information in your bio or slides. This makes it easy for people to reach out to you afterward.
Major conferences like ReactConf or Nextjs Conf are great examples of events where you can make an impact.
Β
You can check a lot of conferences and meetups happening around the world at dev.events.
Moral: Getting out there and speaking about your project in person can be one of the best ways to someone get interested in your work.
7. Make a community around your project.
A community is a place where people have an emotional connection to your product. They can connect with each other and your product.
When people are emotionally invested in your community, they're more likely to stick with your project, digest your content, tell their friends and family about your company and stay engaged with your content.
In simple terms, a strong community shows the best kind of loyalty to your project.
You might think about starting a newsletter but the problem is that it's just a one-way connection. From my experience, it's not as effective. Instead, focus on creating a community on platforms like Discord or Slack.
Here's why building a community is so powerful:
β‘ You can get instant feedback without going anywhere else.
β‘ Some of your users might get converted to contributors or maintainers in the future.
β‘ Growing your community ensures you'll always have an audience. You will always have instant access to your users.
β‘ That will validate your solution and more people will be interested to join them, considering there are already others who trust your project.
For example, LEGO has its own community called Insiders, where members can earn loyalty rewards and share their creations with other LEGO enthusiasts.
Β
Β
Β
Β
You should read about 7 tips for building a brand community.
Moral: Create such a strong community that every user feels like a Brand Ambassador.
8. Make your community inclusive and organize weekly calls.
Now that you have your community set up, it's time to increase engagement.
A lot of communities hold weekly calls where users can discuss their questions, share ideas and get help directly through live interactions.
Some even have weekly office hours where small issues are fixed on the spot and users can stay in the loop about what the core team is working on. Or if anything is being planned for the community.
These calls make the community feel more connected and personal. While chat is useful, hearing someone's voice makes a big difference. We all enjoy real conversations :)
Β
Β
Moral: Making time for live interactions builds a stronger, more connected community.
If you want to read an article, then I recommend 13 Secrets to Increase Online Community Engagement (2024).
You can also watch this video by Pat on how to build an engaged community!
9. Focus on organic word of mouth.
In a world full of ads and promotions, people are getting tired of constant marketing. A study by Optimove shows that 27% of people feel overwhelmed by ads (including me) and 66% want fewer ads.
Instead, people are turning towards recommendations from friends, family or online communities when making decisions.
Imagine a stranger who just found your project very helpful and then sharing the word with their friends or community. That's the most powerful way to get your project noticed!
As long as you keep your Developer Experience (DX) and User Experience (UX) solid, everything else will follow.
It's like creating something amazing and letting your satisfied users do the marketing for you. This also shows that your project really connects with the people you're trying to reach (target audience).
A great example is Canva. They started by focusing on people who had no design experience but wanted to create great designs. They've grown by building an active community (plus free sign-up to try the product). One of their successful word-of-mouth strategies is their βDesign Stories' series, where users share their experiences.
Moral: People trust each other more than brands.
Two articles that will give you effective tips on how to increase word of mouth for your project:
A Guide to Word of Mouth Marketing by Digital Marketing Institute.
Word of Mouth Marketing: What It Is and How to Make It Work by Hubspot.
10. Building more apps around your domain.
Another underrated strategy that many popular projects follow is to create more apps around your main domain.
Let me explain with a simple example, let's suppose you have a domain of devz.com and your target audience is developers. You can build a job portal like jobs.devz.com or any simple tool app that could be useful.
It will somehow redirect the traffic to the main website because most users will just check it out. Eventually, you could reach more people by building a product that the user wants.
Β
Moral: Growing your project isn't rocket science. Create more value to get more traffic.
11. Building a solid reputation.
Once your project has a solid user base, it's important to highlight the positive feedback you've earned over time.
Building a strong reputation is a simple hack for attracting more users. You can display testimonials from users or even from companies that have benefited from your project.
Β
It doesn't have to be complicated. Most users are happy to provide strong feedback, which you can proudly display on your website.
Moral: When people see that others have had a great experience with your project, they're more likely to jump on board too.
Β
A couple of more resources that I recommend checking out to help you get more ideas to grow your project.
- A video by Kunal Kushwaha (a bit promotional but decent enough)
Β
- Official open source guide on how to find first users for your project. Very interesting to read!
Β
- I have covered everything about open source in one of my articles including the legal side. You can check it out!
A complete guide to open source - 100x simpler
Anmol Baranwal γ» Feb 1
I have tried to cover everything I could think of.
If you have any awesome ideas, please share them with us in the comments.
Also, share your project (this is the audience) you're trying to grow, I might share a few tips using comments.
Have a great day! Until next time :)
You can join my community for developers and tech writers at dub.sh/opensouls.
Follow Opire for more content like this.
Top comments (41)
Nice tips! Good documentation is a very important step as well. If you want a project to get traction, regarding both usage and contribution, you need to have documentation making it easy to setup and use, and to dive into the code to make changes.
Yes.. especially if someone is looking for contributors.
The difference between a popular project and a non-popular one might be the docs. After all, it's the first thing any developer checks out so it needs to be very very good.
Most developers won't go through the trouble of contributing if the docs aren't good enough.
Better docs βΏ better DX.
This is good article.
Thanks for reading :)
hi, thanks for the great article about open-source.
anyway i've built web that can summarize your open-source contributions,
here's the full article: dev.to/depapp/showcase-your-open-s...
Whoa! I love the concept.
Just improve the UI a little bit and add some more filtering options.. it might grab the attention of many devs. I've starred the repo to show support. Thank you for sharing :)
thank you so much @anmolbaranwal for the feedback & support. really appreciate it
Great post, also yeah Δ± have a project, its called multicellular and its a graphical manuplating framework that lets you manuplate graphical assets (editing videos or images or creating them or making them) also it turns them into nested list so its much more easier to use (also we have a game engine mod that turns mlcl (abbrevation for multicellular) into a game framework) Only problem is that its not done yet (still working on the core services and Δ± dont have a lot of time to spare) and also some dev problems but dont worry yall Δ±ll finish it (also sorry for my potential spelling mistakes Δ±m on my phone and its hard to type here :)
building in public is a great option as well.
thanks
Nice work :D
Thanks for reading Rob :)
:D
Feeling Motivated! Should I post my own opensource project here in the comments for some feedback and traction? don't wanna tread on people's personal space
Yes, why not.. Take this chance to share it. I'm sure others will love to check it out.
Please just make sure it's open source!
Sure, Thanks to your article I made a post here about my project yesterday.
Would appreciate any feedback.
Whoa! I loved the landing page video.
I thought it would be a side project but you already have a $650k investment.. which bothers me why isn't this famous yet?
I've starred the repo and followed up on LinkedIn for support.
It is bound to grow eventually. Thank you for sharing!
Thank you for your kind words!
We've just now got funds are are planning to make some noise around this. But, as First time founders - Distribution among devs is something we're still learning and experimenting upon.
We've active on Discord as well, if you want to contribute in any manner!
It is as if this is for me. I just got motivated to grow one of my open source project: Virtual-Bank.
Wow! Thanks for sharing.
The docs are so detailed... it receives more recognition :)
Great tips! Saving for the Dev Encyclopedia project! π³
It has already crossed 250 stars, so it will only grow exponentially...
It's an awesome project π. If anyone's interested, hereβs the repo.
You can also get some information on: gitroom.com
Definitely. I'm sure many devs will be following your tips and the blogs at Gitroom.
Thanks for sharing π
great tips! πππ
Thanks for reading Bap π
Well-written article.
Thanks for sharing, Anmol.
Thanks for reading Bonnie. Appreciate your support π
Nice blog
Thanks. I'm happy you loved it π
I'm all for open source and the article does appear to provide some useful information, but the fact that it was written "for Opire" (a for-profit corporation) overshadows what otherwise might be a pure intention to offer unbiased information on "How to Grow Your Open Source Project". It would feel better to me if the relationship between the article author and the company was more clearly outlined and more openly disclosed.
Hi Nathan, I'm Anmol (the article author)...
If you check out my LinkedIn profile or X tweet history, you'll find all the relevant info you need.
There are plenty of articles that focus solely on promotions without offering any real value. I put in a lot of hard work to create content thatβs genuinely useful. Just because I added a section about a startup that could help others.. doesnβt mean the entire purpose of creating value was lost.
I love open source and have created a ton of content around it, one of my articles even got featured in the official GitHub community. Opire is doing noble work in open source and Iβm helping others learn about it. Most of them would be eager to check it out.
I don't want to sound rude.. but just saying.
Hi Anmol,
I hear that you put a lot of effort into open source and creating content that's helpful for others. I can imagine it must be frustrating when it seems someone is devaluing your work.
Communication is complex. It was not my intention to denigrate your work -- I simply wanted to point out that there is a conflict of interest with offering information about a product without disclosing your relationship to that product. Based on how many references you insert in your post about Opire, it seems pretty clear that your intention is to attract people to your service. It's okay to want that, but when you are not forthcoming about your motives, trust with your readers is eroded. In contrast, when you are forthcoming, trust is fortified. That's essentially what I was trying to convey (though I left it to other readers to draw their own conclusions, hence the "take that information as you will" part).
RE: "Just because I added a section about a startup that could help others.. doesnβt mean the entire purpose of creating value was lost."
I never said your article was useless or of no value. In fact, I mentioned twice that your article contains useful information, and perhaps part of your motive for writing it was truly from a spirit of generosity and goodwill. I can grant you that. However, it seems clear that there is some underlying motive to bring users to Opire, and I invite you to own that.
I feel sad reading what you wrote in your TLDR;. It seems to confirm that my comment triggered you which ultimately caused you to lash out with a personal attack. I invite you to own that as well, so that you might grow from it. Perhaps my statement that your article is effectively an ad was a bit harsh -- I still personally believe it's true based on your writing but I'll remove it anyways as I suspect it was the flash point for our breakdown in communication and it doesn't reflect the kind of person I aspire to be.
I hold no ill will towards you Anmol. I accept you for who you are, wherever you are at in your life journey. I don't expect you to be perfect and I know for sure I am not either. I'm sorry my comment struck a nerve -- it was not my intention. I will surely be more careful in my comments in the future.
All the best π
Hi Nathan,
I'm Ivan, one of the co-founders of Opire.
I want to start by saying I'm very sorry about the misunderstanding. I completely understand how this situation could have been interpreted. Yes, we paid Anmol to write the post and never intended to hide it - we even mentioned it in a LinkedIn post. The main purpose of the post (on Opire's part) was to spread the word about Opire, regardless of whether people choose to use the platform or not. We are a very small team (just two people) and our only wish is for people to get to know us and see if what we offer can be of help to them. As you can imagine, attracting users and building trust is not an easy task.
However, I really understand why you say that. It would have been much clearer if we had been more explicit in the post, especially for those who don't follow us closely. I honestly didn't realize that it might not seem that way, thinking that the sponsorship would be clear since the post was under Opire's organization. Your feedback is very valuable and we will definitely work on being more transparent in the future.
On a side note, I want to address Anmol's comment. I agree that it was inappropriate and does not fit the community we are trying to build. We are committed to fostering a positive environment and I apologize for any offense it caused. I can assure you that we will make sure this does not happen again. In the end, I believe this was just a misunderstanding with no ill intent from either party.
I would love for you to continue following our journey and get to know us better. My social networks are always open if you want to chat or have further feedback.
Hi Nathan,
I would like to publicly apologize if my response came across as rude in any way.
I have deep respect for people in the industry and the TLDR in your comment felt more offensive to me than I initially realized.
Moving forward, Iβll be more transparent and explicitly mention things as Ivan said.
Thank you for your understanding.
Ivan & Anmol,
Thanks for your honesty and understanding. π Though things between us may have started off rocky, my respect for you and your team has only grown. Our interaction serves as a great example of how conflictβwhen viewed appropriatelyβcan be an effective tool for building understanding and bringing people together. If I ever require services of the kind you offer, I will surely head your way. π
Warmly,
Nathan
Nice post, thanks!
Thanks for reading Matt :)
I need serious feedback guys.
Let me know if you loved the moral at the end of each example.
very well written article! Good Job
Thanks for reading Kamal π