Remove `licensed` type from Feature Flags for GitLab Development
This type of feature flag sometimes confuses developers as it's for the development of the licensed feature, however, there is a
development type already for that purpose.
In general, licensed type feature flags should be used:
- The feature flag is added when we introduce a alpha/beta feature that can be accessed by only approved users. For example, an year ago Digital Ocean released Kubernetes Integration feature as beta and announced that they were looking for beta testers. Users who wanted to try out the feature had to submit a request form to them and only accepted ones were able to start using it.
- The feature flag is deleted when the beta feature is promoted to GA (Generally Available).
- We should have a alpha/beta user (or project/group) registration process and associate it with the licensed type.
- The feature flag should be disabled by default.
Keep in mind that alpha/beta feature does NOT mean incomplete feature. Alpha feature is a complete feature but has significant limitation thus it's barely useful in real world example, where as incomplete feature is a feature under the development with
development type feature flag thus should not be exposed to the users at all (e.g. you still have open MRs to be merged).
We remove the
licensed type feature flag for now to avoid the confusion and misusing.
At first, we need to investigate if there any needs of alpha/beta tester program in our organization. If there is such demand, we should consider the proper architecture of the registration process.