Oracle vs. Google: Round 2
The conflict between Google and Oracle continues to blaze through the courtrooms. With Oracle seeking damages of $8.8 billion, Google has plenty to lose, but the case has far-reaching ramifications for software developers everywhere, including the FOSS community.
On Wednesday, May 11 2016, Sun Microsystem's former CEO (Jonathan Schwartz) was called to the stand. His statements blew massive holes in Oracle's case.
The case revolves around Google's use of the Java API in its popular Android platform. If Oracle wins, it may mean the end of Android.
Android itself is a vital open-source project. It's also one of the most widely used platforms in the world. Hundreds of hardware manufacturers depend on it to reduce their costs. It enables them to bring smartphones and tablets to the market, stimulating diversity and driving down prices. Although there are alternative open-source handheld device OSes on the horizon, none is as mature as Android, which is well supported by an army of app developers.
Even though the threat to Android is enough on its own, the fallout from this case could be far worse. The pivotal point of the case is whether an API constitutes a copyright-protected work or a "method of operation".
APIs (Application Programming Interfaces) describe the way one body of code can interface with another. APIs are used to build applications that communicate together. They can be used to provide or request services and data.
When an API is made public, it's theoretically possible to create a new body of code that provides the same API. This code can be used in place of the original code. In other words, the internal details of the new application or library would be different, but from the outside, it would seem the same. Applications that were designed to work with the original entity would be able to work on the new one.
If APIs were to fall under copyright-protection laws, it would become illegal to produce software with the same API as a proprietary codebase without permission. This would pose a major threat to GNU/Linux and FreeBSD.
These operating systems implement many UNIX APIs. In fact, they started out as a free implementation of a UNIX-like system, based on the assumption that copyright law protected the implementation, not the interface.
The API at the heart of the Oracle vs. Google trial is the Java API, which was developed by Sun Microsystems. Oracle acquired Sun, together with all of its products, including Java. Now it's after a slice of the Android pie.
Android applications are typically coded in Java and compiled into Java-executable bytecode files, but Android doesn't use the standard Java runtime environment created by Oracle. Instead, the virtual machine and runtime libraries were built from scratch by Google's engineers. These runtimes are optimized for the special requirements of a handheld device, which include low battery power and additional security concerns.
They replicate most of the original Java API, making it easier for Java developers to switch to Android development. To a Java developer, the Android environment is just another framework (albeit a complex and rich one).
Neither Oracle nor Sun has licensed the use of the Java API. Google maintains that it doesn't need to gain permission—that APIs are not covered by copyright, that they are free and open works. And, it's a position with which most of the tech industry would agree.
In the first trial, the court agreed with Google. The jury found Google not guilty of copyright infringement, and furthermore, the judge ruled that APIs are not protected by copyright as they are a "system or method of operation".
As you can imagine, Oracle was not prepared to take that lying down. There's a lot of money and ego on the line. So Oracle retaliated with an appeal to the Federal Circuit Court of Appeals. The appeal was upheld, and the case was remanded back to the district courts.
Now the trial hinges on the concept of "fair use". In other words, even if the API is a work protected by copyright, can people use it without seeking permission?
Oracle's position has been that Google was not authorized to use the API—that it was not considered open, and that third-party implementations never were welcome. Jonathan Schwartz's statements have blown that position apart.
Answering Google's lawyer (Robert Van Nest), he stated that Google was not alone in implementing an unauthorized implementation of the Java API. What's more, he said that Sun was aware of this, and even welcomed it. His reasoning was that anything that increased the popularity of Java would create more business for Sun, which provided additional services and software.
This wasn't his own idea either. It's a strategy the firm had been running with even before he was hired. What's more, he made no secret of his support for Android, which he published in his blog. And, at the time he wrote it, it reflected the opinions of the company as well.
From his statements, it's clear that Sun approved of Google's use of the API. In fact, Sun encouraged it. This blows a hole in Oracle's assertion that Google was operating without permission from the very beginning.
Oracle's lawyer followed up with a series of questions that were intended to portray Schwartz as a weak and incompetent CEO (as if that would alter the fact that Sun had approved of Google's actions). At one point, he asked Schwartz why Oracle hadn't offered him a senior position after the acquisition. Was it because customers had been leaving Sun in droves before his resignation?
Schwartz's answer spoke volumes. He said customers had left because they were scared about what Oracle would do with Sun and its products.