Landmark US Decision To Impact Tech Worldwide
The United States Supreme Court will decide on the question of whether fair use applies to copyrighted code, as the long-running case of Google v. Oracle reaches its climax before the country’s highest court. The decision has an impact on how and when APIs can be used, and when code is allowed to be repurposed, which has significant ramifications for development worldwide.
Due to the outbreak of COVID-19, oral arguments before the court, which were planned for March 2020, have been postponed. The entire process has been delayed as a result of the outbreak of the pandemic. A decision by the Supreme Court of the United States (SCOTUS) was expected around June this year, but as of this moment, it’s unclear when exactly the case will continue. Observers expect oral arguments to resume this fall. A decision would then follow later this year or early 2021.
When the case does resume, all eyes in the IT world will be focused on the nine judges and their final say in the matter of fair use of copyrighted code to implement application programming interfaces (APIs). APIs are foundational to the way software operates: they provide specifications on how programs interact with each other. APIs tend to be shared widely by developers, as the use of these interfaces will make sure software remains interoperable. A decision on the copyrightability of APIs that reference languages owned by American companies, therefore, has a great impact on every developer and IT outfit worldwide.
SCOTUS will have to decide if Oracle has a claim to the copyright of popular programming language Java, and – more importantly – if it does, whether or not Google infringed on this copyright when it implemented Java-APIs in its operating system Android. Google copied the naming system, hierarchy, and functionality of Java to implement Android, which is a common way of working with APIs. It makes sense to reuse similar attributes and symbols for common interactions, as a divergence from these commonalities would immensely complicate software development.
The story so far
The fight between Oracle and Google began over a decade ago when Oracle filed a lawsuit because Google failed to pay a license fee for the use of 37 lines of Java-code in Android. Java was developed by Sun Microsystems, as a fairly open and common programming language, but it was never open source. After Oracle acquired Sun in 2010, it immediately filed suit against Google. Oracle claimed that running Java requires significant developer resources and that the company needs to be recompensed for that time and effort.
The district court of California decided that APIs were not copyrightable. The court stated in 2012 that to declare methods and functionality, a common language is a requirement for any developer who writes in that language. Oracle appealed. A federal appellate court reversed the decision two years later and kicked the matter back to a district court to decide on the second question: if the code is copyrighted, does Google’s implementation of Java in Android classify it as fair use?
The district court again decided in favor of the defendant, stating that a jury finding that the use of Java was indeed fair use was reasonable. Oracle appealed again and in 2018 the appellate court once again reversed the decision, stating that the use of Java in Android’s virtual machine Dalvik was not considered to be fair use under US law. This opened Google up to damages that could run as high as 8.8 billion dollars. Not only that, if APIs are not fair use, then entire swaths of software that are currently under development are suddenly at risk of receiving the same litigious attention – a risk that companies will surely seek to eliminate by either coughing up license fees or moving to open-sourced languages and libraries for their implementations. The latter is surely preferable, but at least in the short to medium term, unrealistic for any business that uses proprietary code to build on.
To the Supreme Court
Google immediately filed a last resort, a so-called writ of certiorari at SCOTUS: a petition to review the case as a matter of law (PDF). The Supreme Court only takes about two percent of such filed writs and tends to stick with cases that have a fundamental impact on the law. Late last year, the Supreme Court granted the petition by Google to review the case.
Google’s brief to the Supreme Court states that Oracle doesn’t dispute the essential feature of this case; that only one precisely written set of declarations will perform the functionality as requested by the developer in calling code (PDF). “The two create an interface as an exclusively matched set: a key and an unpickable lock. If the declaration is changed, the call will fail. The developer’s application will either not invoke the method or the method will not function properly. Each declaration that Google reused is thus the only instruction that performs the function of responding to the corresponding call in a certain, expected way.” According to Google, reuse of the code was necessary so that Java developers could build apps for Android.
Oracle disagreed (PDF): “It was not necessary for Google to copy Oracle’s exact words and organization. Both courts below found as undisputed fact that ‘nothing prevented Google from writing its own declaring code, along with its own implementing code, to achieve the same result.’” The company also fired back at the entire case and stated in its field brief that Google committed an act of plagiarism and now needs to rewrite copyright law itself to get away with it. Oracle also stated that Google’s use of Java is not fair use, as it is non-transformative and used for commercial purposes. The company stresses the fact that Google has made tens of billions on Android by using Java. Oracle’s brief also mentions that Google, at the dawn of the smartphone era, had no time to catch up to Apple by innovating, and resorted to plagiarizing existing code to push out Android so as not to miss out on the mobility wave.
Google responded to Oracle’s arguments by explaining it is impossible to write its declarations that do not match those written by Sun (PDF). “Take Oracle’s example of the verify method, which it no doubt selected because it contains an unusually complicated declaration. In English, Oracle describes the declaration in six different sentences that it could have written in numerous different ways. But much more important, in the Java language that programmers use, only the precise declaration that Sun used in Java SE will work. Both the English description and the Java declaration are expression; neither can confer on Oracle the exclusive right to the verify declaration’s functionality.”
The case has now stalled due to the outbreak of Corona in the US. This is just a delay due to unique circumstances, a decision is still expected this year. The landmark decision could have a fundamental impact on the IT world at large. It obviously has an immediate impact on Google and Oracle but has a deleterious effect on all kinds of software development. Implementations of languages that are not subject to a strict open source license will suddenly become an unacceptable risk to companies developing software – i.e. most companies these days.
Even a reimplementation of something like C++, which has seen an increase in popularity as a low-level hardware language for IoT devices, could be deemed risky by developers. The language is based on open standards and is royalty-free, but a patent company that acquires patents for common functionality could open users up to claims of illegal use. A decision in favor of Oracle opens a Pandora’s box: how and when is it okay to use a language? How about the use of UNIX and Linux? Do we need strict open-source licenses as open standards are obviously not enough? What about ported libraries?
The immediate aftermath of a ruling in favor of Oracle would be chaos: developers would be confused at which parts of software and language they can legally use. At the other end of the spectrum, companies that own APIs will use copyright to prevent other developers from implementing their code. This would result in an unfortunate set back in software development and will have a chilling effect on innovation as interoperability will no longer be as easy as implementing a shared library or API. Even in a best-case scenario software development will certainly slow down: companies seek to reduce risk and will be less likely to embark on any project that might open the business up to liability.
Where companies stand
Among others, the Electronic Frontier Foundation filed an amicus brief at SCOTUS supporting Google. In a blog post, EFF explained that a decision in favor of Google would impede the ability of developers to innovate on software that benefits the public as it guarantees interoperability between services. “Treating the Java APIs as copyrightable gives Oracle, which stands to make billions from that decision, outsized control and monopoly power over the development of Java-compatible programs. Copyright law aims to stimulate creativity for the public good, not lock developers into a licensing scheme for the functional aspects of software,” said the EFF.
Organizations such as IBM, the Python Software Foundation, Microsoft, and several other institutions and scholars also filed briefs supporting Google. Earlier in the process, when SCOTUS was considering the writ of certiorari, companies like Mozilla and Red Hat also joined Google in support. Meanwhile, the Copyright Alliance of the Motion Picture Association of America (MPAA), several policymakers, and scholars stand with Oracle against Google.
Oracle was none too pleased with IBM’s and Microsoft’s support of the opposing party and squarely states that Google is creating a problem where none should exist. “It is Google that is urging the Supreme Court to draw some new magic line between some code that is copyrightable and other code that isn’t. Google tries to create a sense of urgency where none exists and controversy where there is actually agreement. And a close read of Google’s Amicus briefs reveals that Google appears to be virtually alone – at least among the technology community – in seeking to weaken copyright for software”, wrote Oracle VP Ken Glueck.
Glueck explained that while Google snagged two household names in filing briefs of support, of the top 100 tech companies in silicon valley no one else joined the fray. “Is it really credible to say that when 98 of the top 100 technology companies are absent; when Microsoft and IBM have substantial parochial agendas; and when nearly all of the major technology advocacy groups are silent, that “tech” is on Google’s side? The answer is of course no. There is no outpouring of support for Google’s views.”
Win for Google vs. win for Oracle
Whatever side companies fall on, Oracle or Google, it is clear that the decision by the Supreme Court will have great ramifications for tech companies. If Google wins, many developers will heave a sigh of relief and carry on business as usual. For the long term, such a decision would fine-tune what is considered fair use of copyrighted code and what isn’t. If Oracle prevails, it will cause a period of confusion while companies try to figure out the use of which code fragments could open them up to liability. This will have an adverse effect on development and innovation until such time as it becomes clear what code is better left alone unless you’re willing to pay a license fee. In the long term, a decision in favor of Oracle could give another boost to open source languages and software, which during the past decade became the preferred option for developers as opposed to proprietary code.