Slide 1

Slide 1 text

@CGuntur CHOOSING A 
 JAVA VENDOR AND FLAVOR FOR YOUR WORKPLACE CHANDRA GUNTUR

Slide 2

Slide 2 text

@CGuntur CHANDRA GUNTUR ABOUT Speaker: Oracle Code One, Devnexus, QCon New York, Oracle Code New York, Great India Developer Summit and at several Java User Groups JCP Executive Committee (EC) secondary representative for BNY Mellon JUG Leader: Organizer, Presenter at NYJavaSIG and NYJavaSIG Hands-On Workshops Contributor to the open sourced eclipse-collections Active on blogging and tweeting about Java

Slide 3

Slide 3 text

@CGuntur JAVA 8

Slide 4

Slide 4 text

@CGuntur JAVA 8 . . .

Slide 5

Slide 5 text

@CGuntur JAVA 8 . . .

Slide 6

Slide 6 text

@CGuntur JAVA 8 JAVA 11 . . .

Slide 7

Slide 7 text

@CGuntur JAVA 8 JAVA 11 . . .

Slide 8

Slide 8 text

@CGuntur JAVA 8 JAVA 11 . . .

Slide 9

Slide 9 text

@CGuntur

Slide 10

Slide 10 text

@CGuntur AGENDA • Understanding Long Term Support • Licenses in the JDK space • Support models from Oracle • Evaluation considerations • Java Vendors

Slide 11

Slide 11 text

@CGuntur WHAT IS LONG TERM SUPPORT (LTS) • An understanding between the various Java contributors.
 
 • Currently, led by Oracle and Red Hat.
 
 • New OpenJDK release every 6 months (9, 10, 11,12 ..).

Slide 12

Slide 12 text

@CGuntur WHAT IS LONG TERM SUPPORT (LTS) - CONTINUED • Most versions of Java SE ‘maintained’ for 6 months.
 
 • Some versions supported longer for commercial reasons.
 
 • These ‘LTS’ versions of Java are released every 3 years. 
 
 • Oracle JDK releases map to OpenJDK LTS (11, 17, 23, …)

Slide 13

Slide 13 text

@CGuntur March/ September 
 of each year
 new OpenJDK release 6 months RELEASE CADENCE Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years)

Slide 14

Slide 14 text

@CGuntur ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK 6 months RELEASE CADENCE Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years)

Slide 15

Slide 15 text

@CGuntur Oracle JDK released 
 along side the 
 LTS OpenJDK release Oracle LTS JDK released 
 along side the 
 LTS OpenJDK release 6 months RELEASE CADENCE Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years)

Slide 16

Slide 16 text

@CGuntur Oracle JDK released 
 along side the 
 LTS OpenJDK release Oracle LTS JDK released 
 along side the 
 LTS OpenJDK release March/ September 
 of each year
 new OpenJDK release ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK ~6 Months after each OpenJDK release,
 Oracle relinquishes 
 stewardship of OpenJDK 6 months RELEASE CADENCE Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years)

Slide 17

Slide 17 text

@CGuntur OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle™ JDK LTS LTS

Slide 18

Slide 18 text

@CGuntur OpenJDK 10
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle™ JDK LTS LTS

Slide 19

Slide 19 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle™ JDK LTS LTS

Slide 20

Slide 20 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle™ JDK LTS LTS

Slide 21

Slide 21 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle™ JDK LTS LTS

Slide 22

Slide 22 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle™ JDK LTS LTS

Slide 23

Slide 23 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle™ JDK LTS LTS

Slide 24

Slide 24 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle JDK 9
 Std. Impl. Oracle™ JDK LTS LTS

Slide 25

Slide 25 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 10
 Std. Impl. Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle JDK 9
 Std. Impl. Oracle™ JDK LTS LTS

Slide 26

Slide 26 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 10
 Std. Impl. Oracle JDK 11
 Std. Impl. Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle JDK 9
 Std. Impl. Oracle™ JDK LTS LTS

Slide 27

