This is a draft document.
As a maintainer, you will be the first point of contact for new community members. It is important to embody a positive and helpful force for the health of your community.
Always behave in a manner that is polite, patient, and understanding. Many contributors are acting on their own time so try to create an environment that is energizing, not draining. Don’t forget that on public forums, potential new contributors will be monitoring the community dynamic before getting involved!
Use language to show that you are excited and grateful about their contributions to the project. Avoid saying things that could be construed as meaning otherwise or being too short.
Many first-time contributors are intimidated and nervous about making mistakes, so keep in mind for both you and them that mistakes are natural and part of the learning process. Assure and empower them with your help and mentorship so that they feel supported and comfortable contributing to the project.
Provide resources, not solutions#
While some level of shepherding is needed, be careful not to micro-manage contributors, as it hinders the learning process and can be frustrating for both parties. First offer guidance before using more hands-on approaches, for example, try talking a contributor through the changes they need to make instead of typing the solution for them.
For tasks that may be too advanced or daunting for a first-time contributor, such as comprehensive testing, benchmarking, or doc-building, offer to handle that part or to lend your support while they try it themselves.
Avoid excessive nitpicking as requesting constant
small changes can be discouraging to a new
contributor. Instead, you can make a follow-up PR
after the merge to fix these or use an opinionated
formatter, such as
black, to handle
most style-related nitpicks.
Remember that contributions are a good thing that should be celebrated and encouraged. Communicate your appreciation for the work your community members are doing and connect the impact their contributions have to your project’s goals and how it will help many others.
By providing a positive contributing experience, you can create a positive feedback loop where community members enjoy and want to continue their amazing contributions to your project!