> Oracle is making the industry leading Oracle JDK available for free, including all quarterly security updates. This includes commercial and production use.
> Oracle will continue to provide Oracle OpenJDK releases under the GPL on the same releases and schedule as it has since Java 9.
Are there technical differences or is it only licensing that's different?
My uninformed guess at what's going on here is their licensing changes drove all new development to alternate JDK vendors and they finally realized they blew up the pipeline that delivers customers to their high priced commercial support offerings.
After watching them mismanage JavaFX I don't think I'd trust them for anything.
Although we have stated the goal to have OpenJDK and Oracle JDK binaries be as close to each other as possible there remain several differences between the two options.
The current differences are:
- Oracle JDK offers "installers" (msi, rpm, deb, etc.) which not only place the JDK binaries in your system but also contain update rules and in some cases handle some common configurations like set common environmental variables (such as, JAVA_HOME in Windows) and establish file associations (such as, use java to launch .jar files). OpenJDK is offered only as compressed archive (tar.gz or .zip).
- Usage Logging is only available in Oracle JDK.
- Oracle JDK requires that third-party cryptographic providers be signed with a Java Cryptography Extension (JCE) Code Signing Certificate. OpenJDK continues allowing the use of unsigned third-party crypto providers.
- The output of java -version is different. Oracle JDK returns java and includes the Oracle-specific identifier. OpenJDK returns OpenJDK and does not include the Oracle-specific identifier.
- Oracle JDK 17 and later is released under the Oracle No-Fee Terms and Conditions License. OpenJDK is released under GPLv2wCP. License files included with each will therefore be different.
- Oracle JDK distributes FreeType under the FreeType license and OpenJDK does so under GPLv2. The contents of \legal\java.desktop\freetype.md is therefore different.
- Oracle JDK has Java cup and steam icons and OpenJDK has Duke icons.
- Oracle JDK source code includes "ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms."
- Source code distributed with OpenJDK refers to the GPL license terms instead.
This new "Oracle No-Fee Terms and Conditions" (NFTC) license[1] is still not a free or open source software license due to its following provisions:
> (a) internally use the unmodified Programs for the purposes of developing, testing, prototyping and demonstrating your applications, and running the Program for Your own personal use or internal business operations; and
> (b) redistribute the unmodified Program and Program Documentation, under the terms of this License, provided that You do not charge Your licensees any fees associated with such distribution or use of the Program, including, without limitation, fees for products that include or are bundled with a copy of the Program or for services that involve the use of the distributed Program.
Both the Free Software Definition[2] and the Open Source Definition[3] require the license to allow the user to modify and redistribute the software, including for commercial purposes (such as selling it to other individuals or businesses for a fee). The NFTC does not allow this, so if you are able to use OpenJDK instead of Oracle JDK, you might prefer OpenJDK's less restrictive free and open source software license (GPLv2 with Classpath Exception[4]).
> You are granted the right to use the Programs to provide third party training in the use of the Programs and associated Separately Licensed Technology only if there is express authorization of such use by Oracle on the Program's download page or in the Program Documentation.
Do I need written permission from Oracle to write a blog post that talks about how to get something done using the Oracle JDK? 'training' is pretty vague.
Just to be safe, it sounds like I shouldn't be writing any articles that mention the Oracle JDK.
> Oracle will continue to provide Oracle OpenJDK releases under the GPL on the same releases and schedule as it has since Java 9.
Are there technical differences or is it only licensing that's different?
My uninformed guess at what's going on here is their licensing changes drove all new development to alternate JDK vendors and they finally realized they blew up the pipeline that delivers customers to their high priced commercial support offerings.
After watching them mismanage JavaFX I don't think I'd trust them for anything.