Hello -
Reza Rahman has recently posted a
Joint
Community Open Letter on Java EE Naming and Packaging. Our
feedback is given below - most of it is context explaining our
direction. We hope it is helpful.
Oracle has previously communicated that it intends to work with the
EE4J community to:
1) Define a branding strategy for the platform, including a new name
for Java EE to be determined.
2) Enable use of existing javax package names, and enable extension
of existing javax namespaces (e.g. javax.servlet.*) to enable
compatibility and evolution of existing APIs.
3) Use a different namespace naming convention, i.e. different from
“javax.*”, for net new APIs/technologies.
Note that doing the above remains work in process, but it remains
our intent.
The open letter requests that Oracle and other EE4J stakeholders
work together:
1) To allow the new platform to retain the Java EE name
2) To allow use of existing “javax” packages for existing
technologies
3) To allow use of the “javax.enterprise” package for new
technologies
Oracle has already expressed its intent to do what is requested in
point #2 above. This would allow for compatibility between EE4J
releases and existing Java EE releases at the package level. We
will focus on points #1 and #3 below. Why not allow use of the
Java EE name, and why not allow use of the javax.enterprise
namespace for all new EE4J technologies?
The industry has changed since the Java EE development process was
originally created. The process was not seen as being nimble,
flexible or open enough. Our shared goal is to create a more nimble
process, with more flexible licensing, and more open governance that
is not dependent on a single vendor. We believe this will encourage
more participation and innovation. We see general support for this
new direction from across the community.
This new direction implies many changes, starting with a change in
the technology development process. The Java EE process, or to be
more specific, the JCP process that was used for Java EE
development, is a highly structured process that grants
specification leads significant influence over how technologies are
specified and implemented. The EE4J process will be different. It
will be more open. Single vendors including Oracle will continue to
contribute, but will no longer have the same level of influence over
how new EE4J technologies evolve. We believe there is consensus
that this is a positive step for the community.
This new development process drives choices around use of the Java
EE name, and use of the javax.* package names for new technologies.
The Java EE and javax.* names leverage the Java trademark, and
indicate that the source of these technologies is Oracle and
community processes managed by Oracle. As a critical identifier of
the source of products to our users, we must continue to reserve use
of such names using the Java trademark to serving that fundamental
source identifying function. This will help us to maintain the Java
trademark, which is in Oracle’s interest and in the community’s
interest. We recognize there are likely to be requirements to
create new versions of existing Java EE specifications that were
already created using the existing JCP process. We believe we can
work out an approach to allow use of javax.* names for extensions to
these existing specifications in order to accommodate these
requirements. However, if we adopt a new process for new EE4J
technologies, as is desired by the community, we believe we must
require that a new namespace be used for the new EE4J technologies
that are developed using that process, and a new brand (other than
Java EE) that includes these new technologies. There is a tradeoff
here, and we believe that the net benefit of the new process
warrants the adoption of a new namespace for new EE4J technologies,
and a new brand.
We will work with the EE4J community to mitigate continuity concerns
that accompany this change. We are making it very clear that EE4J
will be an evolution of existing Java EE 8 technologies:
• We are contributing our existing GlassFish Java EE 8 Reference
Implementation sources to EE4J.
• We will contribute our existing TCKs.
• We are intending to allow certain uses of existing javax
packages as those packages evolve for compatibility.
• We are intending to allow use of existing specification names
for component specifications.
• We are building an initial EE4J implementation that is intended
to be both Java EE 8 and “EE4J” compatible.
• We will work with the EE4J community to promote the new brand.
These are positive steps we can take.
We support the efforts of the EE4J Project Management Committee to
make branding recommendations to the Eclipse Foundation. We
encourage the community to support the effort as well, and extend
thanks to all for the continued interest in Java EE and EE4J
technologies. And we hope to deliver soon more new projects with
GlassFish sources contributed to EE4J!
Thanks
Will
To change your delivery options, retrieve your password, or unsubscribe from this list, visit