Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Azul OpenJDK, Zulu OpenJDK and OpenJDK? [closed]

Tags:

java

azul-zulu

What is the difference between Azul OpenJDK, Zulu OpenJDK and OpenJDK?

like image 321
Krishan Avatar asked Apr 21 '20 02:04

Krishan


People also ask

What is Azul Zulu OpenJDK?

Azul Zulu builds of OpenJDK are open source, TCK-tested and certified builds of OpenJDK. Azul Zulu is available for a wide range of hardware platforms and operating systems. The Azul Zulu Documentation includes release notes, an installation guide, and third-party licenses.

What is Azul Zulu used for?

Azul® Zulu ® is a Java Development Kit (JDK), and a compliant implementation of the Java Standard Edition (SE) specification that contains all the Java components needed to build and run Java SE applications.

Is Azul Zulu OpenJDK free?

Azul has been making free Zulu builds of OpenJDK available to the Java community since 2014, and Azul Platform Core is being used in tens of millions of servers and devices today.

Which version of OpenJDK should I use?

Standard Edition (SE) The standard edition is the core Java programming platform. It includes all of the core libraries and APIs that every Java programmer needs to be familiar with. For most developers (especially those just getting started) the standard edition is the most appropriate.


1 Answers

Update 2021-09

  • For versions 8 through 16, Oracle required a fee if their own Oracle JDK product was used in production, but not for dev, test, and training usages.
  • For Java 17, the Oracle JDK product is available under a new No-Fee Terms and Conditions license, discussed on the Oracle company blog.

On my first reading, it appears this new license makes production use free-of-cost (along with dev, test, and training usages), except for products sold for a fee while bundling the Oracle JDK product. But I am not an attorney, so read the terms yourself and consult legal advice as needed.

Keep in mind that many other vendors continue to provide implementations of the Java specs, as shown in the flowchart below. Some of these vendors sell support plans, either optionally or as a requirement for use of their product. Never assume, always read the detailed requirements for any distribution you obtain.

Another 2021 update: Add Microsoft to the list of vendors seen below.


Java specification versus implementation

Java is defined by a set of specifications, JSRs, and JEPs, all published by Oracle.

Those specifications are implemented in the source code found at the OpenJDK project.

Several vendors provide builds of that source code. Some charge money for those builds and some do not.

Azul Systems is one such vendor, a company providing multiple implementations. Zulu Community is one, provided free of charge. Zulu Enterprise is another of their products, a commercial offering. Zing is yet another product of theirs, a JVM/JDK for special needs.

You asked:

Is there any practical difference between Azul OpenJDK, Zulu OpenJDK and OpenJDK?

Yes and no.

Firstly, OpenJDK provides only source code. So you cannot use OpenJDK to run Java apps. You must first build the OpenJDK source code yourself to get executables for your particular host platform, or you must rely on a vendor make a build for you. As seen in the flow chart below, there are several such vendors making builds of the OpenJDK source code.

As for products from Azul Systems, there is no such thing as Azul OpenJDK nor Zulu OpenJDK that I know of. Azul offers multiple products, as discussed above, but none of them by that name.

The Zulu name is used for 3 products, the Community and Enterprise editions above, plus Zulu Embedded for running on constrained hardware resources. As explained on their web site, all three of these are builds of the source code from OpenJDK.

So, no, basically no practical differences, as they all are builds of OpenJDK, and behave similar to most any other build of OpenJDK source code. Any desktop, server, or console application written to comply with the Java specifications will run on Zulu Community and Zulu Enterprise.

But, yes, there are some differences in that Azul adds some features such as having back-ported Flight Recorder and Mission Control to their Java 8 version of Zulu products. And Azul, like any such JDK provider, reserves the right to add a patch when urgently needed to fix a critical bug or security vulnerability without waiting for a release in the OpenJDK codebase.

And, yes, there are major differences with the Zing product by Azul as that is intended for special needs such as supporting very large amounts of memory. While I presume this product uses parts of OpenJDK, Zing performs quite differently to meet those special needs while still conforming with the Java specifications to be able to run any application written in Java.

Another practical difference is that you can obtain support services from Azul Systems for their builds. Several of the vendors provide support services for their builds. OpenJDK provides only source code, no support.

Lastly, I should mention that Azul Systems is one of the sponsors of AdoptOpenJDK, a project to provide (a) builds of OpenJDK, and (b) test suites for quality assurance.

If you have specific product questions, you should study the Azul.com web site, and contact the sales department at Azul Systems. I speak only for myself here, unaffiliated with that company. I have on occasion used their Zulu Community product, but not the others.

➥ Read Java is Still Free to understand the ecosystem of Oracle, OpenJDK, and the various vendors of Java implementations.


Here is a flow chart I made to help guide you in choosing a vendor for an implementation of Java 11.

Flowchart guiding you in choosing a vendor for a Java 11 implementation

like image 95
Basil Bourque Avatar answered Oct 14 '22 16:10

Basil Bourque