Thursday, April 26, 2012

Open-sourcing of Java and API copyrightability are entirely unrelated issues

My list of Twitter messages from the Oracle v. Google trial shows that Jonathan Schwartz told the jury about how "open" Java was meant to be and in the very same context claims tha APIs are, according to his testimony, not copyrightable. This is not surprising: Google also argued in its opening presentation to the jury that Java was free and open, and "Google built Android using free and open technologies". Furthermore, the issue of licensing terms also came up in connection with Tim Lindholm's testimony.

I'd like to explain just quickly why Sun's publication of certain Java software under an open source license has nothing -- absolutely nothing -- to do with the question of whether the structure, sequence and organizations of API packages is protected by copyright law.

Sun never made the Java APIs available under a so-called permissive license, i.e., an open source license that allows the code published under it to be incorporated into software published under other permissive or proprietary (non-open-source) software licenses. Instead, Sun alienated its would-be ally, the Apache Software Foundation, by open-sourcing Java under the GPL (GNU General Public License), a license competing with the Apache Software License (ASL). The most important difference between the GPL and the ASL (or other permissive licenses) is copyleft, a mechanism under which any derivative works (programs incorporating GPL'd programs) must also be made available on the GPL's terms if they are published (if you only use them in-house, copyleft doesn't affect you). The ASF created Harmony, a Java implementation it chose to publish under its own license, but without a license from Oracle/Sun. This means that anyone who incorporates Harmony into his software still needs a license from Oracle/Sun.

There's no way that Google's use of the structure, sequence and organization of the asserted API packages can be justified by claiming that Google simply chose to benefit from the availability of Java software published by Oracle/Sun on free and open licensing terms. Either the relevant material is copyrightable, or it's not. That's a binary question. If we assume, only for the sake of the argument, that it's not copyrightable, then there's nothing that any open source license can do to make it more free or more open: in that case, it's simply not protected and, therefore, not subject to any license, even if someone says he licenses it under a given license. Copyleft can only attach itself to copyright. You can't put (or get) non-copyrightable material under a particular license any more than you can nail together water.

But in the other (more likely) event that this is copyrightable material, copyleft applies. Before the trial, Oracle briefed reporters on the case and said clearly that there are two acceptable ways to use its Java IP: on GPL terms, or by licensing the essential IP for a fully compatible implementation (be it a "clean room" implementation or one based on Java code licensed on commercial terms). In other words, Google would always be free to put all of Android under the GPL and incorporate Oracle's (Sun's) GPL'd code under the terms of the GPL -- but so far that's not what Google has done, nor is there any indication that it wants to do this in the future. That's why Google needs a commercial license, but it doesn't have one, and that's why the ongoing trial is taking place.

Simply put, Google can't use the GPL as a defense because it doesn't comply with the GPL.

Even the Classpath Exception, which was designed to ensure that other software could link to a GPL-based implementation of the Java APIs, couldn't solve Android's licensing problem. Android doesn't "link this library [GNU Classpath] with independent modules to produce an executable". Android incorporates the structure, sequence and organization of the asserted API packages, which Google then redistributes as a new API.

Sun never wanted to give away its intellectual property in Java to everyone and turn Java into a zero-revenue (or service-revenues-only) business. Sun always knew that there would be commercial players who wouldn't want to be bound by the terms of the GPL -- such as Google. Not only Sun. Google also knew it. Here's one of Oracle's opening slides, which shows an excerpt from an email Andy Rubin sent to other key Android players at Google on August 11, 2007 (click on the image to enlarge):

These passages are highlighted in Oracle's slide:

"The problem with GPL in embedded systems [such as smartphones and tablets] is that it's viral [...]"

"Sun chose GPL for this exact reason so that companies would need to come back to them and take a direct license and pay royalties."

The Android team over at Google knew more about Sun's Java business model than Sun's Jonathan Schwartz today claimed to know when he portrayed his business strategy as one of just giving the thing away to build a "big tent" (which wouldn't change the terms of the licenses under which Java was published, regardless of whether or not this was truly Sun's strategy for sustainability).

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn: