Extend namespace license checks to existing EE features for GitLab.com and EE as default
Description
For the pricing plans on GitLab.com, we have already enabled add-on based license checks for certain features. This needs to be extended to all other EE features.
Additionally, we will be offering EE as the default download for GitLab and allowing all free features to work with an unlicensed GitLab EE instance.
Please note that the plans will be activated in 9.5 at the earliest as we have lot of testing to do, both technical and user experience. Please see https://gitlab.com/gitlab-com/customers-gitlab-com/issues/147 for details.
Proposal
The following functionality needs to be put behind similar license checks, in priority order:
-
Multiple issue assignees (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2564 @to1ne -
Service desk (EEP / Silver + Gold) https://gitlab.com/gitlab-org/gitlab-ee/issues/2565 @nick.thomas -
Merge requests approvers (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2566 @nick.thomas@to1ne
-
Multiple issue boards (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2567 @reprazent -
Issue boards with milestones (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2568 @reprazent -
Issue board focus mode (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2569 @reprazent -
Rebase merge requests before merge (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2570 @nick.thomas -
Squash and merge (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2571 @nick.thomas -
Use fast-forward merged where possible (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2572 @nick.thomas -
Push rules (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2573 @nick.thomas@to1ne
-
Branch permissions for users (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2574 @reprazent -
Set weight of issues (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2575 @nick.thomas -
Group-level Webhooks (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2576 @reprazent -
Mirror external repositories (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2577 @to1ne -
Burndown charts (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2578 @reprazent -
Contribution analytics (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2579 @to1ne -
Issue/MR templates (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2580 @to1ne -
Global code search (i.e. Elasticsearch) (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2581 @nick.thomas -
Audit events (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2583 @to1ne -
Export issues (EES / Bronze) https://gitlab.com/gitlab-org/gitlab-ee/issues/2584 @nick.thomas
Details for functionality
Open Questions
Do we show functionality, but redirect and display a purchase page if a user tries to access it? For example show Contribution Analytics
but when somebody visits that page, show an interstitial page and promote the user to upgrade? This may be difficult for some circumstances, but simple for others. We could always take this out of scope and create future issues on a per-feature basis to promote the functionality & plans.
Note to above: Keeping question for historical purpose. In 9.3 we will just hide the functionality and can show a 404 if someone without access tries to request the resource.
How do we deal with functionality if the setting has already been applied and the user no longer has access to the feature? Will have to address this in future releases. Existing GitLab users will be given a free subscription, at least for one year, so this may not be an issue or a while.