<<

The Diabolical Developer Promises that is Still Free

Martijn Verburg – Principal Software Engineering Group Manager (Java) @ Ex CEO @ jClarity – We got acquired :-O Director @ AdoptOpenJDK.net Twitter - @karianna

Terminology Part I

Java Standard Edition (Java SE)

• Specification of Java language syntax, JVM, • Binary implementation of Java SE (which may core libraries. be a superset) • Defined by (JCP) • Often tested using the (Java) Technical through an umbrella Java Specification Compatibility Kit J(TCK) to ensure conformance Request (JSR). to the Java SE specification

©Microsoft Corporation What I’ll cover 01 Terminology 02 What Happened to Oracle’s Java? 03 Your Options 04 OpenJDK Providers 05 AdoptOpenJDK Business Ready Binaries Community! Build Farm++

©Microsoft Corporation

Terminology Part II

OpenJDK

The Project / Code / Community The Binary Provider • The Open which is the Reference • A JDK built directly from OpenJDK source code. • A vendor who provides an OpenJDK binary Implementation (RI) of the Java SE standard • The project where this work occurs • The community which works on OpenJDK

©Microsoft Corporation What the $^£$% Just Happened to Oracle’s Java?

Oracle Java – End of Java Public Updates

Oracle are providing free updates for six months

After six months you will not get critical fixes for free

There is some Devil in the detail bit.ly/javaisstillfree

©Microsoft Corporation

Option 2: Get an Oracle Subscription

You’ll get a great JDK / JRE with all the fixes

You’ll (in)directly be helping pay for the R&D

Pricing at the lower number of JVMs is not punitive https://www.oracle.com/java/java-se-subscription

©Microsoft Corporation

Option 3: Choose an OpenJDK Provider

Red Hat / SAP are leading the OpenJDK 8 and 11 update projects respectively

Amazon, Azul, , IBM, Twitter et al are all supporting

You’ll get a great JDK/JRE with all the fixes

Including `Oracle only` fixes (for now!)

You can get binaries that are $free and free (‘as in use’)

Commercial Support is limited in some cases

©Microsoft Corporation OpenJDK Providers OpenJDK Providers

• AdoptOpenJDK (Multiple vendors support this) • AliBaba Dragonwell • Corretto • Azul’s Zulu • Bellsoft Liberica • OpenJDK vi your Distro • Oracle’s OpenJDK • • SAPMachine

©Microsoft Corporation Alibaba Dragonwell8

Java 8 on Linux Only with safe Unsafe!

• Java 8 only • Aliyun Linux, CentoOS or RHEL Linux only • Has some added protection for sun.misc.Unsafe calls

https://github.com/alibaba/dragonwell8/releases

©Microsoft Corporation

Amazon Corretto

Java 8 and 11 – with good vibes!

• Java 8 and 11 only • Well tested, TCK compliant • Mac OS X, Windows, Linux x86 and aarch64 • James works there • Supported on AWS! • Not supported anywhere else • Some performance and stability patches over and above the OpenJDK RI, but not many.

©Microsoft Corporation Azul Zulu

Java 6, 7, 8 and 11 and more! A trusted name.

• Azul have been providing Java for a long time • Well tested, TCK compliant • Mac OS X, Windows, Linux x86 and aarch64 others • Simon works there! • Commercial support if you want it • Some performance and stability patches over and above the OpenJDK RI, but not many. • Sadly, not really in the open • Midsize vendor https://www.azul.com/downloads/zulu-community/

©Microsoft Corporation Distro Based OpenJDK

Java 8 and 11 and more! Take some care.

• Distro builds are easy to get! • Variable testing, some TCK, some not. • Work well with your distro / package manager • Only for your distro • No Commercial support • Some issues in the past about chain of custody of source

yum or apt-get

©Microsoft Corporation Bellsoft Liberica

Java 8 and 11 and more! Former Oracle Engineers

• Bellsoft are new • Well tested, TCK compliant • Mac OS X, Windows, Linux x86 and aarch64 and others • Commercial support if you want it • Some performance and stability patches over and above the OpenJDK RI, but not many. • Also Java consulting services • Relatively small vendor

https://bell-sw.com/

©Microsoft Corporation Oracle OpenJDK

Reference Implementations

• Built by the stewards of Java • Well tested, passes the TCK • Windows, Mac, Linux x86 • 6 months of free updates only • No real documentation, community support or anything really.

https://jdk.java.net/

©Microsoft Corporation Red Hat OpenJDK (with RHEL)

If you’re on RHEL – This is a no brainer

• Built by the stewards of Java 8 and 11 • Well tested, passes the TCK • RHEL only • Amazing support • Will be run by IBM one day or will it?

https://developers.redhat.com/products/openjdk/

©Microsoft Corporation SAP Machine by SAP

Java 11 only, on s390 or PPC? Go for it!

• Built by the stewards of Java 11 • Well tested, passes the TCK • Windows, Mac OS X, Linux, s390, PPC • Just lost their lead engineer to Amazon..

https://sap.github.io/SapMachine/

©Microsoft Corporation

Business Ready Binaries

The place to get free binaries by the community

Windows x32/x64, Linux x86, Mac OS X, ARM x32/x64, AIX, zOS, PPC, Solaris Sparc/Intel and more!

Professionally tested and passes the AdoptOpenJDK Quality Assurance

Community or Commercial Support

Backed by Major Vendors and the Java Community!

Every distribution and installer mechanism under the sun including Docker, Homebrew etc

The new home for IcedTea Web and Java Mission Control

©Microsoft Corporation Open and Transparent

The entire project is OSS

Technical Streeting Committee (TSC) is in the open

Ansible for Infrastructure as Code

Bash based build scripts

Jenkins based pipelines, Microsoft AzDO

Everything happens in GitHub (https://github.com/adoptopenjdk) and Slack (https://adoptopenjdk.net/slack)

©Microsoft Corporation Extra Choice: OpenJ9

Eclipse OpenJ9 is an alternative VM to Hotspot

• As a separate download, AdoptOpenJDK bundles this VM with OpenJDK class libraries • Well tested, passes the TCK • For some cloud / container workloads, it’s faster and/or more efficient

https://www.eclipse.org/openj9/

©Microsoft Corporation

https://adoptopenjdk.net

Help us drive the future https://adoptopenjdk.net/slack See? Java is still free!

Martijn Verburg – Principal Software Engineering Group Manager (Java) @ Microsoft Director @ AdoptOpenJDK.net Twitter - @karianna