All,
We've noticed lots of confusion around these names so hopefully
this email will help.
Ivar Grimstad published a similar post yesterday when he
described the
relationship between Jakarta EE, EE4J and Java EE. But I had
already written this, and decided that it was still worth sending
to the list.
The easiest way to describe when you should use Jakarta EE is
this: any time you would have previously said “Java EE”, you would
now use Jakarta EE. Unless, of course, you’re actually referring
to Java EE, as Java EE will remain in the marketplace at the Java
EE 8 level, and the vendors will continue to support it for many
years to come. The new Jakarta EE brand will replace Java EE for
future versions of this technology.
Specifically Jakarta EE is the trademark which can be used by an
implementation which has passed the (TBD) Jakarta EE compliance
tests and the (TBD) brand usage requirements to denote it as a
compatible implementation.
Also, the future Jakarta EE Specification Process will be
replacing the existing Java Community Process for future versions.
So using the term Jakarta EE Specifications will also be
appropriate going forward.
But more generally, Jakarta EE will be used as the name which
denotes the future platform that this community will be creating.
As such, we expect that some amount of brand hijack will take
place, and folks will say things like “I am a Jakarta EE
developer.”
Which leaves the question of EE4J, and when do you use that name?
The short answer is “somewhere between rarely and never”.
The Eclipse Enterprise for Java (EE4J) top-level project and its
Project Management Committee (PMC) is the place where the Jakarta
EE Specs, APIs, TCKs, and most of the reference implementations
(e.g. Eclipse Glassfish) are developed. As such, EE4J is basically
an organizational artifact, rather than a brand. I don't think it
would make sense to say “I am a EE4J developer”, although it would
make sense to say “I am a committer on an EE4J project.”
There are some weird corner cases here, such as it may be possible
that in the future we could have a project under EE4J which is
developing, for example, the Jakarta EE Servlet 5.0 specification.
Maybe at some point in the future we’ll create a separate
top-level project to hold the artifacts that are specifically
Jakarta EE related. But at the moment our collective focus is to
get these projects moved over and running as quickly as possible.
So please bear with us while things are under construction.
We realize that for some months EE4J was the only name we had, and
people got used to calling the platform EE4J. In a perfect world
we would have had the Jakarta EE name picked first. However, we’re
really happy with the Jakarta EE brand that was selected by the
community and think it will serve all of us extremely well over
the coming years. Hopefully this will help explain when and how
to use it.
Hope that helps!