Oracle v. Google
Billions of dollars and the future of software development may depend on the ability of 10 jurors to understand and answer the following question, which is central to Oracle’s ongoing copyright case against Google:
Do “declarations of the API [application programming interface] elements in the Android class library source code and object code that implements the 37 [Java] API packages” violate a copyright held by Oracle?
Put simply, Oracle has accused Google of stealing its intellectual property (Java APIs) to use in one of its products (Android), thereby violating Oracle’s copyright and making boatloads of money as a result.
But whether that’s true depends on how one interprets the question above. Does “implements” mean “steals?” What does the word “declaration” mean in this context? And what exactly is an API? Even for the tech-savvy, the concepts that pervade this case can be difficult to parse.
The court battle between the two tech titans—launched when Oracle sued Google in 2010—is finally coming to a conclusion.
Back in 2012, in a victory for the search-engine giant, the U.S. district court in San Francisco ruled that Java’s open-source APIs were not subject to copyright law. A federal appeals court reversed that ruling 2014, in a win for Oracle. After the U.S. Supreme Court declined to hear the case last year, it wound its way back to the district court in San Francisco on May 8, and the jury has just entered its third day of deliberations.
It’s been a long road, but the stakes remain as high as ever. A win for Oracle would mean that many websites, apps, and services could suddenly be vulnerable to copyright lawsuits, which thus far have been a rare occurrence in the software world. Traditionally focused primarily on creative work like music and literature, copyright law could suddenly be applied to technology that lies at the foundation of many modern products.
A brief filed to the district court, signed by more than 70 computer scientists, says that if the court rules against Google, the precedent would “upset the settled business practices that have enabled the American computer industry to flourish, and choke off many of the system’s benefits to consumers.”
That is, anyone who’s used APIs in the way that Google used Java’s would suddenly be at risk of copyright infringement. And anyone who wanted to use certain APIs for future projects could be discouraged by the possibility of such infringement. The point of the brief is that these effects would hinder innovation.
An earlier brief filed by Microsoft and others, however, takes a different view:
The district court’s [original ruling] that the Java platform was not copyrightable at all was flawed as a matter of copyright law and policy, and would destabilize the software industry.
Basically, Microsoft was saying some companies need to be able to copyright some software—it wasn’t making a comment on whether Google infringed upon Oracle’s copyright, or whether its use of the APIs was fair.
And that is the big question at hand: whether Google’s use of the APIs constitutes “fair use.” In copyright law, fair use means that the way in which the copyrighted work was used had no substantial negative impact on the copyright holder.
The problem is, applying that criteria to software can be difficult. Code can be creative, but is generally functional—written to complete a task. One of the things copyright law has to consider is whether the way functional code is written could be expressive, like literature.
“That, from a coder’s perspective, is sort of silly,” said Polk Wagner, a law professor at the University of Pennsylvania. “Everybody knows there’s a lot of different ways to do things with code.”
If this case were about, say, a chunk of text taken from a novel and quoted in a newspaper’s review of that novel, determining whether the quote was fair use would be pretty simple.
But determining whether the 11,000 lines of code that comprise Google’s implementation of the Java API packages is fair use, relative to the 13 million lines of code that make up the Android operating system, things get a lot trickier.
There are four criteria courts use to establish fair use: the purpose and character of the use; the nature of the copyrighted work (is it creative?); the portion of work used relative to the copyrighted work as a whole; and the effect of the use upon the potential market for the copyrighted work. That last one is considered to be the most important: Does the use of the work steal from the original work’s potential market?
Clearly, reading a quote from a novel is not an adequate substitution for reading the novel itself. So in that case, the newspaper’s use of the quote would not affect the book’s sales, so it would likely be considered fair use.
But applying that logic to the use of a programming language’s API packages in an operating system for smartphones, even for one who understands APIs well, is a difficult intellectual leap. Oracle claims Android harmed the market for Java in the mobile device space; Google says Oracle simply failed to get into that market in the first place. But many may find themselves a few steps behind those assertions, still wondering exactly what an API is.
The judge presiding over the case, William Alsup, said he taught himself how Java works and in his 2012 ruling explained APIs with this analogy:
Oracle’s collection of API packages is like a library, each package is like a bookshelf in the library, each class is like a book on the shelf, and each method is like a how-to chapter in a book.
And as Vice’s Sarah Jeong has reported, Google keeps trying to explain APIs by comparing them to a filing cabinet with labels on it, and that explanation doesn’t seem to be connecting.
This week, the jurors were trying to look at the actual source code in question, but were unable to access it:
The problem appears to be that the #googacle jury was unable to open some source code files on the court-provided computer.— Mike Swift (@Swiftstories) May 24, 2016
The problem was apparently that the code itself was organized into too many folders:
"The problem is that the files are hidden inside a lot of folders"— sarah jeong (@sarahjeong) May 24, 2016
Once the jurors manage to open the files, what they’ll find is millions of lines of code, inscrutable to any of them who are not programmers. Perhaps the code will help clarify what the APIs are, or whether Google’s use of them was fair. Perhaps it won’t. Either way, the only things at stake are the $9 billion Oracle is seeking, and the future of software development.