Video: Is open-source software really free?
Remember when Oracle bought Sun? The one thing that seemed to make sense about this deal was Oracle's acquisition of Java. Almost 10 years later, Oracle gave up on Java Enterprise Edition (JEE), aka J2EE, and started spinning Java's still-popular enterprise middleware platform to the Eclipse Foundation. Now, under the aegis of the Eclipse Foundation, JEE has been renamed to Jakarta EE.
Why? Because Oracle was never successful in monetizing Java. In large part, this was because of Sun and then Oracle's failed attempts to steer the Java Community.
As Oracle's server-side Java evangelist, David Delabassee, admitted in August 2017: "We believe that moving Java EE technologies including reference implementations and test compatibility kit to an open source foundation may be the right next step, in order to adopt more agile processes, implement more flexible licensing, and change the governance process."
The open-source model had proven more successful than a corporate-directed community model. This doesn't surprise anyone who's been following Java enterprise servers.
As Plumbr, a Java server performance analytic company observed, the open-source Apache Tomcat JavaServer Pages (JSP) engine has been easily the most popular JSP server for the past five years. Oracle WebLogic? It came in toward the bottom in the 2017 survey, with 4.5 percent of users.
If Jakarta sounds familiar, it's because it is not the first time that name has been applied to a JEE server. From 1999 to 2011, the Apache Software Foundation ran Apache Jakarta, which covered all of Apache's open-source Java efforts.
So, why all this name jumping around? Because Oracle -- even as it gave the JEE intellectual property to the Eclipse Foundation -- refused to give the trademarked Java name to Eclipse. Don't ask me why.
The Java EE Guardians, a group of top Java experts including Java's creator James Gosling, asked Oracle to at least let the Foundation use "Java EE" and javax JEE packages. After all, they reasoned:
- Java EE remains a strong brand with developers. In industry survey after survey, developers make it clear they value Java EE.
- While no name is perfect, Java EE is a very suitable name for the platform. This has become especially apparent as the community has struggled repeatedly to come up with a sensible new name.
- The renaming of the platform from J2EE to Java EE causes continued market confusion even over a decade after the renaming. A further renaming of the platform will likely only add to the confusion. This includes the existence of pervasive resources referring to the Java EE name and javax packages. It will be unclear for a long time how these resources relate to a rebranded platform.
- Java EE should be and is seen as an integral part of the overall official Java open-standard platform. This distinction is important and uniquely valuable to users, contributors, implementers, and supporters of Java EE. Any new name that does not prominently feature Java will diminish this value. The problem applies even more so to a packaging scheme other than "javax."
- A new platform in which a significant portion of APIs belong in the "javax" package while another significant portion of APIs belong in another package is confusing and inelegant.
- Stability, backward-compatibility, and continuity are key characteristics Java EE adopters have valued for a long time. A forced rebranding can be perceived to be undermining these valuable characteristics.
Will Lyons, Oracle WebLogic's senior director of product management, replied that "we must continue to reserve use of such names using the Java trademark to serving that fundamental source identifying function." Lyons also reemphasized that Oracle was giving Eclipse the "GlassFish Java EE 8 Reference Implementation sources."
Still, Oracle remained deaf to the Guardians' pleas. So, while JEE soldiers on, it will do so under the burden of a new name. This can't help but further confuse the Java EE -- excuse me, Jakarta EE -- customers.