Getting contributors for our project is quite challenging, isn't it?
One of the issues faced by open-source project owners/maintainers is not attracting enough contributors to their projects. The problem may not be a lack of contributors, but rather the approach might be affected or influenced by some other factors.
In this article, I have tried to mention the things that worked for me in bringing more contributors. There may be more ways; feel free to drop them below in the comments.
Build a community
Building a community around your project is the best way to create awareness and establish a communication channel between you and other contributors. It can also promote collaborations and make it easier for contributors to seek help. You can create a community on platforms such as Discord, Slack, Telegram, or any other suitable platform. A great example of a community-driven project is LinkFree from EddieHub.
Polished README
The README is the most crucial part of your project. It serves as the landing page and is the first thing anyone sees when looking at your project. It should include a proper call-to-action, describing the aim and vision of your project and what you expect from the community. Having a demo of the project is always a huge plus. Creating a polished README takes time, but with time it will happen, and there is always room for improvement. Also, remember to keep it regularly updated, as nobody likes outdated information.
Community Standards and inclusivity
Setting up things like a LICENSE, a Code of Conduct, contributing guidelines, and other community standards in the Community Standards section of a repository is a great way to demonstrate and ensure that a project has clear guidelines for communication and promotes inclusivity. Additionally, setting up issue templates allows issue and bug reporters, as well as contributors, to provide a well-structured format for explaining issues. This can help save time for both the reporters and the developers, and ensure that issues are addressed effectively.
Topics
By adding topics to your project, you can make it more discoverable. Topics are essentially keywords or categories that help users find and filter relevant repositories based on their interests or expertise. GitHub also uses topics to recommend projects to users, and it has a search feature that allows users to search for projects based on topics. Adding topics is also a good way to let contributors know what your project is about and the technologies used in it.
Issue labels
Labels are a great way to organize issues in a repository. They also help contributors find issues that match their skills, for example, if someone wants to work on documentation, they can look for issues labeled as docs or text. Additionally, labels can help you keep track of issues and pull requests in your project.
Using labels can also help make your project more discoverable. People also search for projects based on specific labels, and some third-party tools also use issue labels to suggest relevant projects.
Good First Issue.
This is a powerful feature, as hundreds and thousands of people search for the good-first-issue label on GitHub every day, particularly first-time contributors. It is one of the best ways to onboard new contributors as it shows that your project is beginner-friendly. Once new contributors are onboarded, they are more likely to return and contribute more in the future.
However, it's important to keep in mind that the good-first-issue label should only be applied to issues that are truly suitable for beginners. Don't use the label solely for the sake of increasing traffic and visibility.
Cloud development environments
Setting up a local development environment can be a daunting task for new contributors and a significant barrier to entry for contributing to a project. Cloud development environments offer an excellent solution to make your project more accessible to contributors, as they enable contributors to work on your project without needing to install any dependencies. Popular cloud development environments include Gitpod and GitHub Codespaces. Additionally, we can make it easier for contributors to access our project in Gitpod by adding a button to our README file.
Social media promotion
Social media is a powerful tool for promoting your project. If you don't talk about your project, no one will know about it. Therefore, it is essential to promote your project on social media platforms such as Twitter, LinkedIn, Facebook, and others. You can also create a YouTube channel and produce videos about your project. Additionally, creating a blog to write about your project is another effective way to promote it.
It's good to regularly share updates with the community and keep them informed about the progress of your project. Also, when you open any good-first-issue
, share it with the community to let new contributors know about it and encourage their participation.
Appreciation
Appreciating good work is important because it encourages others to do the same. There are many ways to show appreciation for contributors, such as giving them a shoutout on social media, adding their names to the README, or including their names in the release notes. Another incentive is to offer contributors the chance to become a maintainer of your project.
In the end, if your project adds value and is inclusive, people will continue to show up. Don't focus solely on stars, as having more stars doesn't necessarily mean more contributors. Instead, focus on improving the quality of your project, and as a byproduct, people will naturally be more inclined to contribute to it, as well as Star it.
I hope you learned something from this blog. If you have, don't forget to drop a like, follow me on Hashnode, and subscribe to my Hashnode newsletter so that you don't miss any future posts.
Follow me on Twitter. Thanks for reading and have a great day!
Top comments (6)
Straight to the point article. Love it!!
Thank you!
Reading this now .. But worth the time . Thanks Pradumna
This article is worth spending some time on. Great!
Great one, Prdaumna
Thank you!