The U.S. Supreme Court on Monday delivered the knockout blow for Google, putting an end to the decade-long fight over Google’s copying of Oracle’s Java API, part of the Java SE platform.
This ruling is important because 1) It leaves in place a 2014 ruling that the high-level code, structure, sequence and organization of an API are copyrightable subject matter; but also 2) permits software developers to copy this copyrighted subject matter and use it in their own programs without a license, so long as their use is found to be “fair use.”
The question that remains is whether this fair use decision is the exception that swallows the rule. What good is copyright if the infringer can call their copying “fair use”? Time will tell.
In this post, we’ll cover the juicy backstory, the epic battle, and where this decision leaves us. And we’ll talk about key takeaways for your company. For anyone developing proprietary software, or any licensor of proprietary software read on …
The Long Fight Over Java API
Oracle owns the copyright in Java SE, a computer platform that is popular for building enterprise software that makes use of computer networks (everything).
An API is an Application Programming Interface, a collection of what are programming short cuts programmers can use by referencing the API command or label for the task or function the programmer wishes to call up. Programmers writing applications on the Java SE platform use the Java API.
Background of the Case – From Licensee to Copier
Once upon a time, before 2007, Google and Sun Microsystems (creator and original owner of Java) were working nicely together toward a software licensing arrangement whereby Google could license Java API /Java SE for Google’s Android OS. But negotiations soured, and, they parted ways. Google then decided it didn’t need Oracle’s code for its Android OS after all – it could build its own proprietary platform and OS (it is Google, after all).
But since most app programmers already know Java, Google wanted to use the Java API’s structure, sequence, and organization rather than create its own. The reason? Since most programmers know Java, they were already familiar with the structure, sequence and organization of Java’s API and would not need to learn a whole new system; and Google would not need to figure out a new way to organize and structure the API packages but could focus on writing implementing code.
Google copied the command label (or “method call”) and the organizing and locating code (or “declaring code”) of 37 essential Java API packages but wrote its own implementing code to accomplish each of the tasks called up by the Java command label. Programmers using the Android OS platform can rely on their knowledge of Java API and use Java method calls to call up the Android API package needed to perform the desired task, and the Java method calls use the corresponding Java declaring code to call up the Android implementing code for those tasks. Google copied not just the command code and the declaring code but also effectively copied the structure, sequence, and organization of the Java API for these 37 groups of tasks.
Google’s position: Since it took only a small percentage of Java’s code and did not copy the implementing code that accomplishes each task, its copying was not copyright infringement.
Google launched the Android platform in 2007 and enjoyed wild success. Meanwhile, back at the ranch, Oracle acquired Sun.
In 2010, Oracle cried foul and sued Google for copyright infringement.
The Epic Court Battle Between Google and Oracle
Google first argued that the API method calls and declaring code were not copyrightable. While software code in general is considered copyrightable expression, Google argued the high-level code it copied was not copyrightable expression but was an idea, process, method, concept, system, or principle, none of which are protectible by copyright.
The trial court agreed with Google, finding the copied API code and the SSO was not copyrightable, and Oracle appealed. In 2014, the Federal Circuit appeals court reversed the trial court, holding that the copied code was indeed copyrightable even if it was little more than the labels, structure, sequence and organization of the Java packages, a significant win for owners of proprietary software in the U.S. Google appealed, but the U.S. Supreme Court let that ruling stand.
The case then went back to the trial court to determine whether Google had infringed Oracle’s copyright when it copied the high-level API code. The trial court, in a jury decision, found that Google’s copying of Oracle’s code was “fair use” within the meaning of the Copyright law and therefore was not copyright infringement. Oracle appealed to the Federal Circuit again, which agreed with Oracle again., reversing the jury’s decision.
So, Google appealed to the U.S. Supreme Court again, which is what you do if you are a software giant like Google after being handed a giant loss after 10 years of fighting.
That was 2019. Just this Monday, the U.S. Supreme Court, in a 62-page opinion written by Justice Stephen Breyer, held that Google’s copying of Oracle’s code was fair use as a matter of law. https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf Since it’s the U.S. Supreme Court, that’s the end of the road on this issue.
But the Supreme Court refused to weigh in on whether the copied parts of the API packages were copyrightable or not. So, the final word on that issue is the Federal Circuit’s 2014 ruling holding that they are copyrightable subject matter.
What This Means for You – Key Takeaways
Theoretically, then, the 2014 decision means that at least for now, copyright exists not only in the lower levels of code that perform the functions but also in the higher level, architectural components of a software program or platform. The structure, sequence and organization of software is capable of protection under the copyright law and is not merely a non-copyrightable “system,” “idea” or “method of operation.”
Key Takeaway: If you have original, proprietary software you wish to protect, consider all three applicable forms of protection: Trade Secrets, Patents and Copyrights.
- For those aspects of the software or platform that can be kept secret – for example, code housed on internal servers and not accessible to the outside world, or internal manuals and schematics, planned updates or modifications and data – Trade Secret protection is available. Trade secret protection should not be overlooked, as it never expires and does not require government action.
Note: Because trade secrets require that secrecy be maintained, trade secret protection is inconsistent with patent and copyright protection, which require publication.
- For aspects of the software and code that cannot be kept secret, protection may be found in Copyright law and Patent law. Each has its limitations, benefits, and challenges, but they are not mutually exclusive.
- You can apply for a patent covering the aspects of your software that are too high-level to be copyrightable. The methods, processes, systems, ideas, and concepts embodied in your software are not copyrightable, but they could be patentable.
- You can also register a copyright in your software code, which protects not just the lower-level code but also the higher-level code and commands, the sequence, structure and organization, and the screens displayed to the user.
Thanks to the Google/Oracle cases, copyright may still exist in the higher-level code and the structure, sequence, and organization of your application. So even if someone copies only these aspects, they are copying your copyrighted software. That’s big.
But is it infringement, or might it just be fair use? Fair use is a multi-factor analysis applied on a case-by-case basis, so there are no bright line rules about what is and is not fair use. So until we get more case law on the subject, we cannot know whether this kind of copying is going to be fair use or infringement in any particular case.
Ultimately, much of the Court’s analysis turns on the popularity of Java SE with programmers, which is precisely why Google copied the Java API elements in the first place. Because it is so popular, says the Court, Google is permitted to copy those parts of it necessary to accomplish its purpose – to foster development of new apps on the Android platform.
For me, it’s hard to get away from the feeling that the very success of the Java SE is the reason Oracle has lost this battle, and that doesn’t sit right.
IP Works Law
Latest posts by IP Works Law (see all)
- The Three Patent Types and Why They Matter to Your Business - June 2, 2023