Slide 27 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 10
 Std. Impl. Oracle JDK 11
 Std. Impl. Oracle JDK 12
 Std. Impl. Oracle JDK 13
 Std. Impl. Oracle JDK 14
 Std. Impl. Oracle JDK 15
 Std. Impl. Oracle JDK 16
 Std. Impl. Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle JDK 9
 Std. Impl. Oracle™ JDK LTS LTS

Slide 28

Slide 28 text

@CGuntur OpenJDK 10
 Ref. Impl. OpenJDK 12
 Ref. Impl. OpenJDK 13
 Ref. Impl. OpenJDK 14
 Ref. Impl. OpenJDK 15
 Ref. Impl. OpenJDK 16
 Ref. Impl. OpenJDK 17
 Ref. Impl. OpenJDK 11
 Ref. Impl. OPENJDK AND ORACLE JDK 6 months Mar. 2018
 Java SE 10 Sep. 2018
 Java SE 11 Mar. 2019
 Java SE 12 Sep. 2019
 Java SE 13 Mar. 2020
 Java SE 14 Sep. 2020
 Java SE 15 Mar. 2021
 Java SE 16 Sep. 2021
 Java SE 17 Mar./Sep. 
 Each Year Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. Next
 Sep./Mar. Next
 Mar./Sep. 18 months (3 years) OpenJDK Oracle JDK 10
 Std. Impl. Oracle JDK 11
 Std. Impl. Oracle JDK 12
 Std. Impl. Oracle JDK 13
 Std. Impl. Oracle JDK 14
 Std. Impl. Oracle JDK 15
 Std. Impl. Oracle JDK 16
 Std. Impl. Oracle JDK 17
 Std. Impl. Oracle JDK 8
 Std. Impl. Jan. 2019 Mar. 2014 Oracle JDK 9
 Std. Impl. Oracle™ JDK LTS LTS

Slide 29

Slide 29 text

@CGuntur BORROWED FROM “JAVA IS STILL FREE” [*] ORACLE’S OPENJDK UPDATE MATRIX Oracle OpenJDK Build Version Release Date Notes on Oracle Updates 8 March 2014 Long Term Support. 
 At least until January 2020 (personal desktop use)
 Ends January 2019 for commercial use 9 September 2017 Obsolete. Superseded by Oracle OpenJDK build 10 10 March 2018 Obsolete. Superseded by Oracle OpenJDK build 11 11 September 2018 Long Term Support. Superseded by Oracle OpenJDK build 12 12 March 2019 To be superseded by Oracle OpenJDK build 13 13 September 2019 To be superseded by Oracle OpenJDK build 14 Link: https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244

Slide 30

Slide 30 text

@CGuntur BORROWED FROM “JAVA IS STILL FREE” [*] GENERIC OPENJDK UPDATE MATRIX Link: https://www.theserverside.com/news/252461945/Red-Hat-replaces-Oracle-as-OpenJDK-8-OpenJDK-11-steward Version Release Date Notes on Updates OpenJDK 6 Primarily supported by Azul Systems OpenJDK 7 Primarily supported by RedHat at least through June 2020 OpenJDK 8 March 2014 At least through September 2023. RedHat to lead after January 2019
 Supported by Amazon, Azul Systems, IBM and others. OpenJDK 9 September 2017 Superseded by OpenJDK 10 OpenJDK 10 March 2018 Superseded by OpenJDK 11 OpenJDK 11 September 2018 Supported stewarded by RedHat, supported by others [*] OpenJDK 12 March 2019 To be superseded by OpenJDK 13 OpenJDK 13 September 2019 To be superseded by OpenJDK 14 Link: https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244

Slide 31

Slide 31 text

@CGuntur AGENDA • Understanding Long Term Support • Licenses in the JDK space • Support models from Oracle • Evaluation considerations • Java Vendors

Slide 32

Slide 32 text

@CGuntur LICENSES IN THE JAVA WORLD Content intended for information only, 
 and is based on personal interpretation. I AM NOT A LAWYER.

Slide 33

Slide 33 text

@CGuntur LICENSE JARGON Various licenses exist:
 • Oracle Binary Code License Agreement
 • Oracle Technology Network License Agreement for Oracle Java SE
 • GNU General Public License v2 with CE

Slide 34

Slide 34 text

