Our community has been at the heart of what makes Mattermost great since the earliest days. The first community members were people who were trying out the earliest versions of the platform, filing bugs and wanting to make feature improvements. Our open source community has grown, contributing thousands of pull requests, from new features and plugins to translations and documentation.
But our community wasn’t built overnight, and we’ve put a lot of thought and hard work into laying the foundations to make it what it is today. Here are a few of the lessons we’ve learned as we’ve grown from those first few early contributors to the thriving community of people who contribute to Mattermost now.
Clear expectations help establish a cohesive community
We knew early on that we wanted to have clarity with the community around how we wanted our core committers to collaborate with them. We never want someone to contribute a pull request to Mattermost and not have it accepted; that’s not a great experience for anyone.
So, we told our community that we were going to create tickets of all the things that will be accepted into the repository. Before any pull request is submitted, it’s connected to a ticket and a discussion happens. That helps contributors have a greater level of confidence that their work is going to be accepted and merged, and it creates a great dialogue with our core committers.
Documentation has been another key foundational component of the community. If you have clear documentation that answers all the questions that people will have, there’s much less of a barrier to entry for new contributors. They understand our coding style guidelines, our ticketing process, and everything they need to be a successful contributor to Mattermost.
This structure and clarity also helps us to filter out people who aren’t a great fit for our community. If they don’t really like our guidelines or our structured process, they’re going to naturally self-select out and maybe go to another open source project that does things differently.
Developer Relations isn’t just a role; it’s a company-wide responsibility
In some ways, developer relations is everyone’s responsibility at Mattermost, and everything we do helps create a community that’s aligned with our values and culture.
Our Developer Relations function is about having leadership and ownership of this priority and working on dedicated projects like producing podcasts and blog posts, coordinating hackathons, and representing our brand at industry events to rally folks from the community to contribute. But while there are some people who are completely dedicated to Developer Relations, it encompasses a wide range of responsibilities and accountabilities. Everyone in the company is engaged in some way with the community, whether they’re supporting them directly or indirectly.
Keeping community members engaged over time is essential to growth
Just like when you’re hiring a team, building a great community means attracting and retaining the kind of people that you want to have a long-term relationship with. Not every contributor will make more than one contribution; some folks just want to get a specific bug fix or feature done.
We’re always looking out for the people who want to do more — and looking for ways to celebrate and reward them. For example, every month the Mattermost team nominates contributors and votes on a Most Valuable Professional award. We send that contributor a little plaque to recognize their contributions to Mattermost. We also send out Mattermost mugs to new contributors to commemorate their first Mattermost commit. Since we started the program, we’ve sent them to 65 countries and counting!
Programs like these add up, and they have helped us keep our community members engaged by celebrating their wins. But the surest way to get a contributor to keep contributing is hire them to become a core maintainer of the project and join as a staff member.
To learn more about Mattermost’s journey toward building a vibrant open source community, check out this interview about Successful Open Source Communities on the Technically True podcast.