Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the reason to use OpenJDK?

Tags:

java

licensing

I somehow understand the differences between Oracle JDK and Open JDK.
But I can't find reasons to use Open JDK.
Because Oracle JDK already has everything one would need and sometimes faster than Open JDK.

In which cases should someone use Open JDK?
Is it just for legality issues?
If yes, then what are issues?
That because I have been still develop all my projects using Oracle JDK

like image 235
Turkhan Badalov Avatar asked Nov 11 '17 09:11

Turkhan Badalov


People also ask

Should I use OpenJDK or JDK?

There's no real technical difference between the two, since the build process for Oracle JDK is based on that of OpenJDK. When it comes to performance, Oracle's is much better regarding responsiveness and JVM performance. It puts more focus on stability because of the importance it gives to its enterprise customers.

What is difference between JDK and OpenJDK?

The biggest difference between OpenJDK and Oracle JDK is licensing. OpenJDK is completely open source Java with a GNU General Public License. Oracle JDK requires a commercial license under Oracle Binary Code License Agreement. But there are many other differences within support and cost, too.

What do you mean by OpenJDK?

OpenJDK is a free, open-source version of the Java Development Kit for the Java Platform, Standard Edition (Java SE). OpenJDK, which stands for Open Java Development Kit, originated from an effort initiated by Sun Microsystems in 2006 and is now sponsored and led by Oracle.

Can I use OpenJDK for commercial use?

The OpenJDK build from Oracle is $free, GPL licensed (with Classpath exception so safe for commercial use), and provided alongside their commercial offering.


1 Answers

Other Answers are correct. Here is some other information as well, including vital changes as of early 2021.

Source-code versus Binaries/installers

understand the differences between Oracle JDK and Open JDK.

To sum it up: source-code versus binaries/installers.

  • OpenJDK is an open-source project, implementing the Java Specifications, JSRs, and JEPs that define the Java platform. This project publishes only source-code, not binaries or installers to get Java running on your computer (except for some early-access builds). Oracle is the principal participant in the OpenJDK project, alongside IBM & Red Hat, Apple, SAP, Azul Systems, Microsoft, and others.
  • Many companies provide distributions of OpenJDK for installation, as binaries or installers. Oracle is one such company.

Oracle actually provides two such products:

  • Oracle JDK
    A commercial product, with paid support plans. (Free-of-cost only for development & testing, not deployment. Read their terms.)
  • jdk.java.net
    A build of the OpenJDK source-code, freely available, unsupported.

Oracle has declared their intention to keep their commercial product Oracle JDK at feature-parity with OpenJDK. Oracle even went so far as to open-source and make available at no cost their formerly commercial tools Mission Control and Flight Recorder, both now a part of OpenJDK. So there is nearly no practical difference. One significant difference is that the Oracle company reserves the right to rapidly supply their paid support customer base with urgent patches not currently found in OpenJDK. Ditto for other vendors selling support.

[And for the record, Oracle offers a third implementation of Java, GraalVM, which is a very specialized product.]

Here is a flowchart graphic I made to help guide you in selecting a provider of a Java implementation.

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

And here is a list of motivations you might consider in choosing a distribution.

Motivations in choosing a vendor for Java

like image 108
Basil Bourque Avatar answered Oct 30 '22 12:10

Basil Bourque