A Compatible Implementation must fully
implement all non-optional elements of a Specification Version, must
not extend the API (no supersetting), and must fulfill all the
requirements of the corresponding TCK. A Specification Version must
identify one or more Compatible Implementations under an Open Source
License that, in aggregate, implement all optional elements of the
Specification and fulfill the requirements of all elements (including
optional elements) of the TCK.
I have a minor question about the modification. Let's look at this scenario:
Say we have optional features A, B, C
In Jakarta EE9, Open Liberty implements A and B. TomEE implements C.
In Jakarta EE 10, Open Liberty decides not to support B any more and no other runtime supports B. Should we remove B from the platform Spec? I don't think this is a valid reason to hold off the release because in aggregation we can't cover all optional elements. This is pretty much a natural route from optional to removal.
If we are in agreement, should this be documented somewhere?
Emily