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

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

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

    View Slide

  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/

    View Slide

  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/

    View Slide

  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/

    View Slide

  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/

    View Slide

  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/

    View Slide

  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/

    View Slide

  8. Alarming Java-related articles and questions in media
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
    Source: https://twitter.com/senorarroz/status/1110255155763503111

    View Slide

  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/

    View Slide

  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/

    View Slide

  11. Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/

    View Slide

  12. 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/

    View Slide

  13. 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/

    View Slide

  14. 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/

    View Slide

  15. 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/

    View Slide

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

    View Slide

  17. OpenJDK development
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
    Source: FOSDEM 2019 videos - "State of OpenJDK"

    View Slide

  18. OpenJDK development
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/
    Based on: Twitter - @bellsoftware

    View Slide

  19. 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/

    View Slide

  20. Importance of using supported version
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/

    View Slide

  21. 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/

    View Slide

  22. 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/

    View Slide

  23. 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/

    View Slide

  24. 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/

    View Slide

  25. 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/

    View Slide

  26. 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/

    View Slide

  27. Java 11+ long-term support options
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/

    View Slide

  28. 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/

    View Slide

  29. 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/

    View Slide

  30. 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/

    View Slide

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

    View Slide

  32. 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/

    View Slide

  33. 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/

    View Slide

  34. 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/

    View Slide

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

    View Slide

  36. 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/

    View Slide

  37. 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/

    View Slide

  38. 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/

    View Slide

  39. 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/

    View Slide

  40. 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/

    View Slide

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

    View Slide

  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)
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/

    View Slide

  43. 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/

    View Slide

  44. 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/

    View Slide

  45. 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/

    View Slide

  46. 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/

    View Slide

  47. 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/

    View Slide

  48. Conclusions
    Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/

    View Slide

  49. 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/

    View Slide

  50. 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/

    View Slide

  51. 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/

    View Slide

  52. 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/

    View Slide

  53. 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/

    View Slide

  54. 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/

    View Slide

  55. 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/

    View Slide

  56. 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/

    View Slide