[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-platform-dev] Transitioning Jakarta EE to the jakarta namespace

On 5/7/19 8:44 PM, Joakim Erdfelt wrote:
Other types of "javax" references that I can think of.
* ServiceLoader references (the file in META-INF/services/<blah>) - basic Servlet behaviors and WebSocket.
* Standard attribute names within things like HttpServletRequest.getAttribute() - important for Servlet forward and include and WebSocket API.
* ResourceBundle names for things likeÂjavax.servlet.http.LocalStrings - Servlet example, sure there are others.
* System.getProperty() names to adjust behavior from command line - JSTL example - System.getProperty("javax.servlet.jsp.functions.allowed")

there are already existing "renaming" tools catching and updating most of these properly at source level (read as "they were doing its job for past decade or so in projects they were targeted for"), even within existing ee4j projects. They would probably need only few tweaks to catch bit more patterns should they be used somehow (ie one of those tools does not catch patterns like 'String s = "javax.servet." + "jsp.functions.allowed"').
First tool coming to my mind lives at https://github.com/eclipse-ee4j/metro-package-rename-task, the other at https://github.com/eclipse-ee4j/eclipselink/tree/master/utils/eclipselink.utils.rename


...and I'm pretty sure, more tools like these already exists

thanks,
--lukas



On Tue, May 7, 2019 at 1:15 PM carlos andres de la rosa <kusanagi12002@xxxxxxxxx <mailto:kusanagi12002@xxxxxxxxx>> wrote:


    Yes good catch and also any other resources like properties files
    and also documentation resources

    Cheers

    On Tue, May 7, 2019, 20:06 Mark Struberg <struberg@xxxxxxxxxx
    <mailto:struberg@xxxxxxxxxx>> wrote:


one of the points I just came across is for example all the xsd and dtd we have. They are referenced as javax/.. And expecially in the XML area we have namespaces starting with javax as well. I didn't think through, but we have to add them to the list of things to clarify.

        LieGrue,
        strub

