There's a difference between new contributors and beginner contributors to open source, and it's important to understand the difference because it impacts the support needed for those contributors and the types of issues created.
Before moving on, let's define the difference:
Beginner Contributor: Someone who is new to open source and tech. Some of their challenges to contributing may include: a steep learning curve, understanding open source culture and best practices, completing pull requests in a timely manner.
New Contributor: Someone who has never contributed to your repository before, but could be at any technical level. Some of the challenges they may face are unfamiliarity with the project's codebase, guidelines, and processes.
Retaining Contributors
One of the challenges facing open source maintainers is retaining contributors. But the type of contributor you retain is also important, and largely depends on the project's needs and bandwidth.
Retaining Beginner Contributors
Contributors who are beginners require more time and effort to support and sustain. Things you need to consider when retaining beginners are:
- Do you have good, beginner-friendly issues? These are sometimes labeled as
good first issue
orbeginner-friendly
. - Does your project lend itself to issues for beginners? Sometimes a project's complexity or technical hurdles for running the project make it difficult to bring in beginners without substantial support.
- Do you have the bandwidth to support beginners? More often than not, beginners will require more support. They'll need more feedback on their pull requests or on the issues they write. If you don't have the time to support them, it's okay to let them know.
Retaining New Contributors
New contributors have a variety of motivations for contributing, including: to learn something new, to solve a problem they have, to build their reputation, or because they're interested in the project.
Things you should consider for retaining new contributors:
- Do you have clear paths of communication? They should know how to contribute and who to talk to if they have questions.
- Are their issues they can work on? More than once, I've had a maintainer ask me how to make their project more appealing to contributors and I've check out their projects that have no issues. Write issues that are clear and organized. They shouldn't be too large, and there should be a clear path to completion.
- Do you have a community that's engaging? One of the big reasons contributors stick around is because they enjoy interacting with the maintainers or other community members.
Understanding Your Bandwidth
I've talked to a number of maintainers who have said they're looking for a solid 3-5 repeat contributors for their projects, and they don't want to advertise widely because they don't have the bandwidth to support beginner contributors.
First of all, that's 100% ok. Not every project needs to support beginners. In fact, trying to support beginners when you don't have the bandwidth leads to burnout and frustration on both the maintainer and contributor side.
There are plenty of projects out there that can and do support beginner contributors, and there are courses, like our Intro to Contributing Course that provide learning opportunities to new contributors.
Here's a great post by @adiatiayu on involving external contributors with issues:
Collaborate, Conquer, & Grow: Mastering the Art of Issue Management for Open Source Projects
Ayu Adiati for OpenSauced ・ Mar 5
Final Thoughts
We all want to make sure that maintainers don't burnout, so we need to be aware of the challenges that occur with new and beginner contributors. The key is clearly communicating the needs of the project and for the maintainer and self-awareness on the part of contributors.
What other considerations should open source projects look at when determining if they can support new or beginner contributors?