This answer on Stack Overflow states that the OpenJDK is licensed under GPLv2 yet the OracleJDK has a different license?

My understanding of GPL was that if they used the OpenJDK sources, they would be required to distribute the code of their project?

Can someone explain how this works?


All contributors to the OpenJDK project must agree to the Oracle Contributor Agreement (OCA). The OpenJDK contributor page summarizes:

The OCA gives Oracle and the Contributor joint copyright interests in the code. The Contributor retains copyrights while also granting those rights to Oracle as the Community's sponsor.

In other words, Oracle is the copyright holder (or full rights co-holder) of all OpenJDK code, including submissions from outside contributors. Oracle's right to include OpenJDK code in their proprietary JDK stems from their status as copyright holder, not from a GPL license grant. Therefore, they are not required to follow any GPL requirements in their distribution or reuse of the code.

  • So does this mean that Oracle are the only people able to do this in a closed source manner, and if IBM did so, without an explicit licensing arrangement from Oracle, that they would not be able to do so? – Ryan The Leach May 30 '18 at 4:59
  • 2
    @Ryan As far as I know, IBM holds no copyright rights to any JDK components, so if they wanted to redistribute JDK components, they would have to obtain the right to do so via a GPL license grant (which are the only public terms I'm aware of) or via some kind of private agreement with Oracle. – apsillers May 30 '18 at 5:50
  • 2
    To add a bit more detail to the comment above, IBM have had their own JVM and JDK for twenty years or so (well, their own JVM really, the rest of the JDK is pretty much identical to Oracle’s); they have a licensing agreement of some sort with Sun and now Oracle pre-dating the GPL re-license. They also have joint copyright of the portions of the JDK which they developed but that’s not enough to release a full JDK. – Stephen Kitt May 31 '18 at 6:10
  • @StephenKitt: They had their own JVM; AFAIK they have given up updating it for Java9++ and are integrating it into OpenJDK. – Martin Schröder Jun 4 '18 at 19:14
  • 1
    @Martin more or less, yes — they’ve given it to the Eclipse Foundation (it’s OpenJ9). – Stephen Kitt Jun 4 '18 at 21:01

Your Answer

