Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakarta.ee-spec.committee] SI vs CI vs II

+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@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee


Back to the top