Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Oracle JDK not an open source project?

I read at Technically what is the main difference between Oracle JDK and Open JDK? the

"Oracle JDK is an implementation of the OpenJDK and is not open source"

But JDK source code is openly available and free . Right . So how come its not open source ? May be i am wrong here in judging the oracle JDK as open source because source code may be available and free but is it not allowed to modify/extend and redistribute it further, that why it is not open source ?

like image 355
scott miles Avatar asked Sep 25 '16 07:09

scott miles


People also ask

Is JDK an open source?

OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only with a linking exception.

Is Java an Oracle open source?

You can download the latest OpenJDK release of Java from Oracle, for free, under an open source license from jdk.java.net. Oracle JDK 8 and Oracle JDK 11 are free for Personal, Development and other uses. Oracle JDK 17 and later release are available under a Oracle No-Fee Terms and Conditions License for all users.

Is Oracle JDK 8 open source?

There are some licensing implications when using Oracle's platform. Public updates for Oracle Java SE 8 released after January 2019 won't be available for business, commercial, or production use without a commercial license, as Oracle announced. However, OpenJDK is completely open source and can be used freely.

Is Oracle JDK free again?

The Oracle JDK is available free of charge for production use again - under the new "Oracle No-Fee Terms and Conditions" (NFTC) license. This move reverses a 2018 decision to charge for Oracle JDK production use and does not affect Oracle's OpenJDK distribution.

What is the difference between OpenJDK and Oracle JDK?

OpenJDK is a reference model and open source, while Oracle JDK is an implementation of the OpenJDK and is not open source. Oracle JDK is more stable than OpenJDK.

Is the full source code for the Oracle JDK available?

Strictly speaking, No. 1) The full source code for the Oracle JDK is not available. The JDK source code ZIP file only contains the source code for the public class library APIs. Not some of the "internal" class.

Can I use OpenJDK without a license?

Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial, or production use without a commercial license, as Oracle announced. However, OpenJDK is completely open source and can be used it freely.

What is JDK in Java?

2. Oracle JDK and Java SE History JDK (Java Development Kit) is a software development environment used in Java platform programming. It contains a complete Java Runtime Environment, a so-called private runtime.


2 Answers

But [the Oracle] JDK source code is openly available and free. Right?

Strictly speaking, No.

1) The full source code for the Oracle JDK is not available. The JDK source code ZIP file only contains the source code for the public class library APIs. Not some of the "internal" class. Not the JDK / JRE toolchains. Not the JVM runtime itself; e.g. the JIT compiler, GC implementations, the verifier, etc.

2) For the subset that is available you need to accept an Oracle license.

3) The source code that is available says in the copyright headers that it is Oracle (or Sun) proprietary.

So how come its not open source?

See above.

May be i am wrong here because source code may be available and free but is it not allowed to modify/extend and redistribute it further, that why it is not open source ?

That is one reason.

Open source doesn't just mean that source code is available for free. It it also available without undue restrictions on what you can do with it.

(And if you want the full source code for Oracle JDK, then it is not available for free, and the terms and conditions are pretty restrictive.)


By contrast the OpenJDK codebase is covered by GPLv2 (with the "Classpath exception" which clarifies the point that an application built to use the OpenJDK JVM / class libraries is not subject to the GPL.) Everything that is part of OpenJDK is available as source code ... without you signing anything.

Sure the GPL places restrictions on what you can do, but those are designed to make the code free (as in liberty) and protect the rights of the end-user.

like image 111
Stephen C Avatar answered Oct 26 '22 12:10

Stephen C


OpenJDK is open source under the GPL v2 license, whereas OracleJDK uses Oracle Binary Code License Agreement (more on that here and here).

You're not wrong when you say that the source code is freely available but it's not allowed to be modified and redistributed further.

like image 31
Nikhil Vibhav Avatar answered Oct 26 '22 13:10

Nikhil Vibhav