Oracle filed suit against Google, accusing the company of infringing Java patents and copyrights while developing Android. The complaint was filed in the U.S. District Court for the Northern District of California. Oracle had acquired Java only months earlier: on January 27, 2010, the company completed its purchase of Sun Microsystems. Along with Sun, Oracle gained the rights to Java technologies and the related patents and copyrights.
What Oracle accused Google of
The core of the dispute was Android.
Google wanted developers to be able to use the Java constructs they already knew when building Android apps. To do that, Android reproduced parts of the Java API, the interfaces programmers use to access a platform’s standard functions.
Oracle argued that Google had done this without the required license. In its original complaint, the company also alleged infringement of seven patents that had previously belonged to Sun. Later, the case centered on copyrights in the Java API.
The dispute concerned 37 Java API packages. Google wrote its own implementation of most of the functions, but it used the API structure and the so-called declaring code - the declarations that let programmers call familiar methods with familiar commands. In the end, the litigation came down to about 11,500 lines of that code.
What Google said
Google denied infringing the patents or copyrights and asked the court to dismiss Oracle’s claims. The company also argued that Oracle’s patents were invalid or had not been infringed.
On the API question, Google’s position was that programmers needed to keep Java’s familiar names and command structure, while Google wrote the code that actually performed the work in Android itself. Google later also defended its use of the Java API as fair use - permitted use of copyrighted material.
That distinction mattered. Google did not simply take Java and move it to Android. It built a different platform, but kept part of the Java interface so Java developers could work with commands they already knew.
The case dragged on for 11 years
The first major round ended in 2012 largely in Google’s favor. Oracle’s patent claims effectively collapsed: the company withdrew some patents from the case, and the jury found no infringement on the remaining ones. Judge William Alsup also ruled that the disputed structure of the 37 API packages and the corresponding declaring code were not protected by copyright.
In 2014, the Federal Circuit Court of Appeals overturned a key part of that decision: in its view, the structure and declaring code of the Java API could in principle be protected by copyright. The case was sent back to the lower court to determine whether Google’s use qualified as fair use.
In 2016, a new jury answered that question in Google’s favor: its use of the Java API in Android was found to be fair use.
Oracle appealed again and won again. In 2018, the Federal Circuit ruled that Google’s use was not fair use. The court pointed, among other things, to Android’s commercial character and the possible impact of Android on the Java market.
Google then took the case to the U.S. Supreme Court.
How it ended
On April 5, 2021, the U.S. Supreme Court put an end to the dispute.
The Court deliberately declined to decide the broader question of whether Java APIs are protected by copyright. Instead, the justices assumed that such protection exists and examined Google’s conduct through the lens of fair use.
The Supreme Court held that Google’s use was permissible. It mattered that Google used only the portion of the interface necessary for programmers to work with familiar commands, while the code that actually implemented them was written by Google itself. Android used those elements in a new environment: on smartphones.
Thus, one of the most important software-law disputes in history ended with a Google victory almost 11 years after the original complaint was filed.
The case turned out to be much broader than a standard dispute between two corporations. At stake was essentially how freely developers can reimplement the software interfaces of other systems. The Supreme Court did not declare APIs generally free from copyright, but it confirmed that under certain circumstances their reuse can qualify as fair use.
Sources
- Oracle America, Inc. v. Google Inc. — original complaint, August 12, 2010 (Justia)
- Oracle America v. Google — amended complaint, October 27, 2010 (Justia)
- Google LLC v. Oracle America, Inc., 593 U.S. 1 (2021) — U.S. Supreme Court decision
- Google LLC v. Oracle America, Inc. — Joint Appendix, Volume 1
- Oracle America, Inc. v. Google LLC — Federal Circuit decision, 2018
- Google LLC v. Oracle America, Inc. — U.S. Supreme Court docket
See also Celebrating Java’s Launch Anniversary: How Java Changed the Tech World.