@CGuntur LICENSE JARGON ORACLE BINARY CODE LICENSE • ‘Free’ as in speech, not as in lunch.
 • Allows to reproduce and internally use the software.
 • Provided software copyrighted & IP of Oracle and/or licensors.
 • Disclaimer of warranty and limitation of liability apply. Link: https://www.oracle.com/technetwork/java/javase/terms/license/index.html

Slide 35

Slide 35 text

@CGuntur LICENSE JARGON ORACLE BINARY CODE LICENSE • Restrictions on Commercial Features and Java Technology.
 • Commercial Features cannot be used other than per agreement.
 • Cannot modify content under packages: java, javax, sun, oracle.
 • Disallowed to redistribute certain source code per agreement. Link: https://www.oracle.com/technetwork/java/javase/terms/license/index.html C O N TIN U ED

Slide 36

Slide 36 text

@CGuntur LICENSE JARGON GNU GENERAL PUBLIC LICENSE WITH CLASSPATH EXCEPTION • ‘Free’ as in speech, not as in lunch.
 • If patented, the software should allow for free use.
 • Redistributions have same license rules & require free sources.
 • Carry-forward of all copy rights is a must (code change allowed). Link: http://openjdk.java.net/legal/gplv2+ce.html

Slide 37

Slide 37 text

@CGuntur LICENSE JARGON GNU GENERAL PUBLIC LICENSE WITH CLASSPATH EXCEPTION • No warranty for the program/application since it is free for use. 
 • No other license can be applied to altered parts (exception below).
 • Certain Oracle source files carry a disagreement with license.
 • Such files are bundled with the distro, as “classpath exception”. C O N TIN U ED Link: http://openjdk.java.net/legal/gplv2+ce.html

Slide 38

Slide 38 text

@CGuntur LICENSE JARGON ORACLE TECHNOLOGY NETWORK LICENSE • ‘Free’ as in lunch!
 • Free for personal/development, Oracle Product and Oracle Cloud use.
 • Source code, if under license, is shared via Oracle OSS portals.
 • No tech. support, no phone support, no updates. Link: https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html

Slide 39

Slide 39 text

@CGuntur LICENSE JARGON ORACLE TECHNOLOGY NETWORK LICENSE • Cannot remove any licensing or proprietary rights.
 • Cannot redistribute this software without additional agreement.
 • Cannot reverse engineer, disassemble or decompile the code.
 • Cannot modify content under packages: java, javax, sun, oracle. C O N TIN U ED Link: https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html

Slide 40

Slide 40 text

@CGuntur AGENDA • Understanding Long Term Support • Licenses in the JDK space • Support models from Oracle • Evaluation considerations • Java Vendors

Slide 41

Slide 41 text

@CGuntur VARIOUS SUPPORT MODELS FROM ORACLE • Developers and Personal - OTN Support
 • For Enterprise - Premier Support • For Enterprise - Extended Support • For Enterprise - Sustaining Support
 • For Enterprise - Java SE Subscription

Slide 42

Slide 42 text

@CGuntur ORACLE SUPPORT OPTIONS OTN SUPPORT • Oracle to push updates to distribution site.
 • No phone or tech. support provided on demand.
 • No update/patch service for new binaries.
 • Only for development or personal use.

Slide 43

Slide 43 text

@CGuntur ORACLE SUPPORT OPTIONS PREMIER SUPPORT • Targeted for the enterprise.
 • Available for 5 years from the general availability date.
 • For Oracle DBs, Oracle Fusion middleware as well as Oracle apps.
 • Provides no upgrade strategy options beyond 5 years.

Slide 44

Slide 44 text

@CGuntur ORACLE SUPPORT OPTIONS EXTENDED SUPPORT • Targeted for the enterprise.
 • Available for >5 years from the general availability date, costs more.
 • For Oracle DBs, Oracle Fusion middleware as well as Oracle apps.
 • Provides implicit upgrade strategy options beyond 5 years.

Slide 45

Slide 45 text

@CGuntur ORACLE SUPPORT OPTIONS SUSTAINED SUPPORT • Targeted for the enterprise.
 • Available for almost unlimited time, costs the most.
 • Provides online support tools, upgrade rights & pre-existing fixes.
 • Provides implicit upgrade strategy options beyond 5 years.

