Mattermost Community Guidelines¶
This document provides easy-to-follow community guidelines for:
GitHub Help Wanted Issues in Platform Repository¶
Goal¶
Increase Mattermost usage through larger and more numerous deployments via a vibrant open source community that contributes features that would not otherwise be offered.
Principles¶
- Contributors get a worthwhile benefit from their contributions, from the feature directly and/or from social recognition
- Community members should have a low barrier to contribute
- Community development workflow should be clear, efficient and effective
Creating Help Wanted Issues¶
To create a Help Wanted issue in the platform repository, follow these steps:
1 - Create a ticket in Jira that is well-defined and unambiguous.
The issue should be written with the mindset that the contributor might have no or limited experience with the Mattermost code base and limited exposure to the Mattermost product.
Note
Below are a few reasons why Jira tickets for Help Wanted issues are recommended:
- Jira tickets can be used to prioritize Help Wanted issues internally and are easily searchable by Mattermost staff, community, and customers
- Each Jira ticket goes through the triage meeting for dev and PM approval
- Zapier integration automatically creates GitHub Help Wanted issues from labelled Jira tickets, requiring no additional mana
- Resolved Jira tickets are automatically assigned to a QA, who tests them against the
master
branch.
2 - After creating the ticket, add “(Proposed APR)” to its title, so the triage team knows to consider it for a help-wanted
label.
3 - If the Jira ticket is accepted as a Help Wanted issue during triage, a help-wanted
label is added. This action automatically triggers a zap that creates a new issue in the platform repository.
- To accept a ticket as a Help Wanted issue, the description should be unambiguous, and include UI description and help text so the change can be implemented and tested by any contributor
- The triage team also adds the appropriate difficulty level (one of
Introductory
,Intermediate
andAdvanced
) and programming language (Go
andReactJS
) to the description of the Jira ticket
4 - After triage, PM on community rotation reviews formatting of the GitHub issue and adds appropriate labels for difficulty level and programming language as defined by the triage team.
Managing Help Wanted Issues¶
Once a Help Wanted issue is added, the PM on community rotation is responsible for:
- answering questions from community members, which get automatically posted in the Community Heartbeat channel
- following up with a community member if there hasn’t been a response for more than two weeks
Closing Help Wanted Issues¶
Once a pull request for an open GitHub Help Wanted issue is merged, please ensure:
- the corresponding GitHub Help Wanted issue is closed, thanking the contributor
- the corresponding JIRA ticket is resolved
Mattermost Community Forums¶
Guidelines for Mattermost community forums.
CM = community manager
Principles¶
- Support (answer everything correctly)
- Prioritize (focus help on those who help others)
- Empower (give them time to answer)
- Elevate (thank, recognize and approve their work)
- Grow (invite people to help as experts, promote people)
Response Writing Tips¶
- Don’t answer if unsure - Ask someone who knows for sure instead of replying with an assumption or incomplete understanding - Don’t be afraid to re-route if you don’t have the answer and are having trouble figuring it out
- Don’t make promises - Don’t say “we’ll work on it” or something similar that sets expectations that aren’t met later (e.g. after presenting to core team it turns out you can’t do it) - Be careful saying “that’s a good idea”, don’t just say it to be polite. Instead say something akin to “thanks for the idea”
- Choose positivity over negativity - Avoid excuses like “we’re busy”, or “our team is small” and turn a missing feature into an invitation to share a feature idea to be upvoted
- Do your best to link documentation as answers - Allows answers to be easily updated dynamically as documentation is updated - Any questions that should be answered in docs that aren’t should turn into tickets to create that documentation (and post ticket in response)
- Be thankful - Communities really respond well to being praised and thanked for their work