DEV Community

Cover image for How To Create A Welcoming Space For New Open Source Contributors
Christine Belzie for OpenSauced

Posted on

How To Create A Welcoming Space For New Open Source Contributors

Table of contents:

Welcome Home

When it comes to giving advice on creating a welcoming environment, the people in the Southern part of the United States said it best, “You attract more bees with honey than with vinegar.” In other words, kindness is the thing that keeps people interested and open source projects are no different. Contributors are the key to your project’s growth, so it’s important to create an experience and environment when they want and to continue contributing. In this blog post, I will share strategies that will help you retain contributors to your project.

Strategy #1: Have Clear Documentation

Your README file, Contributing Guide, and tutorials are the key ingredients for your project; they provide all the necessary details and steps to understand and contribute to it. When they are missing information, chaos ensues. For example, when I was making my first contribution to the project, Deal for Devs, I pushed my commits to the project’s main branch because it is a common practice. When I spoke to the project’s owner, I realized that the commits should have been pushed to the dev branch to test it. So, I switched the branch from main to dev. Once that contribution was made, I added this direction to the project's README file:

docs: add a note about where commits should go #66

CBID2 avatar
CBID2 posted on

Description

This pull request adds a special note about pushing contributions to the main repository’s dev branch, making it easier for people to effectively contribute to the project.

Related Ticket and Documents

Closes #65

</div>
<div class="gh-btn-container"><a class="gh-btn" href="https://github.com/Learn-Build-Teach/deals-for-devs/pull/66">View on GitHub</a></div>
Enter fullscreen mode Exit fullscreen mode


Now, to avoid challenges like this and to continuously improve your documentation, consider asking yourself the following questions:

  • Is the Contributing Guide easy for beginners and people who are new to open source to understand?
  • Is your project open to contributions from beginners? If not, create a kind but clear message to let them know. For example, "Although we appreciate all support, we're not able to take contributions from folks who are new to open source due to bandwidth at this time”
  • What are some examples that can be added to the README to help people see the types of contributions they can make to the project?
  • When was the project’s documentation last updated? If you want more tips on how to improve your project’s documentation, check out my @get_pieces article, “5 Tips For Writing Technical Documentation That Developers Love”.

Now, having clear documentation is only one way to create a comfortable environment for contributors. Here’s another one.

Strategy #2: Show Appreciation

Between building your open source project, doing code reviews, promoting your project, and looking for people to contribute, finding time to thank each person for their contribution can be overwhelming. When I first started maintaining open source projects, I’d constantly stay up late at night giving thank you notes out of fear of contributors feeling ignored and underappreciated. As time went on, I realized that this method is not effective as it causes me to lose sleep, which makes it even harder for me to focus. Here are some strategies that I used and seen others use to make showing contributions recognition easier.

  • Use GitHub’s Saved Replies feature: This feature has been very helpful in thanking contributors for their work as all I have to do is pick a saved reply, modify it based on the type of contribution, and hit submit.
  • Use a GitHub Action or bot: I highly recommend using the all-contributors bot because whenever someone makes a Pull Request to Deals for Dev, the bot automatically adds the person’s name and icon that exemplifies their contribution in the Contributing Guide. It makes giving recognition to people for their contributions a whole lot easier.
  • Write a thank you comment: If you want to be more involved, consider writing a thank you message like @adiatiayu does for our pizza-verse repo:

a screenshot of Ayu's comment on a approved pull request

Regardless of the strategy you use, showing open source beginners appreciation can be the very thing that encourages them to continue contributing to the project. There is one more method to consider when creating a comfortable experience for new open source contributors.

Strategy #3: Create clear contributions pathways

A reason why beginner-level open source contributors do not return to your project is because there is no clear path on other ways they can contribute once they make their first contribution. As good as it is to say in your README “we welcome all sorts of contributions,” there are moments where contributors continue working on “good first issues” due to this feeling of uncertainty. In my experience at LinksHub, I found that categorizing issues by difficulty and priority levels gives contributors an idea on how to grow in their journey as it encourages them to think if they are ready to solve the issues. At OpenSauced, the maintainers use “beginners-only” labels for issues that are catered to people who have never contributed to open source projects before. Once their Pull Request for this issue is merged, they are encouraged to solve issues that have the “good first issue” label. Additionally, good first issues contain the following reminder to encourage new contributors to continue growing their skills, “If you have already done a good first issue, consider working on a different one”. To encourage even more growth, other repos people can contribute are mentioned in the activity section of their Intro to Open Source course.

Now It's Your Turn

Whether it’s creating a pathway, being receptive to feedback, sticking with your code of conduct, and showing appreciation, people are always going to remember how you made them feel when they first contributed to your open source project. If you’re looking to learn more ways to effectively maintain open source projects, check out the New Maintainer Resources series.

Top comments (7)

Collapse
 
michaeltharrington profile image
Michael Tharrington

This is a great freaking post, Chrissy! Awesome stuff. 🙌

Collapse
 
cbid2 profile image
Christine Belzie

Thanks @michaeltharrington! :)

Collapse
 
lymah profile image
Lymah

Great post, Chrissy.

Collapse
 
valeriahhdez profile image
Valeria writes docs

Love these tips!

Collapse
 
best_codes profile image
Best Codes

Nice article, thanks for writing!

Collapse
 
cbid2 profile image
Christine Belzie

Thanks @best_codes

Collapse
 
jitendrachoudhary profile image
Jitendra Choudhary

Nice Tips for welcoming community

Some comments may only be visible to logged-in visitors. Sign in to view all comments.