tl;dr;Â 1 month is insufficient time to address the valid FUD about how to deal with this name change.
I think it is very easy to underestimate the effort that will be required to rename the APIs.Â ÂIt is not as simple as just s/javax/jakarta/ in our code base.Â Vendors will need to come up with migration strategies that will assist their users through a transition that will likely take years, so that legacy code can be deployed alongside new code.Â We will face difficult decisions about cut-and-paste code duplication vs maintaining 2 slowly diverging implementations, neither is a clear winner.Â ÂI predict that many vendors development resources will be consumed by such a rename for years, stalling all other significant developments.Â Â There are many small and large users that will not move for many years - if at all - and they will need to be supported.Â ÂSome vendors will face difficult decision about how much of their business is in supporting these suddenly legacy users and how much is chasing new customers on the new APIs.Â ÂAny automatic approaches used (eg automatic rewriting of byte code to the new name space), might work OK on day 1, but will be an ongoing resource suck as the jakarta APIs and behaviours diverge from javax.
So the FUD above may be able to be addressed/mitigated etc.Â but I think June 9th deadline for making such a decision is way too aggressive, as before making any such decision we need to:
- educate ourselves as to what exactly are the ramifications of a renaming APIs.
- educate our users as to what the ramification of a rename could be
- Give our users some time to evaluation these ramifications, cost and estimate the efforts and make some kind of decision of if/when they would be likely to switch.
- Gather the feedback and estimates from those users.
- Come up with some alternatives scenarios to evaluate against.
- Discuss the feedback and alternatives within the individual projects/specifications expert groups.
- Combine the results of those discussions in an architectural level discussion (here).
- Probably iterate this process two or 3 times.
I simply do not see how this process can be done in a month.Â As much as we'd like to rip this particular band-aid off, I think we need to take some time to consider, educate and bring our communities with us.Â ÂIn a months time there are still going to be significant sections of our user base having WTF moments as they just discover this is an issue.
Putting my servlet hat on,Â I see very little demand for any incremental changes to the API (we are a year late with our 4.0 release and not a single user has asked about it!).Â On the other hand,Â there is interest in more revolutionary change that could get rid of the cruft of decades and embrace current best practises and going to a new name space is a perfect opportunity to introduce such revolutionary change.... except if we start by pollutingÂ that name space with all the legacy cruft of the current APIs, we will have lost that opportunity for a clean break and will have to try to evolve the spec within the context of decades old APIs.