It looks like Java EE may finally be fully free.
In a blog post on the venerable Aquarium blog (started by the Glassfish team at Sun a decade or so ago) Oracle has announced that it has selected the Eclipse Foundation as the new home for Java EE. They will relicense and rename it and invent a new standards process. It looks like the MicroProfile rebellion was successful as this has all been negotiated with Red Hat and IBM as well.
I don’t see this move as “dumping” Java EE. Moving a project to an open source Foundation is complex and expensive and Oracle should be congratulated on finally committing to this move. Java EE has already been uploaded to GitHub, but that’s not sufficient as the default Github Governance is isolation mediated via pull requests.
Eclipse is an extremely good choice of host. It has evolved excellent governance that recognises both the primacy of technical contribution and the inevitability of corporate politics and keeps both in balance. It’s ideally suited to the complexities and politics of Java EE, having hosted multiple large projects and survived de-investment by its founder IBM. Under the smart and firm leadership of Mike Milinkovich, Eclipse is the perfect home for Java EE (or whatever Oracle will want us to call it).
The devil of course is in the detail. The announcement lists a whole set of open issues and risks, not least licensing and standards. The most critical open issue is the future standardisation process. Eclipse does not have experience of managing a standards process, although the MicroProfile work has been a reasonable curtain-raiser with Red Hat and IBM collaborating. The fact Oracle does not intend to allow the project to be called “Java EE” is also a concern.
As for licenses, this will hopefully see Java EE no longer isolated from mainstream open source licensing under CDDL. While Eclipse prefers its own, recently-updated Eclipse Public License, it also tolerates use of other licenses with the approval of its board. Although a limited copyleft license like EPL would signal an expectation of contribution, it might well prove disruptive for the existing ecosystem. Given the contexts within which Java EE is most frequently used, I would prefer to see the Apache License used.
Overall, I welcome the announcement. It will hopefully place Java EE in the hands of its community and complete the process we started over a decade ago of liberating Java EE as open source within the context of a community-centric open source strategy. Having failed to use their control of the technology to create an alternative monetisation strategy, Oracle are now falling back to the original direction I hoped Sun would take. That’s a welcome move.
(Thanks to the Patreon patrons who made this post possible)