The jury in Google and Oracle's legal fight over Java failed to reach a verdict Tuesday. They'll be back in a San Francisco federal courthouse at 8 a.m. Wednesday morning to continue deliberations over questions that will set far-reaching precedents in the world of software.
The trial has been broken into two parts, and the San Francisco jury is now deliberating whether Google violated copyright laws when it built its own version of Java, called Dalvik -- the software that runs applications on the Android operating system. Following this, they will rule on Oracle's two patent claims.
On Monday, Judge William Alsup gave his final instructions to the jury, saying that copyright protects the “expression of ideas” but not procedures, processes, systems, methods of operation, concepts, principles or discoveries. In 2010, Oracle acquired the Java platform when it bought Sun Microsystems, and it promptly sued Google, claiming copyright and patent infringement and saying that Google violated its copyrights by mimicking 37 Java APIs -- a way of talking to a piece of software -- and that the search giant lifted nine lines of software code from the Java platform in building Android.
The overall case tests the question of whether or not a company can copyright an API. However, for the purposes of their decision, the jury is being asked to assume that APIs are copyrightable, and rule on the evidence presented. Judge Alsup gave them a standard form on which they have the option of checking "No" or "Yes."
This question represents the culmination of two weeks in court and almost a year and half of pre-trial wranglings. The catch is that even if the jury thinks Google did infringe on Oracle's copyright, the APIs still may not be copyrightable in the first place. That is a decision Judge Alsup will have to make should the jury find Google guilty. If he rules that APIs aren't copyrightable, the jury's decision, as it pertains to APIs, could be rendered moot.
If they check "Yes" to this first portion, then the jury will then say whether Google's software counts as “fair use”. Google's counsel Robert Van Nest argued that Google's use of Java falls under the fair use category because it has been "transformative" with the language by building Android -- an entirely new operating system -- with it. Oracle's Mike Jacobs argued against the idea by saying all Google did was put Java APIs on a mobile OS. Jacobs also argued that Google's use of Android can't be considered "non-profit" -- another qualification for "fair use" -- because even though Android is free to download, Google still makes a lot of money off advertising and other tangential Android products.
In addition, if the jury believes Oracle has proven Google infringed, they will have to decide if Sun or Oracle misled Google into believing it would not need a license to develop its own version of Java, and whether Google has proven that it relied on such misinformation when it decided to pass on a Java license. Jonathan Schwartz, Sun's former CEO, testified in the case that while he didn't like what Google was doing, he never believed Google had violated Sun's licences and never tried to stop Google from building Android. Google would have only infringed, he said, if it violated Java's trademarks -- using the name Java or using its steaming-cup-of-coffee logo.
Another question focuses on the documents and comments found within the code that helps instruct a coder how to work with Android. Since Android is built in the Java language, much of the training materials for Java are applicable to Android. Oracle says that much of what Google used to educate developers was their proprietary material. If the jurors answer "Yes" to the question, they would once again have to say whether the use of Oracle’s Java documentation constituted "fair use'.
Throughout the trial, Google has argued that of 15.3 million lines of code in Android, Oracle was only able to find nine lines that it believes were copied directly from Java. Google argues Oracle's claims are "de minimis" -- a legal term for insignificant. Since then, Google had those nine lines changed so that now, there are no overlapping lines of code between Android and Oracle's version of Java.
Throughout the trial the jury has received lessons in coding from both expert witnesses and a few legendary coders. Few of the jurors had much experience coding coming into the trial and both sides have worked hard to educate the twelve members on the vocabulary and structures involved in software and API development. Relying on those tutorials, the jury will have to answer "Yes" or "No" to whether Oracle has proven that Google’s conceded use of the following three cases was infringing, unless it was de minimis:
A) The rangeCheck method in TimSort.java and ComparableTimSort.Java
B) Source code in seven “Impl.java” files and the one “ACL” file
C) The English-language comments in CodeSourceTest.java and CollectionCertStoreParameters Test.java
Let's hope they took good notes.
Update: This story has been update to clarify the role on Dalvik on Google's Android operating system.