How to Build an Open Source Community – The New Stack


Note: For the purposes of the article, I will talk about open source software communities.

Benny Vasquez

Benny Vasquez leads DevRel for Chef and is Chairman of the AlmaLinux OS Board. Vasquez enjoys crafts, reading, games, baking, music, and drinking.

Building community requires either an intrinsic understanding of humans (e.g., people like Nathan Harvey) or a commitment to learning how to engage these humans. When we try to teach others how to do anything, we often try to identify patterns that we can use to build structure. It has been incredibly difficult to have a single standardized approach to community to emerge over the last 15-20 years, but there are a few that I personally like and linked to at the end of this article.

The first thing to remember is that everyone connects to a community across different touchpoints and at different stages of an engagement cycle. The good news is that you can usually classify these people into one of the following cycle stages:

  1. Sensitization – this person has a general knowledge or interest in your project, but you may not yet know it exists.
  2. Casually engaged — this person will read articles about your project, visit your website, interact with the content of your portals or on social media.
  3. Directly engaged — this person will interact with communication channels (click links, access blog posts, and share signup to your community portal) and likely do something with the project but not interact with people involved in your project .
  4. Actively engaged — after researching the project and your organization, this person decides to use the software you are developing and engages in some way with the community by asking questions, answering questions, and providing comments. This step involves a major effort to directly involve other people who use the software.
  5. Clerk – this person sees a problem they can fix, submits a pull request in your project, and now qualifies as a committer. This step is essential because it allows a person to feel some ownership or personal investment in the project.
  6. Deeply Committed — this person is completely committed to your project, is likely involved in one or more committees that help keep it afloat, and acts as an evangelist who brings more people to your project.

A keen eye will recognize a similarity to a traditional sales funnel, but there is a distinct and important difference between a sales funnel and a community cycle: people will leave your community without you being responsible. They may not have the brain space, motivation, or enthusiasm to maintain their commitment or get excited about another project. None of this means you’re not engaging properly. Diminishing member engagement should not be seen as a failure, or you risk starting to assess your community’s strengths incorrectly.

Hire the right people

The first step to hiring the right people is finding the people! Raising awareness is a challenge for every organization (open source as well as enterprise). In short, you’ll build awareness by finding the people most likely to need the solution your project provides. For a deeper dive into awareness, I recommend watching this article on developing your strategy from Red Hat or this article about promoting on

As you begin to raise awareness for your project, you also need to keep the barriers to engagement as low as possible for your community. There are three practical ways to ensure this happens:

1. Design a welcoming culture for newcomers.

The most important thing is to make sure that no one is ever ridiculed for asking a question of any skill level and that all new users have a place where they are encouraged to ask new users questions .

2. Limit the number of new accounts to create.

Anything that requires disruptive action before participation is a potentially limiting factor to engagement. When designing your ecosystem, keep in mind that you want to engage where people already are. For example, asking people to have a GitHub or GitLab account in order to contribute might be a low bar, but asking them to sign up for a proprietary system could deter people from joining.

3. Define processes publicly.

If you want contributions to a project you’re passionate about, keep things as clear and simple as possible for new contributors, as confusion about what to do can quickly lead to frustration.

4. Apply project management techniques to the job.

Your team probably has big ideas, but newcomers may immediately feel overwhelmed by vague or broad “goals.” If you start by breaking a larger project down into smaller chunks, and then make the goals of that work very clear, new contributors can quickly find a way to get started without being asked for a large investment. It also allows them to participate as little or as much as they can, which makes them feel welcome.

The next step is to identify and build relationships with the most engaged people. It will be easier than you think! Once people enter the community, watch for people who are constantly asking questions, answering questions, and providing feedback. These people will stand out from you and be the people you want to empower. Empowering these people helps move them to the deep engagement stage.

Empower the right people

It is extremely important to empower people at the peak of their interest in your project. Empowerment in this context encourages an individual’s passion so that it can take active and physical form in regards to your project. Your job with these amazing humans is to give them what they need and then push away. Things like making sure they have the access they need to contribute productively and meaningfully, getting feedback on the contributions they make and how those contributions impact the success of the project and allowing them to provide support to help the project continue to grow over the long term.

Something as simple as helping these deeply committed people break down their big ideas into smaller tasks can help them see how their ideas or work can be used to empower a new contributor.

Then, once you’ve started empowering, keep those humans deeply engaged by continuing to take their feedback and showing them how it impacts the success of the project. Host regular, pre-scheduled feedback sessions for a few people (3-5 max) at a time, show them what they’ve accomplished in the last month, semester, or year, and ask them what you’re missing out on. as a project. Once they get tired of submitting pull requests, it’s time to expand your approach. You can get creative here as it will be very specific to your community. You might consider a mentor or buddy program, a highly visible feedback program (think ++ for IRC), or some other way to recognize leaders in your community.

Go for it

We haven’t talked much about what tools to use in all of this. What you use will depend on what you are trying to accomplish with your outreach goals, your community’s desires, and your budget. The most important thing is to start with the simplest tool for the job and expand it as needed. Here are some examples of tools you could use for project management: Open project, Focus chart and honestly, anything that provides you with a Kanban board.

Stay nimble in your approaches, but stay focused on empowering and serving your community, and success will be around the corner.

Characteristic picture Going through Pixabay.


About Author

Comments are closed.