Slide 46

Slide 46 text

@CGuntur ORACLE SUPPORT OPTIONS JAVA SE SUBSCRIPTION SUPPORT • Targeted for the enterprise.
 • Support for versions beyond End of Public Updates (EoPU).
 • Round-the-clock My Oracle Support via email and phone.
 • Simple pricing models: • a Desktop pricing per user per month with tiered volume discounts. • a Server pricing per processor per month with tiered volume discounts.

Slide 47

Slide 47 text

@CGuntur AGENDA • Understanding Long Term Support • Licenses in the JDK space • Support models from Oracle • Evaluation considerations • Java Vendors

Slide 48

Slide 48 text

@CGuntur HOW TO CHOOSE A JAVA STRATEGY WHAT TO CONSIDER • Current developer environment and skills • Applications versus libraries development • Java usage topography • Existing vendor products in use • Licensing concerns and support aspirations • Ensuring JDK updates (patches, security fixes)

Slide 49

Slide 49 text

@CGuntur JAVA VERSION STRATEGY Content intended for information only, 
 and is based on personal interpretation.

Slide 50

Slide 50 text

@CGuntur JAVA VERSION STRATEGY USE JAVA 8 • Most developers are very comfortable with Java 8
 • Java 8 has matured for a long time and is battle-tested
 • Does not require thinking in modules and corollary 
 • Easier for reflection and legacy third party libraries Java 8

Slide 51

Slide 51 text

@CGuntur JAVA VERSION STRATEGY USE JAVA 8 • Oracle JDK 8 has an commercial-use restrictions : • Available with subscription beyond Apr. 2019 • Personal/development use until ~Dec. 2020
 • Other JDK vendors also provide Java 8 with LTS Java 8

Slide 52

Slide 52 text

@CGuntur JAVA VERSION STRATEGY USE JAVA “CURRENT” • Upgrade every 6 months to a new release of the JDK
 • Ensures Java support, upgrades and patches
 • May prove too experimental for high impact applications
 • Will have feature toggles for bleeding edge features Java ‘C urrent’

Slide 53

Slide 53 text

@CGuntur JAVA VERSION STRATEGY USE JAVA “CURRENT” • Helps stay current with the latest changes
 • Good for agile environments
 • Developers get to adapt to using new features sooner Java ‘C urrent’

Slide 54

Slide 54 text

@CGuntur JAVA VERSION STRATEGY USE JAVA 11 • Most recent and stable LTS version of Java
 • Several new enhancements and performance gains
 • Supports modularity and other newer safety features
 • Code improves due to encapsulation/security changes Java 11

Slide 55

Slide 55 text

@CGuntur JAVA VERSION STRATEGY USE JAVA 11 • Syntactic-sugar changes bring code readability gains 
 • Several JDK vendors exist, opening up the choices
 • Oracle JDK has support for its JDK 11 at least until 2026 Java 11

Slide 56

Slide 56 text

@CGuntur AGENDA • Understanding Long Term Support • Licenses in the JDK space • Support models from Oracle • Evaluation considerations • Java Vendors

Slide 57

Slide 57 text

@CGuntur JAVA POPULAR VENDORS Content intended for information only, 
 and is based on personal interpretation.

Slide 58

Slide 58 text

@CGuntur JAVA VENDORS PROVIDER SUMMARY JDK 
 Distro Name Versions Supported TCK 
 Compliance Public 
 Updates Architectur es Supported Commercial 
 Support AdoptOpenJDK 8 No ~ Sep. 2023 Major + Minor IBM (OpenJ9 & HotSpot) jClarity (HotSpot) 11 No ~ Sep. 2023 Amazon Corretto 8 Yes ~ Jun. 2023 Major No ‘commercial support’. Amazon provides quarterly updates 11 Yes ~Aug. 2024 Major Azul Zulu 8 Yes ? Major + Minor Azul 11 Bellsoft Liberica JDK 8 Yes ~2023 Major + Minor BellSoft 11 Oracle OpenJDK 11 Yes ~Mar. 2019 Major Oracle (via Oracle JDK) SapMachine 11 Yes ? Major ? Link: https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244

