It seems it may be marked for removal, but „Independent Implementation“ was described as „Clean Room“ and not derived from any part of the SI? If the term SI no longer should be used, then the only Purpose for the term II could be „Not derived from another Compatible Implementation“, Right?
“…some vendor will create their own API from scratch using the same namespaces as the officially released API from the Spec Project. “
That sounds weird. The same namespaces like “jakarta.*” for the API from the Spec Project should not be used without violating brands and terms defined by Eclipse Foundation.
Allowing to have more than one “Compatible Implementation” while mandating “at least one” sounds like a good argument to think of “jakarta.config” as opposed to “javax.config”.
So far JSR 382 not only failed to produce an EDR, the Spec documents are very thin and vague (compared to especially the MicroProfile equivalent) it also refused to declare a single RI like the JCP does mandate. So that would put the effort in a much better position as a Jakarta Spec with 2, 3 or more Compatible Implementations (maybe more if those graduated from MicroProfile also count)
Having one spec started new or based on an Eclipse Technology project like JNoSQL and another one that shows how MicroProfile features may graduate to become part of a future Jakarta spec is probably a good thing. And unlike e.g. Ivar’s MVC JSR that shipped more than one milestone under javax.mvc to MavenCentral in the past 3 years, JSR 382 has not yet deployed anything there.
Werner
+1
The term Specification Implementation is confusing and unnecessary. The term Compatible Implementation is more than adequate. The purpose of the Compatible Implementation to serve as proof that the Spec and TCK are aligned and that an proper implementation can pass the TCK and meet the requirements of the spec. It was not, as was the case with the RI, to serve as a reference for other implementations nor as a reference for deciding on compliance meaning, which was the case with the RI.
The user of Independent Implementation is really a corner case. It means, to my mind, that some vendor will create their own API from scratch using the same namespaces as the officially released API from the Spec Project. I don't see when that would ever be done, buy I do agree that the Spec should be detailed enough to allow for it. Perhaps simply saying that while a API code will be released by the Specification, the specification itself must be detailed and complete enough to allow for the creation of the API from scratch, without use of the officially released API code.
We had more or less agreed a while ago that each Spec Project and determine if more than one Compatible Implementation is required. Some Spec Project will only have one, while others will have two or three even.
On Wed, Sep 5, 2018 at 3:46 PM, Bill Shannon <bill.shannon@xxxxxxxxxx> wrote:
Several people have been confused about the difference between a
Specification Implementation, a Compatible Implementation, and an
Independent Implementation.
A proposal was made to reduce confusion by eliminating the concept of
a Specification Implementation and just say that at least one Compatible
Implementation under an open source license must be available in order to
finalize a spec. That seems fine to me. Once the spec is finalized, there
doesn't seem to be a need to distinguish between SIs and CIs.
And what about Independent Implementations? Does an II need to be independent
of any CI that ever appears? Or does it just need to be (transitively)
independent of the CI(s) that were available when the spec was finalized?
The latter seems to be the intent.
The intent is that, by reading only the spec, and without use of an
implementation produced in conjunction with the spec development, can you
produce an implementation that functions as the spec requires?
I don't think we need a super strong definition of an Independent
Implementation. I think it's only relevant in determining the quality
and completeness of the spec. No II may ever exist, and that's fine. If
one does exist, we just want to think of it as another Compatible
Implementation.
If people agree, we can update the definitions accordingly.
(BTW, the current draft has removed the definition of Independent Implementation
even though it continues to be referenced.)
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee