Many of the technologies and software we use today might not exist without open source collaboration.
To develop great code, developers need support. Imagine you’re a developer with a great idea. You’re eager to get started on your project, but you soon realize in the early stage that you could use some help. Solving your code’s bugs by yourself is demanding, and it leads you down a path of endless searching on coding forums full of side-gig distractions, resulting in a loss of time and energy. Wouldn’t it be nice to get your code some visibility and attract talent that could support your initiative?
Open source communities on code-hosting sites, like Github, encourage innovation through joined efforts, so developers can work together more efficiently. Unfortunately, many projects don’t get enough help simply because they go unnoticed. For example, there are currently thousands of COVID repositories on Github, and the majority of them are being overlooked. So, how can you turn a brilliant idea into a visible project and attract the right contributors? Here are our recommendations:
Publish good documentation
Having quality documentation is crucial to an open source project’s success. Documentation exists to explain product functionality, unify project-related information, and cover any questions that might arise between stakeholders and developers.
According to Yuraima, a maintainer of a project on Github, “Having easily accessible, human-readable and reference-able documentation can be the difference between a project that is readily consumed by others and one that falls by the wayside without much fanfare.” In other words, your documentation needs to be user-friendly. Its language and content must be compatible with the user’s ability to understand the information presented and how it can be applied to the project at hand.
One of the first pieces of your documentation should be a README text file, introducing the project and giving a brief overview of its purpose, in addition to installation instructions and enough explanation to get a contributor started. At Ovio , we display the ReadMe as one of the main information on the project page, maximizing your project’s visibility. To learn more, discover our How to write a good ReadMe article.
Document the contributing .md
Under the CONTRIBUTING .md file in Github, a contributing guide should be available for users, including information about getting involved in the project and where contributions are needed. For example, the guide defines what is needed specifically from the community, like bug fixes, feature requests, or further documentation. Your CONTRIBUTING .md file should include instructions on how to work in the codebase, any start or run scripts, suggestions for navigating the codebase, code style expectations, and any details necessary for successful contributions. If your code requires testing to pass for PR to be considered, you’ll want to make sure those instructions are clear and concise. Offering guidance on writing additional tests for the contributor’s proposed changes is also important. We recommend providing educational materials, like tutorials or getting started guides to motivate users with their genuine desire to learn and contribute.
Create templates for PRs and issues
By creating templates, maintainers can clearly define the information that needs to be included in new issues or PRs. You can save hours of maintenance by indicating what information is expected to be included for issues, documentation edits, PRs, etc. You can even go the extra mile by distinguishing your need between support and development with templates. Consider creating a template for bug reports and one for development ideas, so maintainers can interact and respond to contributions accordingly.
Good example from LeakCanary repo
Adopt a code of conduct
Including a code of conduct in your repo is an essential part of the contributor-friendly experience. By clearly stating behavioral expectations and what is and is not tolerated in a community, you can better structure your project for inclusivity and collaboration. Choose a code of conduct that aligns best with your community or create one yourself. Some maintainers like creating a repo exclusively dedicated to their codes of conduct, like Django.
Good example from Square
Market your project
While the strengths of your project alone might attract enough help to form the basis of your community, it’s more likely that marketing an open source project will attract the best support. Given the tremendous growth of open source in the past decade, marketing open source projects is increasingly important. Basic strategies like creating a logo, social media account, or a website for your project can give it greater visibility and the opportunity to grow.
Thank your contributors
Including the names of your contributors in each release, note is one small way that can change the way you interact with and impact your community. Many project owners often get one-time contributions, making it challenging to maintain participation in a project. When developers are appreciated and acknowledged in the community, they’re more likely to keep contributing.
As the Linux Foundation said in an article, “Open source is much more than simply publishing code. It’s just as much about community building and the humans behind the software as it is about the software itself.”
Growing the community around your project is just as important as scaling your technology and visibility online. Because when you focus on the people behind your project and their experience, your project becomes more sustainable and better suited for success.