An application programming interface is the glue that holds complex software systems together. Until 2014, it was widely assumed that no one could use copyright law to restrict APIs' use—a view that promoted software interoperability.

Then, in 2014, a court known as the Federal Circuit Appeals Court issued a bombshell ruling taking the opposite view. Oracle had sued Google, arguing that Google had violated Oracle's copyright by re-implementing APIs from the Java programming language. The case has been working its way through the courts ever since, with the Federal Circuit issuing a second controversial ruling in 2018. On Thursday, Google asked the Supreme Court to overturn the Federal Circuit's controversial ruling.

"The Federal Circuit’s approach will upend the longstanding expectation of software developers that they are free to use existing software interfaces to build new computer programs," Google wrote in its Thursday petition to the Supreme Court.

James Grimmelmann, a copyright scholar at Cornell University and former software developer, agrees with that. "The Federal Circuit's decision threatens the continued vitality of software innovation," he told Ars.

If APIs can be restricted by copyright, then every significant computer program could have legal landmines lurking inside of it. Grimmelmann warns that API copyrights could easily give rise to API trolls: companies that acquire the copyright to old software, then sue companies that built their software using what they assumed were open standards. API copyrights could also hamper interoperability between software platforms, as companies are forced to build their software using deliberately incompatible standards to avoid legal headaches.

Software companies and digital rights groups have made these arguments to the Federal Circuit on two separate occasions—once in 2014 and again in 2018. But the Federal Circuit, known for its friendliness to patent holders and its casual attitude about following precedents, wasn't persuaded.

Google's last hope is to convince the Supreme Court to hear the case. This is far from a sure thing—the Supreme Court agrees to hear only a small fraction of the cases submitted to it. But there's some reason to think the Supreme Court would take interest. The stakes are high—both for Google and Oracle in particular and for the broader software industry. And the Supreme Court is more likely to intervene when lower courts disagree about how to interpret the law—a situation that applies here.

Google points to a 1990s case about spreadsheet menus

The Federal Circuit has made two major rulings in Google's legal battle with Oracle, and it has sided with Oracle both times. In the first ruling, the Federal Circuit overruled a trial decision holding that APIs couldn't be copyrighted. The case was then sent back to the trial court to decide whether Google's use of the API was allowed by fair use.