> Am 07.05.2019 um 19:27 schrieb carlos andres de la rosa
<kusanagi12002@xxxxxxxxx <mailto:kusanagi12002@xxxxxxxxx>>:
>
> That is pretty good mark have a proof of concept can be
pretty helpful to validate the approach and what will be the
challenges that we will face in order to get the change done.
>
>
> Cheers
>
> On Tue, May 7, 2019, 19:18 Mark Struberg <struberg@xxxxxxxxxx
<mailto:struberg@xxxxxxxxxx>> wrote:
> It doesn't matter anyway. We cannot finally decide anything
before say end of July.
> Because FIRST I'd like to play with the options. I'm already
pretty far with moving some libs over to jakarta.*.
> But Tomcat is really depending on WAY more than I would love
to see. JAX-RPC anyone? ;)
>
> If Tomcat is up and running with a few apps, then we might
have a way better understanding about whether a big-bang will
work out or not.
>
> Just my $.02
>
> LieGrue,
> strub
>
> > Am 07.05.2019 um 18:55 schrieb Mark Little
<markclittle@xxxxxxxxx <mailto:markclittle@xxxxxxxxx>>:
> >
> > I think 500-1000 data points is useful but unless I know
the people who cast their votes are actually involved in the
community (which is possible through email), I'll have to weigh
those votes slightly different than, say, a vote I receive from you.
> >
> > Mark.
> >
> > On Tue, May 7, 2019 at 11:27 AM Reza Rahman
<reza_rahman@xxxxxxxxx <mailto:reza_rahman@xxxxxxxxx>> wrote:
> > There is no such thing as a perfect sampling. What matters
is whether a poll is sufficiently representative. I think
500-1000 data points is pretty representative. That's why
results tend to stabilize by that point.
> >
> > Please note these are my personal opinions as a Jakarta EE
community member, and do not necessarily reflect the positions
of my employer.
> >
> > On 5/7/2019 6:57 PM, Mark Little wrote:
> >> Agreed. I caution against polls like this which are
anonymous because it's hard to determine the actual value of the
data.
> >>
> >> Mark.
> >>
> >> On Mon, May 6, 2019 at 9:00 PM Amelia Eiras
<aeiras@xxxxxxxxxxxxx <mailto:aeiras@xxxxxxxxxxxxx>> wrote:
> >> The MicroProfile Project doesnât operate under polls Reza.
> >> The process is over its community hangout and forum.
> >>
> >>
> >> Amelia Eiras
> >> https://twitter.com/ameliaeiras
> >> Tribe: https://tomitribe.com https://tribestream.io
> >> OSS: https://tomitribe.io https://microprofile.io
> >>
> >>> On May 6, 2019, at 5:58 PM, Reza Rahman
<reza_rahman@xxxxxxxxx <mailto:reza_rahman@xxxxxxxxx>> wrote:
> >>>
> >>> I am with Ryan here. There is a lot of FUD spreading
around about what the commitment levels to MicroProfile is
vis-a-vis Jakarta EE.            ÂThis really isn't
helping anyone here and in fact is leading the whole community
towards fragmentation, ultimately undermining both MicroProfile
and Jakarta EE. I hope that is a perspective that is understood
well. People are indicating a preference for doing the move all
at once, but it is not necessarily the case that they don't see
the value in moving MicroProfile APIs over to Jakarta EE. Indeed
maybe they prioritize new features from MicroProfile more.
> >>>
> >>> Here is a poll I am running on that topic:
https://twitter.com/reza_rahman/status/1124499308970004480.
There are ~500 input points so far. Here are the results:
> >>>
> >>> * 19% - Stays separate forever
> >>> * 58% - Merges with Jakarta EE
> >>> * 14% - Becomes Jakarta incubator
> >>> * 09% - Forget Jakarta. MP rules
> >>>
> >>> Again, I really do hope the Eclipse Foundation polls
people on this. If not, please at least consider retweeting mine.
> >>>
> >>> On 5/7/2019 8:32 AM, Ryan Cuprak wrote:
> >>>>
> >>>> My thoughts:
> >>>>Â Â â Jakarta EE 9 - Fold some parts of the MicroProfile
into the platform and leave the existing specifications alone.
Do this to freshen the platform and keep it relevant. Containers
always lag supporting the latest specification and Iâd expect
this to be especially pronounced with a namespace change.
Changing a namespace may sound easy, but I am guessing
maintaining backward support may not be - may cause products to
be EOL or forked etc. Maybe move specifications that are low
risk and/or not used as widely to the new namespace but make
this optional.
> >>>>Â Â â Jakarta EE 10 - all specifications on new namespace
> >>>>Â Â â Jakarta EE 11 - new features to the existing
specifications
> >>>>
> >>>> While Jakarta EE 9 is being put together, begin
releasing previews of EE 10 with the new namespace so that
organizations can begin accessing its impact.
> >>>>
> >>>> With the big bag conversion, Iâd be curious to hear what
the vendors are thinking along with the IDEs. Could the major
container vendors be polled?
> >>>>
> >>>> -Ryan
> >>>>
> >>>>
> >>>>> On May 6, 2019, at 7:39 PM, David Blevins
<dblevins@xxxxxxxxxxxxx <mailto:dblevins@xxxxxxxxxxxxx>> wrote:
> >>>>>
> >>>>> Following up with my individual hat on. If we can get
this wrapped sooner than a month, great. If there's clear
consensus on any particular direction, let's just go for it.
> >>>>>
> >>>>> There are items in the "Decisions" sections. The
thinking is that we should decide what proposal we want (either
of these two or something else) within the timeframe allotted. Decisions associated with the proposal that need to be cleared
before it can be executed may naturally take longer to make.
> >>>>>
> >>>>>
> >>>>> -David
> >>>>>
> >>>>>
> >>>>>
> >>>>>> On May 6, 2019, at 4:23 PM, David Blevins
<dblevins@xxxxxxxxxxxxx <mailto:dblevins@xxxxxxxxxxxxx>> wrote:
> >>>>>>
> >>>>>> [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
javax namespace 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 javax would 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 javax to jakarta change of that entire specification.
Examples include:
> >>>>>>Â Â Â Â Â â Adding a value to an enum
> >>>>>>Â Â Â Â Â â Overriding/adding a method signature
> >>>>>>Â Â Â Â Â â Adding default methods in interfaces
> >>>>>>Â Â Â Â Â â Compensating for Java language changes
> >>>>>>Â â Binary compatibility for existing applications in
the javax namespace 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 jakarta namespace from
entering the ecosystem by requiring they also implement an
equivalent javax legacy API.
> >>>>>>Â â There is no intention to change Jakarta EE 8 goals
or timeline.
> >>>>>>Â â Community discussion on how to transition to the
jakarta namespace 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 javax namespace to the jakarta namespace
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 javax would move
immediately into jakarta as-is.
> >>>>>>Â â Any packages not moved from javax to jakarta could
be included in Jakarta EE, but would be forever frozen and never
move to the jakarta namespace.
> >>>>>>Â â Jakarta EE 9 would be refocused as quick,
stepping-stone release, identical to Jakarta EE 8 with the
exception of the javax to jakarta namespace 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 javax to jakarta Maven 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 javax to the jakarta namespace
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
javax to jakarta namespace transition.
> >>>>>>
> >>>>>> â The most active APIs would immediately move from
javax to 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 javax and jakarta
packaged APIs
> >>>>>>Â â If a change was needed to a javax API post Jakarta
EE 9 for any reason, that API would transition from javax to
jakarta.
> >>>>>>Â â Jakarta EE 10 would be a mix of javax and jakarta
packaged 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 javax to jakarta is â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 javax namespace 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 javax or jakarta in
Jakarta EE 11?â
> >>>>>>Â â Difficulty in keeping the industry in sync.
> >>>>>>Â â New implementations may find themselves having to
deal with the javax to jakarta transition, 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/
> >>>>>>
> >>>>>> --
> >>>>>> David Blevins
> >>>>>> http://twitter.com/dblevins
> >>>>>> http://www.tomitribe.com
> >>>>>> 310-633-3852
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> jakartaee-platform-dev mailing list
> >>>>> jakartaee-platform-dev@xxxxxxxxxxx
<mailto: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
<mailto: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
<mailto: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
<mailto: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
<mailto: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
<mailto: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
<mailto: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
<mailto: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
        <mailto: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
    <mailto: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