So You’ve Got a Community…Now What?
Growing and scaling open source communities isn’t without its challenges. As a project starts to gain traction, there’s often a need for a growing number of “makers,” people who are regularly contributing to the project, but it can be difficult to set up workflows and processes to empower keen community members to take on responsibility.
Let’s explore some of the challenges you may face building an open source community, some tips for how to deal with them, and how to keep an eye on community health while you’re busy doing the million and one other things you have on your plate.
Open Source Community Culture
When an open source community is small, culture is something that you probably don’t need to make explicit. People are in your community because they care and they want to help, and most of the time, everything ticks along perfectly amicably.
Maybe someone steps out of line or says something inappropriate, but it’s easy to resolve because you most likely know them personally. The maintainer/s are likely on first-name-terms with most of the open source community members, and the community feels they have a direct line to share their feedback and be heard.
As a community starts to scale, however, it becomes more tricky to maintain this sense of closeness, and people will be joining the community at a rate where it becomes untenable to have personal connections with every person.
It can be easy to just assume that everybody “gets” the culture, but this can lead to problems down the line.
Have a Clear Open Source Community Culture
Clarity is vital as your open source community scales.
If you don’t have a Code of Conduct, create one. There are many examples online that you can use as a template, but make sure it aligns with your community’s values and culture.
If you have a Code of Conduct, now is the time to review it. Whether auditing an existing Code of Conduct or creating a new one, ask yourself these questions:
- Is it comprehensive enough? Does it cover everything it needs to?
- Is it clear how sanctions will be handled? Including if/how people can return after being sanctioned?
- Is there someone other than you that people can report issues to (for example if the issue relates to you)?
Mozilla has open-sourced a great tool for reviewing your Code of Conduct, that can also be used to create one.
Dealing with the Gray Areas
As folks start to test the boundaries in your open source community, or you encounter more nuanced issues arising, it might be time to consider whether your community would benefit from a statement of values.
This can help to cover the gray areas where something is not quite a breach of the Code of Conduct, but it isn’t quite what you want to see in the community either. Some great examples include:
Cultivate Your Open Source Community Culture
Even with a strong Code of Conduct and value statement, they won’t be useful if they just sit on a shelf gathering dust. Leaders in your open source community need to set the bar high, and keep it there.
- Exemplify behaviors you want to see in the community
- Act quickly, decisively and publicly (where appropriate) against unwanted behavior
- Own your own mistakes and be open to learning from them
Establishing Self-Moderation Processes
Even with this all in place, it can be really difficult for a small group of leaders to stay on top of everything, which is why another key step early on is establishing systems of self-moderation.
This might look like having the capability in the tools you use for folks to report improper conduct which get escalated for review, or it might mean having a team of community moderators on your forum or chat instance, or setting up a triage team to welcome and respond to people reporting bugs or contributing improvements, for example.
Self-moderation is a great way to empower the most active and engaged members of your open source community to contribute in ways they’re already familiar with, while also serving a critical role in the development of a welcoming, inclusive, and friendly atmosphere.
Finding and Nurturing Open Source Community Contributors
Far and away the biggest challenge that growing communities face–not only in open source but also out in the wider world–is creating a sustainable model for people to get involved in making things happen.
As your open source community scales, the list of things that need to get done becomes endless, to the point where it simply isn’t possible for the central team of leaders to do on their own. Delegation becomes a critical survival factor.
Make it Clear You’re Open to Contributions
This might be obvious, but there are many open source communities that don’t make it obvious that they welcome contributions.
It’s worth being clear what contributions you want to accept; this can be anything from helping to fix bugs and create new features, to writing content for the blog, managing social media, moderating your community channels, creating artwork, writing documentation, etc. It’s a big list!
What to Delegate
You might not be in a position to delegate big tasks, but have you thought about how you can make a start with reducing the load and inviting contributions in smaller ways?
If you’re struggling with what to delegate, look at the things that are low risk–easily reversible if something goes wrong–and things someone else could do from start to finish.
Some examples might be:
- Drafting out a blog post to announce a new release
- Verifying reported bugs and applying the correct labels
- Checking and fixing broken links on your website or documentation
Starting with small, well-defined tasks and projects that reduce efforts for you and your core team is a great way to start to build confidence in delegating.
- Start small, and grow
- Governance model
- Decision making model
- Automate all the things
Working to trust your open source community members can go a long way. A quote to keep in mind: “Trust is a medicine best served in small doses.”
- You have to start somewhere – get OK with people not doing things how you would do them if it still achieves the desired results
- Empowering people to jump in, with guard rails if needed
- Importance of giving support and encouragement
In addition to trusting your members, setting appropriate boundaries is also important when soliciting contributions and maintaining your community in general.
- Don’t be afraid to say no
- Setting office hours/working hours and make yourself enforce them – you’re entitled to down time
- Set up the structures and workflows so that your core leaders can take time out completely away from the community
Open Source Community Health
As your open source community continues to grow, it’s important to keep an eye on the health of your community. Health metrics for one community may be irrelevant to another, so be thoughtful about what you want to track and ensure the data points align with your community values.
- Decide what you want to keep track of and why
- Find tools to automate as much as is humanly possible:
- GrimoireLab – eg https://chaoss.community/software/#user-content-grimoirelab
- Cauldron – eg https://cauldron.io/project/133
- Orbit – https://orbit.love
- Savannah CRM – https://www.savannahhq.com
- Report back to the community – tell them how things are going, where help is needed; let the data speak
Grow your open source community with GitKraken’s developer tools, free for public repositories. Try GitKraken tools free today: GitKraken Client for the desktop, GitLens for VS Code, and Git Integration for Jira.