Sun, Oracle, Android, Google, Mozilla and JDK Copyleft FUD
This entire thing may be confusing to a lot of people, as many are already confused by what the entire Android court case was about. The confusion is not accidental. Google&#x27;s very extensive PR machine has put in <i>a lot</i> of resources to make sure people are confused (what Oracle puts into lawyers, Google puts into PR). But just to lay down a few facts:<p>Since 2006&#x2F;7, Java has been available under two licenses: commercial and open-source. The commercial license allows free implementation of the Java APIs and has a full patent grant, but requires conformance with the Java TCK (Technology Compatibility Kit) <i>and</i> requires payment if used in mobile devices (this was Java&#x27;s main revenue stream for a long time). It is also possible to license the JDK source from Oracle under the commercial license for a fee. The same JDK is also released under the GPL. This license is completely free and unencumbered (the GPL itself prohibits any restrictions). It does not require compatibility (unless you want to call the result &quot;Java&quot;), and has no field of use restrictions. It also has a full (implicit) patent grant. As this article notes, OpenJDK&#x27;s copyleft is not viral either (certainly not more than Linux): applications and libraries running on top of it are unaffected due to the &quot;classpath exception&quot;. You can do <i>whatever you like</i> with Java when you use it under the terms of its open-source license: use the implementation, use just the APIs and implement it yourself, use the whole thing or just small portion, pass the TCK, not pass the TCK, fork it or not. You are even allowed to use it to implement .NET.<p>Google has had both of these options for licensing Java (at least since May 2007, but that was still before Android was released). Until very recently, Google chose neither. They couldn&#x27;t reach an agreement with Sun on the fee for the first license, and didn&#x27;t like the second (possibly because they feared that phone manufacturers would reject a GPL runtime, classpath exception or no). Instead, they chose to argue in court that the APIs are not Oracle&#x27;s to license[1].<p>What has changed now? Perhaps Google realized that given Android&#x27;s success, phone vendors would swallow whatever license Google gives them. In any event this is a win for everyone: Google wins because they will need to spend less resources on maintaining Android, Oracle wins because Java will now be on Android, and Android and Java developers win because they&#x27;ll have a better runtime and greater compatibility. This is contingent, however, on Google not forking OpenJDK too much beyond compatibility; the license does allow them to do so.<p>Yes, the mainline OpenJDK project is steered by the JCP (Google, Intel, Twitter, and IBM are all members) and Oracle does have veto power, but that is just the project governance. Anyone is free to fork OpenJDK, as long as they don&#x27;t call the result Java (unless they fork and choose to pass the TCK). The situation is no different from other large open-source projects.<p>[1]: I have no opinion on whether or not Google&#x27;s actions were legally justified (I do have an opinion about their ethics), but I do know that unlike  Google&#x27;s PR line, the ruling has little or no effect on the industry. Google&#x27;s actions with Java&#x27;s APIs were quite different from any other API implementation that I know of. Also, the ruling does not apply to web APIs. See discussion here: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10811011" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10811011</a>.