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 ?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With