Slide 1

Slide 1 text

How to save money on long-term support for Java 11? Marcin Zajączkowski Kraków, 24-26 June 2019 @SolidSoftBlog

Slide 2

Slide 2 text

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/

Slide 3

Slide 3 text

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/

Slide 4

Slide 4 text

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/

Slide 5

Slide 5 text

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/

Slide 6

Slide 6 text

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/

Slide 7

Slide 7 text

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/

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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/

Slide 10

Slide 10 text

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/

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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/

Slide 13

Slide 13 text

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/

Slide 14

Slide 14 text

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/

Slide 15

Slide 15 text

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/

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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/

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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/

Slide 22

Slide 22 text

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/

Slide 23

Slide 23 text

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/

Slide 24

Slide 24 text

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/

Slide 25

Slide 25 text

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/

Slide 26

Slide 26 text

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/

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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/

Slide 29

Slide 29 text

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/

Slide 30

Slide 30 text

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/

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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/

Slide 33

Slide 33 text

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/

Slide 34

Slide 34 text

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/

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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/

Slide 37

Slide 37 text

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/

Slide 38

Slide 38 text

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/

Slide 39

Slide 39 text

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/

Slide 40

Slide 40 text

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/

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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/

Slide 43

Slide 43 text

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/

Slide 44

Slide 44 text

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/

Slide 45

Slide 45 text

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/

Slide 46

Slide 46 text

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/

Slide 47

Slide 47 text

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/

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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/

Slide 50

Slide 50 text

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/

Slide 51

Slide 51 text

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/

Slide 52

Slide 52 text

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/

Slide 53

Slide 53 text

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/

Slide 54

Slide 54 text

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/

Slide 55

Slide 55 text

Thank you! (and remember about the feedback) Marcin Zajączkowski https://blog.solidsoft.info/ @SolidSoftBlog m.zajaczkowski@gmail.com OpenPGP: 0x48A84C5100F47FB6 06FA 6793 8DD1 7603 B007 5522 48A8 4C51 00F4 7FB6 Marcin Zajączkowski @SolidSoftBlog https://blog.solidsoft.info/

Slide 56

Slide 56 text

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