SlideShare a Scribd company logo
Java Is Still Free
Simon Ritter & Martijn Verburg
Terminology
• Java Standard Edition (Java SE)
• Specification of Java language syntax, JVM, core libraries
• Defined by JCP through umbrella JSR
• Java Development Kit (JDK)
• Binary implementation of Java SE (may be a superset)
• Tested using TCK to ensure conformance to Java SE specification
• OpenJDK
• Open source project
• Reference implementation of Java SE standard
• OpenJDK binary
• JDK built directly from OpenJDK source code
2
The Java Platform Today
3
Stable
Secure
Free
OpenJDK: New Release Model
• A new version of the JDK will be released every
six months
– March and September
– Started this year with JDK 10 and JDK 11
• OpenJDK development will be more agile
– Previous target was a release every two years
• Features will be included only when ready
– Targeted for a release when feature complete
4
Long Term Support Releases
• Long term support for all releases is not practical
– One Long Term Support (LTS) release every three years
• Oracle JDK 8 has been classified as an LTS release
– Oracle JDK 8 public updates
• Stop in January 2019 for commercial users
• Non-commercial users get updates until December 2020
• Next LTS release is JDK 11 (then JDK 17, 23, etc.)
• JDK 9 and JDK 10 are feature releases
• Updates for only six months
5
Which Oracle JDK Binary
• Traditional Oracle branded binary (java.oracle.com)
– Oracle Binary Code License (FoU restrictions)
• New Oracle OpenJDK binary (jdk.java.net)
– GPLv2 with CPE license (no restrictions)
– Security and bug fix updates only for six months
• Only until next JDK release
• Two scheduled updates
– No overlap of updates for previous version
6
Converged Binaries
Oracle JDK
OpenJDK
Java SE
JDK 10 and earlier
Java SE
OpenJDK
& Oracle JDK
JDK 11 and later
Converged Binaries (JDK 11)
• Some closed-source parts of the JDK will be open-
sourced
– Flight recorder
– Mission control
– Others
• Other closed-source parts will be removed
– Browser Plugin
– Java Web Start
– JavaFX
8
Backwards Compatibility
9
"Clean applications that just depend on java.se
should just work" - Oracle
JDK 9 and onwards
JDK 9: The Clean Up Starts
• JDK 9 was a significant change for Java
– Deprecated APIs were removed for the first time
• Six methods and one class
• JDK 10 removed 1 package, 6 classes, 9 methods and 1 field
– Redundant features eliminated
• jhat tool, JVM TI hprof agent
• Numerous deprecated GC options removed
– Significant command line changes
• JDK 9 removed 187 -XX flags
• JDK 10 removed 36 -XX flags
10
Housekeeping Will Continue
• More significant removals in JDK 11
– Applets, Browser Plugin, Web Start, JavaFX
– java.se.ee meta-module
• java.corba
• java.transaction
• java.activation
• java.xml.bind
• java.xml.ws
• java.xml.ws.annotation
• More in the future
– CMS GC and Nashorn deprecated, others?
11
Backwards Compatibility Not Guaranteed
• New versions of Java may include breaking
changes
– Anything for removal will be deprecated first
– Minimum of one release warning
• Could be only six months
12
Eliminating Confusion
• There will be an LTS release every three years
– This does NOT mean 3 years of free updates
• Oracle JDK (from JDK 11) can ONLY be used in production with a
commercial Java SE subscription
– The only free JDK 11 and later will be OpenJDK binaries
• Oracle JDK 8 can be used indefinitely for free
– But without any further security patches and bug fixes
• Oracle will only lead and contribute to each JDK for 6 months
– For all JDK: Feature and LTS
– Oracle will not backport updates
– Java community will need to do this for LTS
13
The Java Platform Today
14
Stable
Secure
Free
Choose two out of three
Azul's Zulu Java
Zulu Java
• Azul’s free binary distribution of OpenJDK
– Passes all TCK tests
• JDK 6, 7, 8, 9,10 and 11 (EA) available
• Wider platform support:
– Intel 64-bit Windows, Mac, Linux
– Intel 32-bit Windows and Linux
– ARM 32 and 64-bit
– PowerPC
16
www.azul.com/downloads/zulu
AdoptOpenJDK’s Java
AdoptOpenJDK Java
• AdoptOpenJDK’s free binary distribution of OpenJDK
– Some builds passes all TCK tests
• No commercial support, i.e. Free binaries only
• JDK 8, 9,10 and 11 (EA) available
• Widest platform support:
– Intel 64-bit Windows, Mac, Linux
– Intel 32-bit Windows and Linux
– ARM 32 and 64-bit
– PowerPC, AIX, Solaris, Linux s390, PowerPC LE et
Summary
Java Continues To Evolve
• Faster Java releases
– Feature release every 6 months
– Access to free updates is a consideration
– Java remains free
• Lots of ideas to improve Java
– Value types, fibres, syntax improvements
20
Questions?

More Related Content

Java Is Still Free

  • 1. Java Is Still Free Simon Ritter & Martijn Verburg
  • 2. Terminology • Java Standard Edition (Java SE) • Specification of Java language syntax, JVM, core libraries • Defined by JCP through umbrella JSR • Java Development Kit (JDK) • Binary implementation of Java SE (may be a superset) • Tested using TCK to ensure conformance to Java SE specification • OpenJDK • Open source project • Reference implementation of Java SE standard • OpenJDK binary • JDK built directly from OpenJDK source code 2
  • 3. The Java Platform Today 3 Stable Secure Free
  • 4. OpenJDK: New Release Model • A new version of the JDK will be released every six months – March and September – Started this year with JDK 10 and JDK 11 • OpenJDK development will be more agile – Previous target was a release every two years • Features will be included only when ready – Targeted for a release when feature complete 4
  • 5. Long Term Support Releases • Long term support for all releases is not practical – One Long Term Support (LTS) release every three years • Oracle JDK 8 has been classified as an LTS release – Oracle JDK 8 public updates • Stop in January 2019 for commercial users • Non-commercial users get updates until December 2020 • Next LTS release is JDK 11 (then JDK 17, 23, etc.) • JDK 9 and JDK 10 are feature releases • Updates for only six months 5
  • 6. Which Oracle JDK Binary • Traditional Oracle branded binary (java.oracle.com) – Oracle Binary Code License (FoU restrictions) • New Oracle OpenJDK binary (jdk.java.net) – GPLv2 with CPE license (no restrictions) – Security and bug fix updates only for six months • Only until next JDK release • Two scheduled updates – No overlap of updates for previous version 6
  • 7. Converged Binaries Oracle JDK OpenJDK Java SE JDK 10 and earlier Java SE OpenJDK & Oracle JDK JDK 11 and later
  • 8. Converged Binaries (JDK 11) • Some closed-source parts of the JDK will be open- sourced – Flight recorder – Mission control – Others • Other closed-source parts will be removed – Browser Plugin – Java Web Start – JavaFX 8
  • 9. Backwards Compatibility 9 "Clean applications that just depend on java.se should just work" - Oracle JDK 9 and onwards
  • 10. JDK 9: The Clean Up Starts • JDK 9 was a significant change for Java – Deprecated APIs were removed for the first time • Six methods and one class • JDK 10 removed 1 package, 6 classes, 9 methods and 1 field – Redundant features eliminated • jhat tool, JVM TI hprof agent • Numerous deprecated GC options removed – Significant command line changes • JDK 9 removed 187 -XX flags • JDK 10 removed 36 -XX flags 10
  • 11. Housekeeping Will Continue • More significant removals in JDK 11 – Applets, Browser Plugin, Web Start, JavaFX – java.se.ee meta-module • java.corba • java.transaction • java.activation • java.xml.bind • java.xml.ws • java.xml.ws.annotation • More in the future – CMS GC and Nashorn deprecated, others? 11
  • 12. Backwards Compatibility Not Guaranteed • New versions of Java may include breaking changes – Anything for removal will be deprecated first – Minimum of one release warning • Could be only six months 12
  • 13. Eliminating Confusion • There will be an LTS release every three years – This does NOT mean 3 years of free updates • Oracle JDK (from JDK 11) can ONLY be used in production with a commercial Java SE subscription – The only free JDK 11 and later will be OpenJDK binaries • Oracle JDK 8 can be used indefinitely for free – But without any further security patches and bug fixes • Oracle will only lead and contribute to each JDK for 6 months – For all JDK: Feature and LTS – Oracle will not backport updates – Java community will need to do this for LTS 13
  • 14. The Java Platform Today 14 Stable Secure Free Choose two out of three
  • 16. Zulu Java • Azul’s free binary distribution of OpenJDK – Passes all TCK tests • JDK 6, 7, 8, 9,10 and 11 (EA) available • Wider platform support: – Intel 64-bit Windows, Mac, Linux – Intel 32-bit Windows and Linux – ARM 32 and 64-bit – PowerPC 16 www.azul.com/downloads/zulu
  • 18. AdoptOpenJDK Java • AdoptOpenJDK’s free binary distribution of OpenJDK – Some builds passes all TCK tests • No commercial support, i.e. Free binaries only • JDK 8, 9,10 and 11 (EA) available • Widest platform support: – Intel 64-bit Windows, Mac, Linux – Intel 32-bit Windows and Linux – ARM 32 and 64-bit – PowerPC, AIX, Solaris, Linux s390, PowerPC LE et
  • 20. Java Continues To Evolve • Faster Java releases – Feature release every 6 months – Access to free updates is a consideration – Java remains free • Lots of ideas to improve Java – Value types, fibres, syntax improvements 20

Editor's Notes

  1. FoU = Field of Use. restriction prevented people using Java in embedded applications without buying a license. CPE = Classpath Exception. Eliminates the problem of the GPL license being viral, which would require you to make the source code for your application available.
  2. Late 2018 probably means JDK 11, which comes out in September. The idea of eliminating differences is so that the two binaries from Oracle (reference last slide) will be functionaly the same.