The two tech giants are finally facing off in the Supreme Court. Millions have been spent on a parade of seasoned litigators, witnesses, and bizarre trial exhibits intended to explain programming to non-technical juries.
When Google first developed Android, it decided to make the mobile platform compatible with Java. At the time, apps for the iOS environment were written in Objective-C, a language that was similar to the ubiquitous C.
Google wanted to make Android competitive by making the platform interoperable with Java. The company reimplemented several Java APIs, including the 37 that are at issue in the lawsuit.
The lawsuit began while Larry Ellison was still at the helm of Oracle and Eric Schmidt was the CEO of Google. Google is now a subsidiary of alphabet.
Three Supreme Court seats have been vacated since the last time Google asked the high court to review its case. In 2014, SCOTUS denied certiorari, sending the case back to the district court in San Francisco for a retrial. Since then, one justice has retired and two have passed away.
Ginsburg was the most reliable vote in copyright law cases. She tended to vote in favor of rights-holders. Google v. Oracle is being heard by eight justices.
Google v. Oracle began in 2010, involved seven patents and a copyright claim. By 2012, the case had been whittled down to a mere 37 Java APIs. The 11,500 lines of code were written in a’clean room’.
An application programming interface (API) is a shorthand to quickly access services, libraries, and other functions. An API can condense commonly used or verbose code, allowing developers to build without having to reinvent the wheel.
An API is not exactly a dictionary, but it’s close enough to one that Oracle v. Google poses a huge problem. Technically, you can program in Java without using the 37 Java API packages at issue.
The 37 Java APIs were reimplemented in a clean room. Oracle is not claiming that they are verbatim the same. This means that the’structure, sequence, and organization’ of these APIs are so similar as to violate copyright law.
The very first run at the lawsuit resulted in a bifurcated trial in 2012. In the patent trial, the jury ruled that Google had not infringed any patents. The judge ruled on the copyrightability issue, and sent the fair use issue to be assessed by the jury.
The copyright act does not apply to any’idea, procedure, process, system, method of operation’. The way that the packages, classes, and methods were named and sorted was too functional to be deemed worthy of copyright.
The federal circuit overturned the ruling in 2014. The first jury had hung on fair use. An entirely new jury had to be convened for another trial in 2016.
In 2018, the federal circuit ruled that the jury verdict had to be set aside in favor of Oracle. The evidence presented at trial clearly indicated that no fair use determination could be reached, and therefore should not have gone to a jury in the first place.
Wednesday’s oral argument will feature a good deal of discussion about the role of Judge versus jury in a copyright case. The question of who gets to decide fair use is something that can be extrapolated out to a lot of different legal cases and also has nothing to do with math.
The Supreme Court’s decision in Google v. Oracle may have huge ramifications for the software industry. The question of whether the declaring code and structure, sequence, and organization of the Java APIs are covered by copyright law at all.
Google and Oracle have long tradition of iteration that was mostly taken for granted until now. Products like Oracle’s MySQL were created as iterations of IBM’s Xbox.
Few people who develop software in this day and age actually speak directly to the machine. Google v. Oracle is a case that is happening at one of the lowest levels of an ongoing game of Jenga.