Friday, April 20, 2012

Oracle and Google find common denominator for telling jury about use of Java APIs in Android

Just like others watching Oracle v. Google over the years, I have also noted, even more than once, that these two parties disagreed even on relatively minor procedural issues. Every time the court asked them to make a joint proposal, there was little or no common ground, and mostly their "joint" submissions simply juxtaposed their irreconcilable views. Late on Thursday, they made another submission that consists of a partial agreement and a reflection of remaining disagreements, but the agreement they reached this time is remarkably significant.

Obviously, at this stage of the litigation, the dispute has been narrowed a bit. The parties were, over time, forced to concede some undeniable facts, and there are mountains of evidence. It's also possible that the agreement they reached depended on some help from the judge: the minutes of yesterday's trial day (Day 4) show that Judge William Alsup spent some time with the parties' counsel in the absence of the jury.

The stipulation I'm reporting on refers to what the jury will be told about the extent to which Android makes use of the 37 Java APIs asserted by Oracle. The parties ask the judge to read the following statement to the jury and tell the jury that there is no dispute about its accuracy:

"For the 37 accused API packages, Android and Java 2 SE Version 5.0 have substantially the same selection, arrangement and structure of API elements."

This is a compromise between the parties' preferred wordings. Oracle will still argue that "the selection, arrangement and structure of the 37 API packages are virtually identical between Android and Java 2 SE". So the concession that Oracle made is to content itself with "have substantially the same" though it would have preferred "are virtually identical".

Google will still argue that "the 37 accused API packages in Android and Java 2 SE are only a small portion of the Android and Java platforms, respectively, as a whole" -- a line of thought that the judge actually rejected when he denied a Google motion for summary judgment on the copyright issues in this case last summer.

What the stipulation does not address is whether the selection, arrangement and structure of APIs is copyrightable (i.e., can be protected by copyright). This stipulation is not about the "validity" (to use patent terminology) of the asserted IPR; it's not even about equitable defenses such as fair use or an implied license, though Google's "small portion" argument is closely related to those kinds of defenses.

There were a few media reports in the build-up to the trial that said, or at least suggested to the average reader, that Google had removed from its newer versions of Android all of the infringing material (at least all copyright-infringing material, but at least one reporter even stated in his article that only older versions of Android could be targeted by Oracle's two remaining patents). In fact, all that was removed comes down to 12 source code files (Oracle argues that most Android devices out there still contain some of that code because older versions are still widespread). Those source code files represented incidents of straightforward copy-and-paste (with or without recompilation, a technical kind of automated transformation of code, involved). In some ways, direct copying is also relevant because it shows how Google treated Oracle's (or, at the time, Sun's) intellectual property. But the single biggest infringement issue in this litigation is about the 37 APIs. And as this stipulation shows, there's no question about substantial infringement. There will still be an argument over whether this infringement is a 9 (stipulation) or a 10 (Oracle's preferred wording) on a scale of 1 to 10, but basically this will now come down to arguments about copyrightability and equitable defenses.

In a nutshell, Google absolutely admits that Android makes substantial use of those 37 Java APIs. It admits that every Android device out there, including any new one that is shipping as we speak, comes with 37 Oracle APIs.

The fact that this material is still there, after 20 months (!) of litigation, also demonstrates that there's no easy workaround. If Oracle prevails on these copyright claims, Google will need a license. If Google could simply throw those APIs out, it would have done so already. And if it's found to infringe, Google will only have a limited amount of time between the related findings at trial and the entry into force of the copyright injunction Oracle is asking for. For the sake of accuracy, let's not forget that Oracle is asking for an injunction only if Google continues to refuse to make Android fully compatible with Java. The key to the kingdom is in Google's hands, and it's full compatibility.

[Update] Judge Alsup approved the parties' stipulation, turning it into an order. [/Update]

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: