WatersWorks

Blog archive

Oracle to Eclipse Hand-Off: The Enterprise Java Community Moves Forward

It's been about a month since Mike Milinkovich, executive director of the Eclipse Foundation, explained in a blog post the status of negotiations between Eclipse and Oracle on the final details of the enterprise Java handoff agreement. The last bone of contention was the use of the javax* package namespace "in the evolution" of Jakarta EE specifications, and the use of Java trademarks in the Java EE spec, but the two organizations got past it.

"[F]ollowing many months of good-faith negotiations, the Eclipse Foundation and Oracle have been unable to agree on terms of an agreement for the Eclipse Foundation community to modify the javax* package namespace or to use the Java trademarks currently used in Java EE specifications," Milinkovich wrote. "Instead, Eclipse and Oracle have agreed that the javax* package namespace cannot be evolved by the Jakarta EE community. As well, Java trademarks such as the existing specification names cannot be used by Jakarta EE specifications."

He added that the details of the talks would remain under wraps: "Because of the complexity and confidential nature of our negotiations, the Eclipse Foundation and Oracle have also agreed that we will not attempt to characterize here what has resulted in this outcome. It is the best outcome we could mutually achieve for the community."

Even one of the most vocal critics of Oracle's intractability on these two issues, the Java EE Guardians, seems ready to move on. The group of volunteers who joined forces in 2016 to support enterprise Java, then in the hands of a seemingly indifferent Oracle, declared in a recent blog post their "great excitement" about the final agreement between Big O and the Eclipse community. But that excitement was tempered with a splash of caution.

"One of the critical decisions that needs to be made prior to moving forward is how to proceed with the transition from the javax* namespace," they advised. "The Java EE Guardians agree with the consensus of many in the community, as there is a broad desire to move everything to the jakarta* namespace at once, rather than taking an incremental approach. The Java EE Guardians encourage the community and the Eclipse Foundation to focus on getting a clear consensus about this quickly so that Jakarta EE can confidently evolve with no more delays."

"The truth is, we're thrilled about this agreement," Dennis R. Gesker told me. "I know I'm commenting from out in the cheap seats, but here in my shop, we're like, wow, things have gone from glacially slow to superfast. And that's a good thing."

Gesker is chief technology officer at Alamon Inc., in Kalispell, Mo., and a member of the Guardians. And his "cheap seats" are in a real-world daily work environment.

"We see [the agreement] as a great opportunity to start building cohesion across the ecosystem," Gesker said. "Not to cast aspersions, but we've got an honest broker inside Eclipse now to start moving things along really fast, and then start bringing in some folks who have spun out into other projects. This is a chance to say, come on in and bring your ideas with you. Me in particular, but my guys as well: we're hoping they take a Big Bang approach: rename it, refactor, move on -- and deal with compatibility issues as they arrive."

Going forward, the enterprise Java community will have to steer clear of the "Java" trademark, and the evolution of the APIs cannot take place under the javax* package.

"However," the Guardians noted, "Jakarta EE will be able to use the Java EE APIs and javax* package as-is and be able to evolve the technology forward under the jakarta* package. This will provide a path forward to further evolve widely relied upon Java EE APIs such as Servlet, JPA, JAX-RS, WebSocket, JMS and so many others. It can also be objectively said the transition from Java EE to Jakarta EE represents one the largest and perhaps most significant technology stewardship transfers ever attempted. This includes not just the agreement but the source code transfer of the Java EE compatibility test kit (TCK) as well as the reference implementation GlassFish.

"This is not a big deal for us," Gesker said, "for the day to day, guys, but I fully appreciate that the folks who have been hardcore promoters of Java EE for so long might not be that happy. I get why they might want to hold onto javax. Programmers have tools they like, and they can be really passionate about them. I mean, there's a flareup in my office every couple of weeks about who's using the best IDE! But I want to say, hold on, we're going to get it together. A lot of these growing pains are going to go away, and we're all going to become more effective and efficient."

Posted by John K. Waters on June 12, 2019