At Mattermost, we be believe workplace messaging will become a leading platform for workflow and business process. We believe building such a platform on open source infrastructure has powerful advantages.
We consider people who share these beliefs, and who seek to benefit from or influence the Mattermost open source project, to be part of the “Mattermost Community”.
The success of Mattermost as an open source platform for messaging-based workflow and business process depends on empowering our community to build with us towards a shared vision.
The Mattermost community has two parts, Users and Contributors, detailed below.
Interested in contributing to Mattermost? Learn about all the ways to get involved with our community.
In general, all members of the Mattermost community are users of the open source project. They can range from end users and system administrators, to developers on the Mattermost platform in some way. The common bond we all share is that we benefit from the project’s continued and growing success.
The user community has a number of segments:
People using Mattermost to communicate and achieve their organization’s top priorities.
People deploying Mattermost and supporting end users.
People who extend and customize Mattermost privately but who do not share back their work with the open source community (for a range of reasons, often related to confidentiality) are considered “users”. When users are able to share their work with others in the community they are recognized as “contributors”.
Organizations that purchase Mattermost Enterprise Edition as an extension of the Mattermost open source project for advanced features are known as "customers". While the Mattermost roadmap is focused on benefiting the broad community, large customers may accelerate certain parts of the roadmap they find most valuable through purchasing large numbers of Enterprise Edition licenses.
Contributors are a subset of the Mattermost community who help increase the overall benefits of Mattermost for others. This may be as simple as offering feature ideas, reporting bugs, or offering professional installation and deployment services. Or it can be as complex as building whole new products based on Mattermost, or contributing code to the underlying software.
The work of all contributors is valued, appreciated, and recognized as a driving force behind the project’s growth.
There are many ways to contribute.
As of May 2020, over 1,900 open source projects on GitHub reference Mattermost. Solution Contributors create a host of technologies to empower Mattermost software to solve real world problems. Technologies include:
- Self-hosted integration solutions: Includes connectivity and integration with third-party applications such as Jira, Confluence, GitLab, Jenkins, and other tools.
- SaaS-based integration solutions: Includes connectivity and integration with services like Twitter, Zendesk, Salesforce, and hundreds of other extensions with services like Zapier.
- Programming solutions: Includes language-specific drivers and connectors to simplify the work of other developers.
- Mattermost user experience plugins: Includes server and client-side plug-ins that enhance the native capabilities of a Mattermost server, such as voice, video, and screensharing with Zoom’s self-hosted or vendor-hosted solutions.
- Federated experiences: Includes bridges with IRC, Slack, and other messaging applications through solutions like Matterbridge.
- Custom user experiences: Includes integrations into Terminal and Pidgin built off the same core APIs as Mattermost’s Web, Desktop, iOS, and Android experiences.
Community Coordinator: Jason Blais
You are welcome to document your contributions to the Mattermost open source project in your resume or on LinkedIn in any matter you feel is accurate. Below is an example of an entry:
Open Source Solution Contributor
[Where you did your work]
- I currently work here:
Check "Yes" if you continue to maintain your work
Solution contributor for Mattermost open source project
[Description of your solution, its benefit to end users, and link to project. Example: "Maintainer of Mattermost-Zoom plugin which offers voice, video and screensharing for Mattermost end users through Zoom integration, either through a self-hosted private cloud deployment or a vendor-hosted SaaS service from Zoom. See the project at https://github.com/mattermost/mattermost-plugin-zoom."]
Other contributor types beyond solution contributors are also welcome to use and modify this LinkedIn template to document their contributions.
Platform contributors provide improvements to the core Mattermost open source projects under https://github.com/mattermost/. Contributions may be made at different levels of skill and impact:
- Level 1: Stated intention to contribute by completing Mattermost Contributor Agreement which adds contributor’s name to Mattermost Approved Contributor’s list.
- Level 2: Corrections or improvements to on-screen text, documentation, or help text. Cosmetic improvements to code base.
- Level 3: Corrections of minor bugs in code base other than on-screen text, documentation, or help text either through spontaneous contribution or by volunteering for and being assigned a ticket by a core committer.
- Level 4: Corrections to major bugs, or the implementation of minor feature either through spontaneous contribution or by volunteering for and being assigned a ticket by a core committer. Alternatively, requesting and being assigned a ticket of 2 mana or higher by core committer and completing the project.
- Level 5: Requesting and being assigned a ticket of 8 mana or higher by core committer and completing the project.
- Core Committer: Highly skilled developer who becomes a maintainer and regular contributor to core Mattermost open source projects.
All contributors Level 2 and above are eligible for a custom-printed Mattermost Mug acknowledging their role in the open source project.
Community Coordinator: Jason Blais and Ben Schumacher
Translation contributors can create and update translations to existing or new Mattermost languages at https://translate.mattermost.com. In addition, community members can become “Language owners” and help review, coordinate and supervise the translation of Mattermost into languages they speak.
Community Coordinator: Jason Blais
Documentation Contributors update, edit, and create new documentation, help text, training, and other materials to help the community get the most out of Mattermost software. Core documentation is found at https://docs.mattermost.com and contributions can be made via the open source repository at https://github.com/mattermost/docs/.
Community Coordinator: Carrie Warner and Justine Geffen
Quality Assurance contributors help find, confirm and report product defects via our process at https://www.mattermost.org/filing-issues/. Anyone who encounters a verifiable defect is welcome to file a bug on the system.
Bonus: When a QA contributor finds and reports a bug on a release candidate build of Mattermost prior to the final release of the system, they can be awarded a Mattermost Bug Hunter Award for their contribution.
Community Coordinator: TBD
Knowledge Base contributors share feedback, questions, and answers on Mattermost through forums for troubleshooting, feature proposals, GitHub issues, and on the Mattermost community server.
Community Coordinator: Amy Blais
Deployment solutions contributors create packaging and automation for making it easier to deploy Mattermost, using tools such as Docker, Kubernetes, and other leading virtualization and orchestration solutions. See Deployment Solutions Programs for guidance on how to build to common Mattermost standards.
Community Coordinator: Jason Blais and Amy Blais
UX Design contributors influence the design of the Mattermost user experience through discussion in the
ux-designchannel on the Mattermost continous integration server at https://community.mattermost.com/core/channels/ux-design and through contributions to the Mattermost User Experience Guidelines on GitHub.
Community Coordinator: Andrew Brown
Coordination Contributors help organize and align contributors from all the different roles above. When coordinating and leading a contributor community, key principles to keep in mind include:
- Make it easy and realistic for contributors to get started.
Have clear instructions and realistic expectations. Remember there are thousands of open source projects in the world so the more difficult it is to contribute the fewer contributions there will be.
- Recognize, retain, and recruit
Recognizing people’s contributions is vital to keeping them engaged. Leverage the existing programs to acknowledge the impact people are having. Retaining active contributors is hugely impactful because they’re trained and ready to go on future projects, and both acknowledgement for jobs done well and new, interesting projects are key to keeping momentum going. The next more important is recruiting new contributors and being able to showcase a vibrant and active existing community to offer a model for new contributions.
- Focus on high impact, skill appropriate contributions
When possible, influence contributors to apply themselves to the highest impact tickets and projects appropriate for their skill level. Meaningful contributions early in the contributor journey are a powerful way to draw people into the community.
Mattermost staff are paid by Mattermost, Inc. to take on any of the contributor roles mentioned above, as well as to develop and support Mattermost Enterprise Edition as a commercial extension of the Mattermost open source project for large and sophisticated organizations.