There's
already some optional specs in Java EE 8, we could
remove them in Jakarta EE 9 and then not have to worry
about moving them to jakarta.*.
We could also consider pruning some other specs by
making them proposed optional in Jakarta EE 9 and
making them optional and possibly removing them in
Jakarta EE 10. Such specs might not need to be moved
to jakarta.*.
I think this is why the Big Bang proposal says "some
or all" will be moved to jakarta.*; it allows us to
leave behind specs that we plan to abandon.
But we haven't decided what our pruning or removal
policy will be for Jakarta EE releases so this may be
premature.
Steve,
> Are you really suggesting
that after all this time that we actually don’t
want to change the apis that we’ve just spent
two years moving to the Eclipse Foundation?
Not at all. I'm just being pragmatic.
It's very easy to talk about all of the desired
changes. It's another to get the community fired
up to actually architect, develop, test, and
document all of the changes. An incremental
approach would allow the more gradual (I'd say
natural) migration from javax to jakarta. It also
allows us to better determine which Specs are not
active and maybe candidates for stabilization or
deprecation or even removal.
---------------------------------------------------
Kevin Sutter
STSM, MicroProfile and Jakarta EE architect
e-mail: sutter@xxxxxxxxxx
Twitter: @kwsutter
phone: tl-553-3620 (office), 507-253-3620 (office)
LinkedIn: https://www.linkedin.com/in/kevinwsutter
From: "Steve
Millidge (Payara)" <steve.millidge@xxxxxxxxxxx>
To: jakartaee-platform
developer discussions <jakartaee-platform-dev@xxxxxxxxxxx>
Date: 06/05/2019
03:23 PM
Subject: [EXTERNAL]
Re: [jakartaee-platform-dev] Transitioning Jakarta
EE to the jakarta namespace
Sent by: jakartaee-platform-dev-bounces@xxxxxxxxxxx
I’m
not aware of any list. The linked document is
Arjan’s view of what he wants to see. I’m sure
others would have other ideas. I for one would
want to see evolution of CDI, JBatch, JPA and
JMS and maybe even EJB which weren’t on the
list.
Now
that APIs have been moved to the Eclipse
Foundation whether an api evolves or not is up
to the open source project and the corresponding
community. However I firmly believe that for all
the mainstream heavily used Java EE 8 apis there
is a desire out there to see them evolve.
Are
you really suggesting that after all this time
that we actually don’t want to change the apis
that we’ve just spent two years moving to the
Eclipse Foundation?
Steve
BTW,
I should mention that my comment was general in
nature and not targeted specifically at Bill’s
comment. I just wanted to insert my thought
somewhere and that seemed as good a place as any
:-)
I’ve been pretty quiet up to this point,
following the discussion. Early on was I was for
“big bang” for various reasons already outlined
in other comments. What I find increasingly
concerning, the more I think about it, we are
guessing/making assumptions as to the impact of
a decision.
“We don’t know what we don’t know”, IMHO. Making
a big-bang change is a big step that could have
unforeseen consequences to the ecosystem and the
user base. We are a small group discussing the
namespace issue that is trying to represent a
developer base of probably 1M managing
potentially millions deployed apps based on
these specs. A more conservative approach would
be to do an incremental update, measure the
impact and learn some things along the way, and
then decide if further incremental steps are
required or if we can simply move the remainder.
On Jun 5, 2019, at 9:20 AM, Bill Shannon <bill.shannon@xxxxxxxxxx> wrote:
Oracle agrees that Big Bang is best.
Steve Millidge (Payara) wrote on 6/5/19 9:12 AM:
Just to add Payara favours a big bang approach
as described in https://github.com/eclipse-ee4j/jakartaee-platform/blob/master/namespace/proposal-01-bigbang.adocwe believe a majority of APIs need to
evolve and therefore a majority of apis will
eventually move to the Jakarta namespace so may
as well do it now.
From: jakartaee-platform-dev-bounces@xxxxxxxxxxx<jakartaee-platform-dev-bounces@xxxxxxxxxxx>On Behalf Of Scott
Stark
Sent: 05 June 2019 16:59
To: jakartaee-platform developer
discussions <jakartaee-platform-dev@xxxxxxxxxxx>
Subject: Re: [jakartaee-platform-dev]
Transitioning Jakarta EE to the jakarta
namespace
There
has been no decision and there continues to be
uncertainty as to the best approach. Vendors
seem to favor an incremental approach as there
is a belief that it eases backward compatibility
stories. Developers seem to favor getting the
move over with. I think the current plan is to
talk about a plan toward a decision on the
upcoming June 12 community call.
Has
a definitive decision on this been reached
already? If not, when will it be reached? If a
decision has been reached, can the community
have visibility into how each of the
stakeholders voted on this issue and why?
I
looked at the recent meeting minutes and it is
very unclear to me if a vote was held and what
the rationale from each decision maker was. In
particular I would personally like to understand
how community input was weighted.
I
am still hoping we can all celebrate together
soon with the right forward looking and
community focused decision being made by
stakeholders.
Reza
Rahman
Principal
Program Manager
Java
on Azure
Please
note that views here are my own as an individual
community member and do not represent the views
of my employer.
Sent via the Samsung Galaxy S7, an AT&T 4G
LTE smartphone
--------
Original message --------
Date:
5/6/19 7:23 PM (GMT-05:00)
Subject:
[jakartaee-platform-dev] Transitioning Jakarta
EE to the jakarta namespace
[Contents of this email represent discussions of
the Jakarta EE Specification Committee over the
last several meetings. The statements here have
been reviewed by and represent the voice of the
Jakarta EE Specification Committee]
As announced in the Update on Jakarta EE Rights
to Java Trademarks[1] post on Friday, future
modification of the javaxnamespace will not be allowed. While
this is not what was envisioned when Jakarta EE
started, in many ways this in our best interest
as the modification of javaxwould always have involved long-term
legal and trademark restrictions.
To evolve Jakarta EE, we must transition to a
new namespace. The primary decisions we need to
make as a community and industry are how and
when. Given all delays and desires on everyone’s
part to move forward as fast as possible, we
would like to have this discussion openly as a
community and conclude in one month. It is the
hope that in one month a clear consensus emerges
and can be presented to the Specification
Committee for final approval.
In an effort to bootstrap the conversation, the
Specification Committee has prepared two
proposals for how we might move into the new
namespace. These should be considered a starting
point, more proposals are welcome. No final
decisions have been made at this stage.
The guiding principle for Jakarta EE.next will
be to maximize compatibility with Jakarta EE 8
for future versions without stifling innovation.
Other proposals should incorporate the following
considerations and goals:
·
The
new namespace will be jakarta.*
·
APIs
moved to the jakarta namespace maintain class
names and method signatures compatible with
equivalent class names and method signatures in
the javax.* namespace.
·
Even
a small maintenance change to an API would
require a javaxto jakartachange of that entire specification.
Examples include:
o
Adding
a value to an enum
o
Overriding/adding
a method signature
o
Adding
default methods in interfaces
o
Compensating
for Java language changes
·
Binary
compatibility for existing applications in the javaxnamespace
is an agreed goal by the majority of existing
vendors in the Jakarta EE Working Group and
would be a priority in their products. However,
there is a strong desire not to deter new
implementers of the jakartanamespace from entering the ecosystem
by requiring they also implement an equivalent javaxlegacy
API.
·
There
is no intention to change Jakarta EE 8 goals or
timeline.
·
Community
discussion on how to transition to the jakartanamespace
will conclude Sunday, June 9th,
2019.
It is envisioned binary compatibility can be
achieved and offered by implementations via
tooling that performs bytecode modification at
either build-time, deploy-time or runtime. While
there are open questions and considerations in
this area, the primary goal of the discussion
that must conclude is how do we move forward
with future modifications to the APIs
themselves.
Proposal 1: Big-bang Jakarta EE 9, Jakarta EE
10 New Features
The heart of this proposal is to do a one-time
move of API source from the javaxnamespace
to the jakartanamespace with the primary goal of not
prolonging industry cost and pain associated
with the transition.
Were we to take this path, a compelling approach
would be to do the namespace rename and
immediately release this as Jakarta EE 9.
Additional modifications would be put into a
Jakarta EE 10 which can be developed in
parallel, without further delays.
·
Some
or all Jakarta EE APIs under javaxwould
move immediately into jakartaas-is.
·
Any
packages not moved from javaxto jakartacould be included in Jakarta EE, but
would be foreverfrozen and
never move to the jakartanamespace.
·
Jakarta
EE 9 would be refocused as quick, stepping-stone
release, identical to Jakarta EE 8 with the
exception of the javaxto jakartanamespace change and immediately
released.
·
Jakarta
EE 10 would become the new release name for what
we imagined as Jakarta EE.next with only minor
impact on timeline.
·
Work
on Jakarta EE 10 could start immediately after
rename is completed in the GitHub source and
need not wait for the Jakarta EE 9 release to
actually ship.
Pros:
·
One-time
coordination and cost to the industry,
including; conversion tools, users, enterprises,
cloud vendors, IDE creators, platform vendors,
trainers and book authors.
·
Easily
understood rule: everything Jakarta EE 8 and
before is javax, Jakarta EE 9 and after is jakarta
·
Consistent
with the javaxto jakartaMaven groupId change.
·
Highest
degree of flexibility and freedom of action,
post-change.
·
Industry
would have the opportunity to begin digesting
the namespace change far in advance of any major
new APIs or feature changes.
Cons:
·
Largest
upfront cost for everyone.
·
Specifications
that may never be updated would still likely be
moved.
·
Decision
to not move a specification is permanent and
therefore requires high confidence.
Decisions:
·
Which
specifications, if any, would we opt not to
move?
·
Would
we take the opportunity to prune specifications
from Jakarta EE 9?
·
Do we
change the language level in Jakarta EE 9 to
Java SE 11 or delay that to Jakarta EE 10?
Proposal 2: Incremental Change in Jakarta EE 9
and beyond
Evolve API source from javaxto the jakartanamespace over time on an as-needed
basis. The most active specifications would
immediately move in Jakarta EE 9. Every Jakarta
EE release, starting with version 10 and beyond
may involve some javaxto jakartanamespace transition.
·
The
most active APIs would immediately move from javaxto jakarta
·
APIs
not changed or determined by the community to be
unlikely to change would stay in javax
·
Jakarta
EE 9 would be a mix of javaxand jakartapackaged APIs
·
If a
change was needed to a javaxAPI post Jakarta EE 9 for any reason,
that API would transition fromjavaxto jakarta.
·
Jakarta
EE 10 would be a mix of javaxand jakartapackaged APIs, but a different mix than
Jakarta EE 9.
·
At
some point down the road, Jakarta EE xx, it may
be decided that the migration from javaxto jakartais
“done” and the final APIs are moved.
Pros:
·
Cheaper
up front cost and reduced immediate noise.
·
No
need to move specifications unless there is an
immediately visible benefit.
·
Potential
for less impact from API change overall.
Cons:
·
Prolonged
coordination, cost and complexity to industry
affecting conversion tools, users, enterprises,
cloud vendors, IDE creators, platform vendors,
trainers and book authors.
·
Use
of restricted javaxnamespace prolonged.
·
Frustration
of “always changing” packages may deter
application developers and become a permanent
perception of the brand.
·
Difficulty
in remembering/knowing which Jakarta EE release
an API was moved. “Is Connector javaxorjakartain
Jakarta EE 11?”
·
Difficulty
in keeping the industry in sync.
·
New
implementations may find themselves having to
deal with the javaxto jakartatransition, unable to avoid legacy
costs and therefore decide not to enter the
space.
·
Transitive
dependencies to other specifications may make
incremental change difficult or impossible.
·
Restrictions
on what Java SE implementation can be used for
certification
Decisions:
·
Do we
start small or start large?
·
Which
APIs would immediately need to be changed?
Out of Scope
The following are very important community
discussions, but do not require a decision in
the time-frame allotted:
·
Roadmap
or release date for any Jakarta EE.next that
would contain new features
·
List
of specifications that may be deprecated, pruned
or removed from Jakarta EE.next, if any
·
Specification
text around backwards compatibility
requirements, if any
·
What
profiles should be defined
However, depending on the path chosen, some of
these topics may require immediate resolution
before the chosen path can be executed.
[1]
https://eclipse-foundation.blog/2019/05/03/jakarta-ee-java-trademarks/
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev