A generation of software developers sighed in relief Monday morning after the U.S. Supreme Court ruled that APIs can be considered a fair use of copyrighted material, preserving decades of common practice in software development.
The 6-2 ruling was a sweeping victory for Google, which was sued by Oracle nearly 11 years ago over its use of portions of the Java application programming interface in Android. "We reach the conclusion that in this case, where Google reimplemented a user interface, taking only what was needed to allow users to put their accrued talents to work in a new and transformative program, Google's copying of the Sun Java API was a fair use of that material as a matter of law," wrote Justice Stephen Breyer, author of the majority opinion.
APIs are important components of modern tech that define the function of a given piece of software. Oracle attempted to argue that APIs were novel expressions of creativity, drawing objections from a huge swath of computer scientists and everyday developers who consider APIs structural components that merely provide directions on how to use a piece of software.
The court overruled a lower-court decision in Oracle's favor, siding with Google after reviewing the four factors — "the purpose and character of the use; the nature of the copyrighted work; the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and the effect of the use upon the potential market for or value of the copyrighted work" — used to decide questions of fair use.
"Today's Supreme Court decision in Google v. Oracle is a big win for innovation, interoperability & computing. Thanks to the country's leading innovators, software engineers & copyright scholars for their support," said Google's Kent Walker, senior vice president for global affairs, in a tweeted statement.
A 'broader analysis'
The majority opinion does not rule specifically on whether APIs are subject to copyright protection, assuming that to be the case for the sake of argument. But "unlike many other computer programs, the value of the copied lines is in significant part derived from the investment of users (here computer programmers) who have learned the API's system. Given these differences, application of fair use here is unlikely to undermine the general copyright protection that Congress provided for computer programs," the court wrote.
"This case is a big win for API reimplementation," said Charles Duan, a senior fellow at R Street, in a Twitter thread. "Fair use cases now often hinge on the user's perceived good or bad faith; this case largely rejects that view in favor of a broader analysis of progress and competition."
A large part of the decision centered on the fact that reproducing APIs is good for both software developers and consumers. It would be very difficult — and likely very expensive — to create interoperable software if developers had to come up with a unique way of specifying how their software can be used with each and every new program they created.
"Given the costs and difficulties of producing alternative APIs with similar appeal to programmers, allowing enforcement here would make of the Sun Java API's declaring code a lock limiting the future creativity of new programs. Oracle alone would hold the key," Justice Breyer wrote.
A decision in Oracle's favor would have had enormous ramifications for modern software development and especially for cloud computing, which is largely implemented through APIs. Even Oracle itself copied AWS's S3 API when setting up its own cloud storage service, which would have been either illegal or very costly to do in the future had it prevailed in this case.
Java has been used extensively in software development for a very long time, including well before Oracle acquired the creator of Java, Sun Microsystems, in 2009. If Google's use of the Java API in Android was considered an infringement, Oracle would have won legal support to seek compensation from a huge number of other software developers who had written programs that interacted with Java in similar ways.
"The fact that you're doing something more broad with it, that you're reimplementing this API [and] providing this sort of broader public benefit is really important," said Kendra Albert, clinical instructor at Harvard Law School's Cyberlaw Clinic. "Many courts have been sort of reluctant to consider a public benefit as part of the use of [the works] on the market, they consider quite limitedly like, 'How does this harm the copyright holder's financial interests in the works?'"
In a statement, Oracle barely acknowledged the actual decision, choosing to focus directly on Google rather than the API issues at hand.
"The Google platform just got bigger and market power greater. The barriers to entry higher and the ability to compete lower. They stole Java and spent a decade litigating as only a monopolist can. This behavior is exactly why regulatory authorities around the world and in the United States are examining Google's business practices," said Deborah Hellinger, an Oracle spokesperson.
Justices Clarence Thomas and Samuel Alito dissented from the majority ruling.
"By skipping copyrightability, the majority gets the methodology backward, causing the Court to sidestep a key conclusion that ineluctably affects the fair-use analysis: Congress rejected categorical distinctions between declaring and implementing code," Thomas wrote in the dissent.
Monday's decision could lead to future legislative action on the subject of copyrights and software, but it upholds the status quo when it comes to modern software development. And it could have much broader implications for other fair use cases in the future.
"It's a big deal because we haven't had a fair-use opinion from the court in a while," Albert said. "The way in which the analysis was done and the types of things [Breyer] considers provide a lot of legal room for folks to actually think more broadly about fair uses."