The Diabolical Developer Promises that Java is Still Free
Martijn Verburg – Principal Software Engineering Group Manager (Java) @ Microsoft Ex CEO @ jClarity – We got acquired :-O Director @ AdoptOpenJDK.net Twitter - @karianna
Terminology Part I
Java Standard Edition (Java SE) Java Development Kit
• Specification of Java language syntax, JVM, • Binary implementation of Java SE (which may core libraries. be a superset) • Defined by Java Community Process (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 Source code 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, Google, 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 • Amazon Corretto • Azul’s Zulu • Bellsoft Liberica • OpenJDK vi your Linux Distro • Oracle’s OpenJDK • Red Hat • SAPMachine
©Microsoft Corporation Alibaba Dragonwell8
Java 8 on Linux Only with safe Unsafe!
• Java 8 only • Aliyun Linux, CentoOS or RHEL Linux x86 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 James Gosling 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: Eclipse 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