Building a stronger open source community for our contributors at Mattermost

We care a great deal about our engaged open source community, which has had thousands of contributions over the last three years.

Recently, we sent a survey to our contributors asking them to share feedback about their experiences. Their responses were overwhelmingly positive, but we did identify some potential ways to improve the experience further.

Let’s take a look at three ideas from our community we’re currently considering. We’d love to hear what you think about each of them. If you’d like to join the vibrant Mattermost community, head on over to our contributor page and get started!

1. Consolidate our various community sites to improve process coordination.

We currently use DiscourseUserVoiceGitHubJira and pre-release.mattermost.com to communicate with our community members:

  • QA contributors file bugs on GitHub to be vetted prior to moving to Jira
  • Knowledge base contributors use Discourse to provide essential information about Mattermost
  • Mattermost users use UserVoice to propose and discuss new features
  • Platform contributors take care of Help Wanted issues on GitHub
  • Customers and Mattermost staff use Jira to track progress and pre-release.mattermost.com to communicate

What we have today is a patchwork system that works, and we’re exploring ways to make it better.

One option is to consolidate our various community sites to avoid having community engagement is diffused, to make it easier to find issues as a community member, and easier to monitor issues as a Mattermost staff member.

We plan to examine potential improvements to our process in three phases:

Phase 1: Explore migrating UserVoice feature suggestions to Discourse.

Discourse offers a plugin that essentially replicates UserVoice’s functionality. Potential concerns and areas to investigate include:

  • How to transfer existing votes from UserVoice to Discourse. This may be accomplished via an open source script.  
  • How the admin experience for Discourse compares to UserVoice. We want to make sure the platform has many of the same features, including the ability to merge similar issues, email notifications when votes are cast and updated statuses of feature requests.
  • How best to communicate this migration. We want to make sure our community knows exactly where to go to contribute.

Phase 2: Explore migrating GitHub issues (except for help wanted issues) to Discourse.

Discourse is already used for bug reports and troubleshooting, so it makes sense to explore the option of migrating GitHub issues over there.

Here, potential concerns and areas to investigate include:

  • Will Discourse be discoverable for those developers who are more familiar with GitHub? Do other open source projects use Discourse?
  • How does the lack of auto-linking between issues and PRs affect the user experience? An existing plugin allows one to link GitHub content back to Discourse.
  • What is the experience for viewing open and closed issues? Resolved issues can be closed in GitHub but only archived in Discourse.

Phase 3: Explore migrating UserVoice feature suggestions and Discourse issues to GitHub.

While the first two phases focus on migrating to Discourse, the last phase focuses on exploring the opportunity to consolidate both feature suggestions and bug reports to GitHub.

Here, potential concerns and areas to investigate include:

  • How to set up a voting mechanism in GitHub. While issues can be sorted by the number of thumbs up reactions or by the number of comments, neither might reflect the true popularity of the feature proposal.
  • How to transfer existing votes from UserVoice to GitHub. We want to make sure popular feature suggestions receive the attention they deserve.
  • How the admin experience for Discourse and UserVoice compares to GitHub. We want to make sure the platform has many of the same features, including the ability to merge similar issues and email notifications when votes are cast.
  • How best to communicate this migration. We want to make sure our community knows exactly where to go to contribute.

2. Create a recognition program with different levels of contributors.

We love when developers contribute to the Mattermost project for the first time.

To encourage long-term engagement, we are planning to create a new recognition program that will award both developers and non-developers as they continue contributing.

Different levels of contributors would receive various rewards such as T-shirts, stickers and other swag. They may also get the opportunity to meet with Mattermost developers and other staff members or host an event representing the Mattermost community.

3. Create a platform for developers and other contributors to receive important updates.

Currently, we attempt to use Discourse for community outreach. But we’ve recently noticed that this is not an effective platform to communicate new changes or announcements.

Therefore, we are exploring the option of creating a new section on our blog for developers to better engage our community.

Some initial explorations can be found below.

developer

Would you like to join the vibrant Mattermost community? Head on over to our contributor page and get started. We look forward to seeing how you help the Mattermost project grow.

SHARE THIS ARTICLE:

mm
Jason Blais

Jason Blais is a Lead Product Manager at Mattermost, Inc. Prior to joining Mattermost, Jason served as a product manager and analytics manager for SpinPunch, a Y Combinator-backed online gaming startup. Jason has also provided statistical consultation at Stanford University. He is a University of Waterloo alumnus.

Subscribe for articles & tutorials

To get future blog posts to your inbox, subscribe below.

Bring your messaging and tools together to get more done, faster