Building a thriving project community requires intentional effort. This guide provides practical strategies to attract contributors to your project, and engage them in it.
Publish a roadmap ¶
While volunteers choose their own contributions, providing direction helps them find meaningful ways to get involved. Publishing a roadmap or wishlist of desired features and improvements gives potential contributors clear entry points.
A roadmap demonstrates that your project has clear goals and momentum, signaling growth rather than stagnation.
Keeping a roadmap current can be challenging. Consider implementing
a mechanism for tagging open issues with proposal
or roadmap
labels and automatically extracting them into a web page to
streamline this process.
Periodically publish the open issue list ¶
Regularly share summaries of open issues from your ticket tracker with the dev@ list. This reminds contributors that work is available and encourages them to get involved.
Consider creating good first issues as entry points for new contributors.
Clearly document contribution processes ¶
Ensure your contribution documentation – covering how to contribute, build, test, and submit pull requests – is clear and easy to follow. Experienced committers often overlook the institutional knowledge they take for granted, so regularly review your “getting started” documentation from a newcomer’s perspective.
Encourage new contributors to share and document their pain points during their first contributions. Work toward addressing or at least documenting these challenges to improve the experience for future contributors.
Do not neglect non-code contributions as you think about where people can get involved.
Publish your contributor ladder ¶
A contributor ladder describes the levels of access and responsibility contributors can progress through in your project – typically from contributor to committer to PMC member.
Clearly document requirements for each level. For example, if you require ten substantial patches or three months of involvement, publish these criteria on your website. This prevents contributors from feeling the process is arbitrary or unclear.
Consider relaxing your entry conditions. Remember that inviting someone “too early” risks temporary issues that version control can fix, but inviting someone too late risks losing them permanently.
Engage with big users ¶
Reach out to companies that depend on your project, and encourage them to take an active role in the decision-making by getting involved in the discussions on the mailing lists, and providing code changes that their customers are requesting. Encourage them to think of open source collaboration as investing in their supply chain, rather than as altruism.
Be transparent about project risk ¶
If your project faces retirement due to insufficient community engagement, communicate this openly. Tell your dev and user lists about the specific risks and where you need help. Think about non-code needs that your project has, and be specific about how these could be addressed.
While many users are content to consume your project passively, awareness of project risks often motivates them to contribute.
Come talk to us ¶
The Community Development project welcomes discussions about community growth challenges. While we don’t have all the answers, we can help you analyze problems and explore potential solutions.
Join one of our working groups to help implement these strategies.