spec
spec copied to clipboard
Define Version Mismatch Behavior
Problem
The global singleton used in OpenFeature provides a number of benefits. However, it may introduce some challenges in the future. For example, if a library is using an older version of OpenFeature it may not be compatible with the provider interface.
Objective
Define the expected behavior in the spec when this situation occurs.
In go-feature-flag
I offer the possibility in the SDK to use a singleton or multiple instances https://docs.gofeatureflag.org/v0.27.1/configuration/#multiple-configuration-flag-files.
Offering both ways could help to use multiple versions at the same time.
This is a theoretical issue at this point which is why it hasn't been a priority. However, in the future, library authors may want to include OpenFeature support in their libraries. If this happens, we run the risk of an old version of OpenFeature running that may not be compliant with the registered provider.
OpenTelemetry had a similar problem and they solved it by automatically disabling incompatible versions. You can see how they did it in node here.