Skip to main content

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

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.)


Back to the top