What is the criteria for a feature being added to the Mattermost platform?
Per the Code Contribution Guidelines, before a pull request is made for a feature outside the list of tickets accepting pull requests, we ask community members to discuss the feature with the core team so a ticket accepting pull requests can be created that clearly describes the improvement.
Criteria for accepting a proposed feature includes:
1. Does the proposed feature fit the focus of the Mattermost open source project: all your team communication in one place, easy-to-use, searchable and accessible anywhere?
2. Is the benefit of the feature to the broad community worth the fixed and recurring costs beyond the initial pull request?
To determine cost, we consider:
a) How much fixed cost in time and effort is needed to complete the feature after the initial pull request in terms of testing, fixes, integration and documentation?
b) How much recurring cost in time and effort is needed to maintain the feature long term in terms of both automated and manual testing during our monthly releases, as well as ongoing support and troubleshooting required?
EXAMPLE: A COSTLY FEATURE ADDED TO PLATFORM
As an example, we can consider the decision for including PostgreSQL support in Mattermost in addition to support for MySQL.
The benefit of the change to the broad community was enabling Mattermost to be included in the GitLab omnibus installer, which used Postgres, and making Mattermost available to 100,000 organizations that used GitLab.
The fixed cost beyond the initial pull request was in testing the new option, fixing the many bugs that arose (particularly in text search, due to differences in the MySQL and Postgres implementations), and updating and testing setup documentation with the new addition.
The recurring cost for the feature is in having to test new features with database dependencies (particularly around full text search) on both Postgres and MySQL, and in having to test, troubleshoot and support both databases in the monthly release process.
Weighing all factors, the core team decided to add Postgres support, since the benefit of rapidly expanding the Mattermost audience outweighed the fixed and recurring costs of the feature.
How are the features of Mattermost Enterprise Edition determined?
When features don’t meet the criteria for being added to the Mattermost platform, and when an enterprise customer is motivated to fund the fixed and recurring costs of the feature, as well as enterprise-level support and troubleshooting services through a subscription license fee (which also includes access to other enterprise-specific features developed for the needs of other customers), the Mattermost core team may provide the customer with a commercial Mattermost Enterprise Edition build, created and maintained for enterprise customers.
How do I get access to and support for Mattermost Enterprise Edition?
The Mattermost core team is currently supporting multiple enterprise customers who have deployed the standard version of Mattermost in production, need specific enterprise features and close support to scale their deployments, and either have pre-purchased or are prepared to purchase subscriptions to support services and enterprise features in Mattermost Enterprise Edition.
If your organization fits this criteria, please contact us.