A federal jury in California handed down a verdict Thursday about an aspect of software development that most of us will never see firsthand but that still affects our digital lives.
That jury’s decision means Google owes Oracle none of the $9.3 billion it demanded for the non-existent offense of duplicating the functions of Oracle’s Java software in the code of its Android operating system.
Oracle (ORCL) threw an army of lawyers into this quest to punish Google (GOOG) for a common coding practice that pretty much everybody else in computing accepts as legal and fair: re-implementing features built into one piece of software to allow other programs to work with it.
This isn’t just a win for Google: Had this case gone the other way, it would have made a vast expanse of software development a permission-first environment. Now, coders don’t have to ask permission ... but they may still need to seek forgiveness, because the jury’s verdict doesn’t offset how far off the rails this case has gone in six years.
“API” in as few words as possible
In its lawsuit Oracle claimed Google violated copyright law by re-implementing Application Programming Interfaces, or APIs. These are frameworks that allow one program to perform a task for another. For example, when I run Chrome on my Mac, Google’s browser “calls on” Mac APIs for things like saving my settings or displaying a dialog box.
Here’s a simpler way to think about this: If a program is a Lego block, the API performs the function of the bumps on the block that let other Legos click on to it.
Until Oracle v. Google, the coding community generally accepted the right of a third company to write code providing the same functions as the original API — the equivalent of putting Lego-shaped bumps on a plastic shape that’s not a Lego.
That’s what Android’s architects did before its 2008 debut. They wanted to let the developers of apps written in the Java programming language move them to Android without ripping out the code calling on Java APIs. They wrote new code in Android that provided the same functions — so those Java apps would work with less rewriting.
The company behind Java, Sun Microsystems, did not object; CEO Jonathan Schwartz even congratulated Google in a since-deleted blog post.
Again, this wasn’t about stealing existing code, but about writing software to do the same thing.
A copyright battle that spans six years
But in 2009, Oracle bought Sun. A year later, Oracle filed a lawsuit accusing Google of infringing copyrights and patents it asserted in Java’s APIs. Oracle wanted $2.6 billion.
Two years later, a federal jury in California rejected the patent claims and held Google had infringed some of Oracle’s copyrights. However, Judge William Alsup, who had written software before and learned some Java for the case, then overruled them, holding the APIs at issue were not copyrightable.
API's shouldn't be copyrightable. Copyright protects specific lines of code but not the functions they provide — in the same way you can copyright the “substantial literary expression” of a recipe but not the substance of its instructions.
Oracle appealed, and because its original suit involved patent claims, the appeal went to the US Court of Appeals for the Federal Circuit, (known as the CAFC) a venue in Washington set up to handle patent claims. The court — which has a reputation for being far too generous to plaintiffs in intellectual-property litigation — threw out Alsup’s ruling and declared the APIs were indeed entitled to copyright protection.
That sent the case back to the California court, where Oracle upped its demands to $9.3 billion. Google responded by arguing that re-implementing Java APIs fell under copyright law’s“fair use” defense — which allows the use of copyrighted material in certain circumstances without the copyright owner’s permission. A jury agreed with Google Thursday.
This fight may not be over
This is not an unalloyed win for software development, though. The “fair use” doctrine can’t stop you from being sued; you can only raise it as a defense after you get dragged into court and start racking up legal bills.
If the ruling stands, developers will want to consider the litigiousness of a company with an API they want to re-implement. That could thwart the development of third-party tools like the Samba software that connects Linux and Unix computers to Windows networks, which was originally developed without Microsoft’s help or permission.
First, though, you can expect Oracle to appeal once again. If the CAFC overturns the jury verdict, Google would almost certainly appeal the case to the Supreme Court. However, the high court already declined to take up Google’s challenge to the CAFC’s earlier verdict last year.
If the lower appeals court gets the final say, that’s a worst-case scenario — not so much for Google, which can come up with $9 billion, but for everybody else who wants to make software more compatible without groveling for permission first.
In a best-case scenario, the Supreme Court would take the Google/Oracle case this time and rule once and for all that APIs aren’t entitled to copyright protection.
That is how this story ought to end. The Constitution itself asserts that copyright law exists only “to promote the Progress of Science and useful Arts.” By going after Google at the cost of turning a common coding practice into lawsuit bait, Oracle is doing the opposite.