The trial court (under the same tech-savvy judge who previously ruled that APIs shouldn't be copyrighted at all) decided that Google's use was fair. Oracle appealed, and last year the Federal Circuit sided with Oracle once again, deciding that Google's use wasn't fair.

A fundamental principle of copyright law is that protection of creative works does not extend to any "idea, procedure, process, system, method of operation" contained in the work. This is the reason, for example, that news organizations are free to report on each other's scoops. The text of a news article is copyrighted, but anyone is free to describe the information in a news article in their own words.

This line between an idea and its expression is particularly crucial for software. One of the most important cases here was Lotus v. Borland. In the early 1990s, Lotus sued Borland, accusing the company of ripping off the structure of the menus from the Lotus 1-2-3 spreadsheet software in Borland's own Quattro spreadsheet package.

To help experienced Lotus 1-2-3 users make the transition to Quattro, Borland had included a Lotus Emulation Interface—a version of the software that precisely duplicated the menu structure of Lotus 1-2-3. Lotus argued that this slavish copying violated its copyrights, and the trial court agreed.

But the First Circuit Court of Appeals disagreed. In a landmark 1995 ruling, the appeals court sided with Borland, ruling that the structure of the Lotus menus was a "method of operation"—and hence outside of copyright protection.

"We think that 'method of operation' refers to the means by which a person operates something, whether it be a car, a food processor, or a computer," the court held. "The Lotus menu command hierarchy provides the means by which users control and operate Lotus 1-2-3."

Notably, the menu hierarchy wasn't just the user interface for Lotus 1-2-3; it was a primitive API in its own right. Lotus 1-2-3 allowed menu functions to be invoked using keyboard shortcuts from its menus. A sequence of keystrokes could be saved as a macro—essentially a simple computer program. Duplicating the Lotus 1-2-3 menu hierarchy allowed people to use their old Lotus 1-2-3 macros on Quattro without modification.

Google argues that the logic of the First Circuit's Lotus ruling can be applied directly to its dispute with Oracle. In Google's view, the Java API calls are "methods of operation" for the Java platform in exactly the same way that Lotus 1-2-3's menu items were methods of operation for the spreadsheet software.

The problem for Google is that not every appeals court has followed the First Circuit's approach in Lotus. The Supreme Court actually agreed to hear an appeal of the Lotus ruling back in the 1990s, but, with one justice absent from the case, the high court deadlocked 4-4. That allowed the Lotus ruling to stand, but it didn't make the ruling binding on other appeals courts. Since then, some other appeals courts have developed different approaches that aren't necessarily well-aligned with the Lotus precedent.

Google argues that that's precisely why the high court ought to get involved in its own case. A key function of the Supreme Court is to resolve disagreements among lower courts, a situation known as a "circuit split." The Federal Circuit's decision to reject the First Circuit's Lotus approach provides exactly that kind of situation.

If the Supreme Court does decide to review the case, both of the Federal Circuit's rulings could be up for review: both the 2014 ruling that APIs can be copyrighted and the 2018 ruling that what Google did wasn't fair use. The Supreme Court declined to review that 2014 ruling at the time, but Google is asking the high court to consider both questions now.

Oracle, unsurprisingly, is dismissive of Google's arguments. “Google's petition for certiorari presents a rehash of arguments that have already been thoughtfully and thoroughly discredited," said Oracle general counsel Dorian Daley in an emailed statement. "The fabricated concern about innovation hides Google's true concern: that it be allowed the unfettered ability to copy the original and valuable work of others for substantial financial gain."

Copyrighted APIs could cause chaos in the software industry

While the courts haven't been unanimous about the best way to apply copyright law to APIs—and weren't even before the Oracle v. Google ruling—software industry practices were fairly well-settled before the Federal Circuit got involved. And this means that the stakes for this case are quite high. If the Federal Circuit's reasoning is allowed to stand, it could force dramatic changes in how the software industry is organized.

It's quite common for software developers to clone the functionality of established software platforms and standards in order to make sure their new products are compatible with what's already out there. Sometimes this compatible software is then packaged into open source libraries that become free for others to use, and it can be bundled together with other programs to produce larger software packages. Because it has been widely assumed that API's can't be copyrighted—or at least that the copyrights aren't likely to be enforced—companies haven't worried about using libraries that take advantage of third-party APIs that might belong to someone else.

The Federal Circuit's Oracle rulings mean that there may be a lot of software out there that is suddenly vulnerable to copyright infringement claims because they implement APIs invented by third parties. Grimmelmann says that this could be a particularly serious problem in the cloud computing world.

"If you've built a cloud service that people have written clients against, and someone says 'we own a copyright on marshalling arguments to this function this way,' you're screwed," he told Ars. "You can't change that API without losing customers. The holdup possibilities are immense."

In the long run, making APIs subject to copyright restrictions could also lead to balkanization of software standards. Wary of adopting APIs owned by rivals, companies will be more likely to develop their own incompatible versions of key standards. A friend-of-the-court brief filed last year by three software industry groups—Engine, the App Alliance, and GitHub—points out that this could be particularly detrimental to small software companies that don't have the resources to re-implement their products using multiple incompatible standards.

And a 2018 brief by the Computer and Communications Industry Association points out that this could also become a significant burden for the software development profession. Achieving proficiency with a language like Java requires significant time and effort. CCIA points out that by trying to prevent independent implementations of Java, Oracle is essentially limiting opportunities for Java programmers.

"It is hard to see why programmers who have learned the Java APIs should remain captives of Oracle because of an investment in learning made by the programmers and not by Oracle," CCIA writes.

For all these reasons, the software industry will be closely watching as the Supreme Court weighs whether to hear the case. The Supreme Court may ask the Trump administration for its opinion about whether the case is significant enough to merit review by the Supreme Court. If the case is accepted, it would likely be heard during the high court's next term, which starts in the fall.