Skip to content

How to acquire open source code contributors

This page explains how you can get more people to commit to your open source project.

The community often prefers depending on open projects with a diverse set of contributors over alternatives with only a few committers.

Here's the high-level formula for getting contributors:

  1. Building a community with a welcoming vibe
  2. Create well-defined chunks of work
  3. Outline clear steps for making pull requests
  4. Help contributors to get their PRs merged

Good first issues

The repo should have many issues with the "good first issue" label, with a variety of easy and medium-difficulty tasks. Some tasks should be code contributions, and others should be documentation tasks / trivial fixes. We always want an easy on-ramp for someone who's making their first OSS contribution.

Outline clear steps for making pull requests

The repo should contain clear instructions for creating pull requests and any necessary code requirements, such as code style or unit testing.

Document all expectations in detail so contributors know exactly what their PR needs for it to be merged.

Encouraging contributors to get approval on suggestions in GitHub issues before writing any code is also advisable. This saves contributors from wasting time on an idea that the maintainers don't want.

Help contributors push their PRs over the finish line

Maintainers should collaborate with contributors and help them get their PRs ready to be merged.

The PR review process isn't an interview, and it's also not an opportunity for a maintainer to show off their knowledge of the subject matter.

Open source PRs are an opportunity for maintainers to mentor the community, hopefully inspiring them to be long-term committers.

Feel free to provide comments, but don't be overly pedantic. Some maintainers are too strict on new committers.

If necessary, offer to push a commit to the branch to help the PR reach the finish line. Always thank the committers profusely and encourage them to make more contributions.

Respond quickly

You should respond quickly whenever a new contributor creates an issue or submits a pull request.

It's best to review ASAP, but if that's not possible, it's better to say, "I am really busy and will try to review this in a couple of weeks," than not replying at all.

Interfacing with the developer community should be one of the most satisfying and fun parts of being an open source maintainer!

CONTRIBUTING.md file

The CONTRIBUTING.md file should be stored in the project root and explain how to contribute to the code repository. It should generally follow the GitHub guidelines for repository contributors.

The Rails CONTRIBUTING.md file is a great example. It explains how to proceed with various types of issues.

The CONTRIBUTING.md file should focus on technical details for making changes to the codebase. The code of conduct should be outlined in the CODE_OF_CONDUCT.md file.

Contributor meetings

Projects should have periodic contributor meetings with the maintainers, contributors, and interested contributors. Monthly or quarterly is usually a good cadence.

The contributor meetings give the valued OSS contributors direct access to the core developers, motivating and encouraging them to participate more.

Here are good topics to discuss at the contributor meetings:

  • issues that can be grabbed
  • open pull requests and next steps
  • blockers
  • project ideas

Chatting with contributors makes them more invested in the project.

Build relationships with open source contributors

You should try and become friends with the core open source contributors of a project.

Friendly vibes between the core contributors make the codebase more fun and create a welcoming vibe for new participants.

Create a community with a welcoming vibe

It's great to create a channel in a chat app where new participants can introduce themselves to the community when they join. If you have some extra time, ping these new entrants and tell them you're excited to have them join the community.

Do your best to loop in the new participants to an upcoming community meeting and help them get onboarded as users or contributors.

Spreading the good vibes is a great way to encourage lurkers to get more involved as well.