Wayne Beaton wrote on 10/ 3/18 07:51 AM:
Roles of the PMC and Specification Committee:
PMC manages the governance process, and provides
oversight. They ensure that the open source rules of
engage are observed and the EDP as a whole is followed.
They participate in the Intellectual Property process to
ensure that requests for review are technically sound
(e.g. ensure that the use of third party content makes
technical sense). They provide best practices. The PMC
owns the software "stack" (i.e. their view spans the
concerns of all subprojects). The PMC tends to work more
at the development/technical level.
Specification Committee
owns the overall vision of how all the different
specifications fit together. <strike>They provide a
channel for intellectual property flows (I may not be
expressing this correctly).</strike> The
Specification Committee provides oversight for the
implementation of the EFSP and certification process on
behalf of the Working Group, owns the process of promoting
and maintaining Final Specifications
Approvals from both
parties are required for lifecycle Reviews.
The PMC is in the
Project Leadership Chain; the Specification Committee is
not.
As discussed in today's meeting, the problem with the above is that
it seems like both the PMC and the Spec Committee are providing
"architecture" and/or "vision" for the projects.
Somebody has to define the architecture and somebody has to check
that the result fits with the architecture. I expected that the
Spec Committee, like the JCP EC, was doing the latter. I'm not sure
whether it's the PMC or the "platform project" that does the former.
There's a theoretical problem here if one group defines the
architecture and another group gets to say "I don't approve what
you've done because I disagree with the architecture". I think we
solve that in practice by having many of the same
individuals/companies involved in both the creation and the
approval.
I'd love it if the FAQ included examples of the kinds of activities
or decisions that the PMC and the Spec Committee engage in,
something more concrete than "oversight" and "ensure the EDP is
followed".
The term "profile" is a flag for marking
specifications that extend branding privileges to
Compatible Implementations. Further, we apply special
voting requirements to profiles, so we need a definition.
Do we need the term "platform" to be formally specified as
part of the process? What is special about platforms (with
respect to the process)?
I'm fine with keeping it in the process document but not saying much
about it.
Is the use of this terminology sufficient?
"Compatible
Implementation: is any implementation that fulfills
all requirements of a Specification Version as
demonstrated by fulfilling all requirements of
the TCK."
Are these statements sufficient?
Yes.
A Compatible
Implementation must fully implement all non-optional
elements of a Specification Version, must not not extend
the API (no supersetting), and must fulfill all
requirements of the corresponding TCK.
Is it sufficient to require that just one
Compatible Implement fully implement a specification,
including all optional elements?
Yes.
(Fix "not not" above.)
A Specification
Version must identify at least one Compatible
Implementation under an Open Source License that
implements all optional elements of the Specification
and fulfills the requirements of all elements
(including optional elements) of the TCK.
By way of clarification, when we say that a CI must
implement all optional elements, does this apply to
the prerequisites? e.g. (hypothetical) if one has to
implement all optional elements of the JSP
specification; does one have to also implement all
optional elements of the servlet specification, or
only those optional elements of the servlet
specification that the JSP specification requires be
implemented?
The answer to this question, should be an FAQ
entry.
Depends on the requirements of the JSP specification. If the JSP
specification doesn't depend on some optional elements of the
Servlet specification, the full JSP CI wouldn't need to implement
those optional elements of the Servlet specification. In general, a
JSP CI wouldn't be implementing the Servlet spec at all, but would
require a Servlet CI to run on.
Do we need to make it clear that adding a
Compatible Implementation to a Final Specification
does not change the Final Specification? i.e. no
ceremony is required. IMHO, the process by which
Compatible Implementations get added is an
implementation detail.
What does it mean to "add" a Compatible Implementation to a Final
Specification?
As I've said previously, the specification document should not refer
to any implementations. The Project Review should include
information about Compatible Implementations. Once the review is
complete, there's no need to update that information, but we might
want to separately maintain a list of Compatible Implementations for
a given spec.
|