Application programming interfaces (APIs) are the building blocks of software interoperability. APIs provide the specifications for different software programs to communicate and interact with each other. For instance, when a travel aggregator website sends a request for flight information to an airline’s API, the API would send flight details back for the website to display.
Keeping APIs open, meaning they’re publicly listed and available or shared through a partnership, enables developers to freely build applications that work together. That practice is the basis of how software works today. But a decade-long fight between Google and Oracle over API copyright and fair use could upend the status quo.
The dispute started in 2010, when Oracle—which acquired Sun Microsystems, the previous owner of Java—filed a copyright infringement case against Google for using Java APIs in its Android operating system. Oracle claimed that “Google had replicated the structure, sequence, and organization of the overall code” for 37 packages in its Java API, which performs fundamental computing operations such as mathematical computations, file and string manipulation, and database connectivity.
For its part, Google negotiated with Sun in 2005 for a license to use Java for mobile devices, but both parties were unable to reach a deal. That’s when the search giant decided to develop its own implementations of the methods contained in the 37 Java API packages, which accounts for 97 percent of the lines of code in those packages.
The remaining 3 percent at the heart of Oracle’s copyright claim refers to the method declarations—lines of code specifying package, class, and method names; definitions; and parameters—which Google retained in its implementation so that applications written in Java can call those methods and run on Android, thus achieving interoperability.
Google presented a fair use defense in a California district court, and in 2012, Judge William Alsup—a coder himself—ruled in the company’s favor:
“So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical. Under the rules of Java, they must be identical to declare a method specifying the same functionality—even when the implementation is different.”
But Oracle appealed the decision, and in 2014, the U.S. Court of Appeals for the Federal Circuit reversed the ruling [PDF], stating:
“Because we conclude that the declaring code and the structure, sequence, and organization of the API packages are entitled to copyright protection, we reverse the district court's copyrightability determination with instructions to reinstate the jury's infringement finding as to the 37 Java packages.”
This decision set the legal battle in motion. A retrial was ordered in 2016, and the jury sided with Google on its fair use of the API packages. In 2018, the U.S. Court of Appeals for the Federal Circuit overturned the decision once again, concluding that “Google’s use of the 37 Java API packages was not fair as a matter of law.”
As a last resort, Google petitioned the U.S. Supreme Court in 2019 to review both copyright and fair use rulings against the company. Intellectual property scholars, computer scientists, software developers, and even Google’s rivals—tech companies such as IBM, Microsoft, and Mozilla—have backed the company, filing supporting briefs to the court.
The Supreme Court confirmed [PDF] it will hear the case, with arguments set for 24 March. “It’s good for the Supreme Court to step in,” says James Grimmelmann, a law professor at Cornell Tech and Cornell Law School who also holds a bachelor’s degree in computer science. “It’s an opportunity for them to provide some much needed clarity on the law of software copyright.”
In a statement to IEEE Spectrum, Deborah Hellinger, Oracle’s head of global corporate communications, said:
“While Google would prefer to live in a world unencumbered by intellectual property rights, in the real world, copyrights are an essential protection and incentive for innovation. Oracle offers several licensing options for Java. Ethical developers and businesses around the world continue to recognize the value of Java and take advantage of our licenses to drive innovation and profit. Unfortunately, Google opted to ignore standard industry licensing policies and build its business by stealing Oracle’s IP.”
If the Supreme Court decides in favor of Google, then software development will go on as it does now. “That’s a good thing because developers won’t have to get a license to do their work,” says Corynne McSherry, the legal director at the nonprofit Electronic Frontier Foundation. “If people could build on each other’s work, things would be interoperable.”
However, if the Supreme Court upholds the Federal Circuit’s ruling—especially in the case of APIs being eligible for copyright—some experts think chaos will ensue. “I think if Oracle wins, there will be a period of massive disruption, as companies will use copyright to prevent people from re-implementing or interoperating with the APIs they built,” Grimmelmann says. “You’ll see a lot of confusion as companies struggle to understand what’s safe, and they’ll be much more reluctant to take on innovative projects.”
McSherry also notes that software development might become more expensive. “Companies will have a strong incentive to acquire patents, and that’s going to slow development,” she says. “That’s going to be bad not just for the people in the industry, but also for end users—those who rely on software and look for new products.”
Note: IEEE Spectrum has reached out to Google and is awaiting comment.
Rina Diane Caballar is a journalist and former software engineer based in Wellington, New Zealand.