Slide 59

Slide 59 text

@CGuntur JAVA VENDORS AMAZON • Free builds for Win, Linux, Mac with LTS updates and patches. • Used by thousands of production services on AWS. • No explicit commercial support plan, quarterly updates planned until 2024. • Targeted for major operating systems only. • Important Links: • https://aws.amazon.com/corretto/ • https://github.com/corretto/ Amazon Corretto

Slide 60

Slide 60 text

@CGuntur JAVA VENDORS AZUL • Offers a Medium Term Support of ~1.5 years for every version. • One of the most widely used non-Oracle JDK • Multiple offerings of Zulu (OpenJDK) and Zing (Java platform). • Zulu support charge is per-system not per-CPU. • Has a standard and a premium support tier (premium allows 24x7 phone support). • Important Links: • https://www.azul.com/products/azul_support_roadmap/ • https://www.azul.com/products/zulu-enterprise/ Zulu, Zing, Zing Enterprise

Slide 61

Slide 61 text

@CGuntur JAVA VENDORS BELLSOFT • Available for desktop, server as well as for embedded use. • Supports several architectures of Linux, MacOS, Windows, Solaris etc. • Can support additional platforms on a per-request basis. • Commercial support (standard or premium) for LTS versions. • Support is by number of desktops physical/virtual servers or embedded devices. • Important Links: • https://bell-sw.com/ • https://support.bell-sw.com/support Liberica JDK

Slide 62

Slide 62 text

@CGuntur JAVA VENDORS IBM • Available for desktop as well as for server use. • IBM JDK supports several architectures of AIX, Linux, z/OS, IBM i etc. • Also supports AdoptOpenJDK builds with either HotSpot or OpenJ9 VMs. • IBM LTS releases will be available as OpenJDK with OpenJ9 binaries from AdoptOpenJDK. • Support for IBM JDK 7 & 8 is ongoing. Newer support options will be added with time. • Important Links: • https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9 • https://developer.ibm.com/javasdk/ • https://www.ibm.com/cloud/support-for-runtimes AdoptOpenJDK, IBM JDK & IBM OpenJ9 VM

Slide 63

Slide 63 text

@CGuntur JAVA VENDORS JCLARITY • Available for desktop as well as for server use. • Supports several flavors of Linux, Mac, Windows, Arm, Solaris etc. • Supports AdoptOpenJDK builds with HotSpot VM only. • Backed by Amazon, Azul, GoDaddy, IBM, jClarity, Pivotal, Red Hat and many more. • Commercial support for AdoptOpenJDK LTS releases for up to 5 years. • Support is neither constrained by JVM nor host, priced on flexible metrics. • Important Links: • https://www.jclarity.com/adoptopenjdk-support/ • https://adoptopenjdk.net/support.html AdoptOpenJDK

Slide 64

Slide 64 text

@CGuntur JAVA VENDORS REDHAT • Available for RH Enterprise Linux server use. • Supports several platforms where Enterprise Linux runs. • Also provides source RPMs for CentOS. • RH did not produce binaries for JDK 9 and JDK 10. • OpenJDK 11 for RHEL 7 will be released once tested and will be supported until 2024. • Has the ability to patch updates and backport to OpenJDK shipped for RHEL. • Important Links: • https://access.redhat.com/articles/1299013 • https://developers.redhat.com/products/openjdk/overview/ RedHak JDK For Enterprise Linux

Slide 65

Slide 65 text

@CGuntur JAVA VENDORS SAP • General intent is for SAP vendors and customers. • Supports Windows, Linux and Macs. • Also provides source RPMs for CentOS. • Maintenance update every 3 months. • LTS releases supported for 4 years. • Professional support available via SAP Support Portal. • Important Links: • https://sap.github.io/SapMachine/ • https://github.com/SAP/SapMachine/wiki/Security-Updates,- Maintenance-and-Support SapMachine

Slide 66

Slide 66 text

@CGuntur THANK YOU ! https://twitter.com/CGuntur https://cguntur.me https://linkedin.com/in/cguntur