Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to save money on long-term support for Java...

How to save money on long-term support for Java 11?

TL;TR. During my presentation I will clarify the situation with Oracle JDK and OpenJDK 11+ and compare available solutions to get (free) long-term support (LTS) for your (production) Java instances.

Longer version. Java 11 - besides new features - brought also confusion with the the licensing model. Among others, I will answer the following questions: Is Java still free? Will Java 11 get long-term support from Oracle? Will it be available for free? What is a difference between Oracle JDK 11 and OpenJDK 11? Do I need to upgrade my production to newer Java version every 6 months? What cost-free options do I have to use Java 11 with long-term support? Which option should be best for me (AdoptOpenJDK, Red Hat, Azul, Amazon, Liberica JDK, ...)? Or maybe, in the end, it is worth to pay some $$$ to have support from Oracle?

Just as a pre-warn, please be aware that even the new releases of Oracle JDK 8 (yes 8!) starting with 8u211 (April 2019) are available under the new - non-free for commercial usage - license.

Marcin Zajączkowski

June 25, 2019
Tweet

More Decks by Marcin Zajączkowski

Other Decks in Programming

Transcript

  1. How to save money on long-term support for Java 11?

    Marcin Zajączkowski Kraków, 24-26 June 2019 @SolidSoftBlog
  2. Alarming Java-related article titles in media "No more free Java

    SE 8 updates for commercial use after January 2019" Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  3. Alarming Java-related article titles in media "No more free Java

    SE 8 updates for commercial use after January 2019" "Do I need to pay for Java now?" "Do you suddenly need a payed subscription for using (Oracle) Java?" Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  4. Alarming Java-related article titles in media "No more free Java

    SE 8 updates for commercial use after January 2019" "Do I need to pay for Java now?" "Do you suddenly need a payed subscription for using (Oracle) Java?" "Java Licensing: Is the Free Lunch over?" "Is Java Still Free?" Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  5. Alarming Java-related article titles in media "No more free Java

    SE 8 updates for commercial use after January 2019" "Do I need to pay for Java now?" "Do you suddenly need a payed subscription for using (Oracle) Java?" "Java Licensing: Is the Free Lunch over?" "Is Java Still Free?" "Can you still use the Java programming language for free?" "Can Java still be free after January 2019?" Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  6. Alarming Java-related article titles in media "No more free Java

    SE 8 updates for commercial use after January 2019" "Do I need to pay for Java now?" "Do you suddenly need a payed subscription for using (Oracle) Java?" "Java Licensing: Is the Free Lunch over?" "Is Java Still Free?" "Can you still use the Java programming language for free?" "Can Java still be free after January 2019?" "What to do when free Java 8 updates end?" "End of free Java?" Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  7. Alarming Java-related article titles in media "No more free Java

    SE 8 updates for commercial use after January 2019" "Do I need to pay for Java now?" "Do you suddenly need a payed subscription for using (Oracle) Java?" "Java Licensing: Is the Free Lunch over?" "Is Java Still Free?" "Can you still use the Java programming language for free?" "Can Java still be free after January 2019?" "What to do when free Java 8 updates end?" "End of free Java?" "Will the end of Java be after version 11?" "Is it the beginning of the end for Java?" much more... Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  8. Alarming Java-related articles and questions in media Marcin Zajączkowski @SolidSoftBlog

    https://blog.solidsoft.info/ Source: https://twitter.com/senorarroz/status/1110255155763503111
  9. Presentation goal Clarify and summarize Java 8/11 long-term support situation

    (and possible options) in 20 minutes Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  10. About me Areas of expertise Automatic Testing / TDD Software

    Craftsmanship / Code Quality Deployment Automation / Continuous Delivery Concurrency / Parallel Computing / Reactive Systems . FOSS projects author and contributor blogger - https://blog.solidsoft.info/ trainer (← including "Migration to Java 11+" ;-) ) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  11. Presentation plan history of Java licensing Java vs Oracle JDK

    vs OpenJDK vs ... OpenJDK development (licensing) changes for Java 11+ long-termin support options Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  12. History of Java licensing 90's - proprietary license with source

    code for (part of) class library available in SDK (src.zip) several attempts to create free software Java implementations 2006/2007 - Hotspot VM, compiler and class library released on GPLv2 (with linking exception) OpenJDK project as reference implementation of Java SE IcedTea emerged to replace parts that couldn't be open sourced 2007+ - other companies joined OpenJDK (Red Hat, IBM, Apple, SAP, Azul, ...) 2018 - Oracle JDK binaries built from OpenJDK sources with no additional extras (e.g. Java Mission Control) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  13. History of Java licensing - issues Technology Compatibility Kit (TCK)

    available for Oracle's licensees provided also for GPL implementations "deriving substantially from OpenJDK" but not for other FOSS implementations (such as Apache Harmony and Eclipse OpenJ9) 2018 - Oracle JDK no longer free for production usage trademark-related issues with Java/Jakarta EE - not in scope of that presentation :) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  14. Java vs OracleJDK vs OpenJDK vs ... Java - "set

    of computer software and specifications developed at Sun Microsystems" - trademarked by Oracle Java Platform, Standard Edition (Java SE) - base part of Java Oracle JDK - distribution of Java SE provided by Oracle OpenJDK - open source reference implementation of Java SE Eclipse OpenJ9 - Java Virtual Machine (JVM) implementation alternative to HotSpot JVM possible to use as component of OpenJDK developed by IBM, donated to Eclipse Foundation in 2017 Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  15. OpenJDK development OpenJDK master (default branch) led by Oracle with

    help from other contributors Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  16. OpenJDK development OpenJDK master (default branch) led by Oracle with

    help from other contributors OpenJDK 7, 8 and 11 led by Red Hat with help from other contributors OpenJDK 6 led by Azul Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  17. Importance of using supported version public updates (aka supported version)

    - new versions are released security fixes mostly for Java Web Start, but JDK server side can be also affected bug fixes and new features e.g. better support for running inside container (cgroups constraints) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  18. Importance of using supported version public updates (aka supported version)

    - new versions are released security fixes mostly for Java Web Start, but JDK server side can be also affected bug fixes and new features e.g. better support for running inside container (cgroups constraints) (extended) support help from vendor engineers in solving your own issues at least hope to get it... faster fixing reported bugs (should have higher priority) extra paid Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  19. Importance of using supported version public updates - new versions

    are released ← must have security fixes mostly for Java Web Start, but JDK server side can be also affected bug fixes and new features e.g. better support for running inside container (cgroups constraints) (extended) support help from vendor engineers in solving your own issues at least hope to get it... faster fixing reported bugs (should have higher priority) extra paid Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  20. Java 11+ licensing changes Oracle JDK binaries built from OpenJDK

    sources with no propriety extras (e.g. Java Flight Recorder, Java Mission Control) they were open sourced Oracle JDK no longer $free for production use also Oracle JDK 8 starting with April 2019 OpenJDK supported by Oracle only for 6 months including LTS versions (i.e. also Java 11) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  21. Java 11+ licensing changes Oracle JDK binaries built from OpenJDK

    sources with no propriety extras (e.g. Java Flight Recorder, Java Mission Control) they were open sourced Oracle JDK no longer $free for production use also Oracle JDK 8 starting with April 2019 OpenJDK supported by Oracle only for 6 months including LTS versions (i.e. also Java 11) beware of downloading Oracle JDK (also 8) if used in production Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  22. Java 11+ licensing changes Oracle JDK binaries built from OpenJDK

    sources with no propriety extras (e.g. Java Flight Recorder, Java Mission Control) they were open sourced Oracle JDK no longer $free for production use also Oracle JDK 8 starting with April 2019 OpenJDK supported by Oracle only for 6 months including LTS versions (i.e. also Java 11) beware of downloading Oracle JDK (also 8) if used in production no longer (any) $free LTS version from Oracle Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  23. Java 11+ long-term support options upgrade Java every 6 months

    no option for majority of (commercial) projects/products Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  24. Java 11+ long-term support options upgrade Java every 6 months

    no option for majority of (commercial) projects/products pay Oracle for extended support up to $25 per CPU per month (servers/cloud) (as of 2019) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  25. Java 11+ long-term support options upgrade Java every 6 months

    no option for majority of (commercial) projects/products pay Oracle for extended support up to $25 per CPU per month (servers/cloud) (as of 2019) find other vendor providing long-term support there are both $free and paid options Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  26. Java 11 (and 8) LTS - support options - Red

    Hat OpenJDK Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  27. Java 11 (and 8) LTS - support options - Red

    Hat OpenJDK most active external (non-Oracle) contributor to OpenJDK leader of OpenJDK 7, 8 and 11 development long-term support at least to 2024 (for Java 8 - 2023) TCK verified wide range of supported hardware platforms available for free - CentOS/Fedora and Windows and with commercial support - RHEL and Windows Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  28. Java 11 (and 8) LTS - support options - Red

    Hat OpenJDK most active external (non-Oracle) contributor to OpenJDK leader of OpenJDK 7, 8 and 11 development long-term support at least to 2024 (for Java 8 - 2023) TCK verified wide range of supported hardware platforms available for free - CentOS/Fedora and Windows and with commercial support - RHEL and Windows first port of call for RHEL/CentOS/Fedora users and Windows users with Middleware Subscription Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  29. Java 11 (and 8) LTS - support options - Red

    Hat OpenJDK most active external (non-Oracle) contributor to OpenJDK leader of OpenJDK 7, 8 and 11 development long-term support at least to 2024 (for Java 8 - 2023) TCK verified wide range of supported hardware platforms available for free - CentOS/Fedora and Windows and with commercial support - RHEL and Windows first port of call for RHEL/CentOS/Fedora users and Windows users with Middleware Subscription somehow problematic to use in non-RPM Linux distribution and macOS Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  30. Java 11 (and 8) LTS - support options - AdoptOpenJDK

    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  31. Java 11 (and 8) LTS - support options - AdoptOpenJDK

    initiative to increase adoption of OpenJDK supported by various individuals, organizations and companies OpenJDK with HotSpot VM and with Eclipse OpenJ9 long-term support at least to 2022 (for Java 8 - 2023) wide range of supported platforms available for free also with commercial support - offered by IBM and jClarity Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  32. Java 11 (and 8) LTS - support options - AdoptOpenJDK

    initiative to increase adoption of OpenJDK supported by various individuals, organizations and companies OpenJDK with HotSpot VM and with Eclipse OpenJ9 long-term support at least to 2022 (for Java 8 - 2023) wide range of supported platforms available for free also with commercial support - offered by IBM and jClarity good generic option for people not affiliated with other vendors Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  33. Java 11 (and 8) LTS - support options - AdoptOpenJDK

    initiative to increase adoption of OpenJDK supported by various individuals, organizations and companies OpenJDK with HotSpot VM and with Eclipse OpenJ9 long-term support at least to 2022 (for Java 8 - 2023) wide range of supported platforms available for free also with commercial support - offered by IBM and jClarity good generic option for people not affiliated with other vendors not TCK verified - legal issues with Oracle (with OpenJ9 in background) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  34. Java 11 (and 8) LTS - support options - Oracle

    JDK company/people behind Java reported issues may be fixed (somehow) faster long-term support at least to 2023 (for Java 8 - 2022) TCK verified subscription required for production use Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  35. Java 11 (and 8) LTS - support options - Oracle

    JDK company/people behind Java reported issues may be fixed (somehow) faster long-term support at least to 2023 (for Java 8 - 2022) TCK verified subscription required for production use . possibly considerable option for existing Oracle customers (DB, WebLogic, Cloud, ...) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  36. Java 11 (and 8) LTS - support options - other

    vendors Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  37. Java 11 (and 8) LTS - support options - other

    vendors Amazon Corretto used internally by Amazon, TCK verified, with optional commercial support (as part of generic AWS Support Plans) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  38. Java 11 (and 8) LTS - support options - other

    vendors Amazon Corretto used internally by Amazon, TCK verified, with optional commercial support (as part of generic AWS Support Plans) Azul and Zulu native Alpine builds (musl), TCK verified, with optional commercial support Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  39. Java 11 (and 8) LTS - support options - other

    vendors Amazon Corretto used internally by Amazon, TCK verified, with optional commercial support (as part of generic AWS Support Plans) Azul and Zulu native Alpine builds (musl), TCK verified, with optional commercial support BellSoft and Liberica JDK various platforms, TCK verified, with optional commercial support Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  40. Java 11 (and 8) LTS - support options - other

    vendors Amazon Corretto used internally by Amazon, TCK verified, with optional commercial support (as part of generic AWS Support Plans) Azul and Zulu native Alpine builds (musl), TCK verified, with optional commercial support BellSoft and Liberica JDK various platforms, TCK verified, with optional commercial support SAP and SapMachine TCK verified, with optional commercial support Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  41. Java 11 (and 8) LTS - support options - other

    vendors Amazon Corretto used internally by Amazon, TCK verified, with optional commercial support (as part of generic AWS Support Plans) Azul and Zulu native Alpine builds (musl), TCK verified, with optional commercial support BellSoft and Liberica JDK various platforms, TCK verified, with optional commercial support SAP and SapMachine TCK verified, with optional commercial support package provided by your Linux (LTS) distribution easiest to get, (usually) not TCK verified Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  42. Java 11 (and 8) LTS - support options - other

    vendors Amazon Corretto used internally by Amazon, TCK verified, with optional commercial support (as part of generic AWS Support Plans) Azul and Zulu native Alpine builds (musl), TCK verified, with optional commercial support BellSoft and Liberica JDK various platforms, TCK verified, with optional commercial support SAP and SapMachine TCK verified, with optional commercial support package provided by your Linux (LTS) distribution easiest to get, (usually) not TCK verified bunch of others Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  43. Conclusions - the future is bright Java and OpenJDK are

    here to stay even "more" open sourced (let's skip TCK part) still available at zero-cost (also in binary form) Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  44. Conclusions - the future is bright Java and OpenJDK are

    here to stay even "more" open sourced (let's skip TCK part) still available at zero-cost (also in binary form) multiple ways (vendors) to get free basic support for LTS versions (updates) commercial extended support Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  45. Conclusions - the future is bright Java and OpenJDK are

    here to stay even "more" open sourced (let's skip TCK part) still available at zero-cost (also in binary form) multiple ways (vendors) to get free basic support for LTS versions (updates) commercial extended support all security fixes and other important changes should be backported to "vanilla" (upstream) OpenJDK source tree anyway Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  46. Conclusions - the future is bright Java and OpenJDK are

    here to stay even "more" open sourced (let's skip TCK part) still available at zero-cost (also in binary form) multiple ways (vendors) to get free basic support for LTS versions (updates) commercial extended support all security fixes and other important changes should be backported to "vanilla" (upstream) OpenJDK source tree anyway business relationships, used operating system, target hardware architecture and extra services/tweaks/add-ons may be important Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  47. Conclusions - the future is bright Java and OpenJDK are

    here to stay even "more" open sourced (let's skip TCK part) still available at zero-cost (also in binary form) multiple ways (vendors) to get free basic support for LTS versions (updates) commercial extended support all security fixes and other important changes should be backported to "vanilla" (upstream) OpenJDK source tree anyway business relationships, used operating system, target hardware architecture and extra services/tweaks/add-ons may be important choose your friendly matching vendor Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  48. Conclusions - the future is bright Java and OpenJDK are

    here to stay even "more" open sourced (let's skip TCK part) still available at zero-cost (also in binary form) multiple ways (vendors) to get free basic support for LTS versions (updates) commercial extended support all security fixes and other important changes should be backported to "vanilla" (upstream) OpenJDK source tree anyway business relationships, used operating system, target hardware architecture and extra services/tweaks/add-ons may be important choose your friendly matching vendor or AdoptOpenJDK otherwise Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  49. Thank you! (and remember about the feedback) Marcin Zajączkowski https://blog.solidsoft.info/

    @SolidSoftBlog [email protected] OpenPGP: 0x48A84C5100F47FB6 06FA 6793 8DD1 7603 B007 5522 48A8 4C51 00F4 7FB6 Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
  50. Questions? (and remember about the feedback) Marcin Zajączkowski https://blog.solidsoft.info/ @SolidSoftBlog

    [email protected] OpenPGP: 0x48A84C5100F47FB6 06FA 6793 8DD1 7603 B007 5522 48A8 4C51 00F4 7FB6 Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/