Home / Java Patterns and Pitfalls     frequal.com

Supreme Court Oracle vs. Google Ruling 2021

On April 5, 2021, the U.S. Supreme Court released their ruling in favor of Google in the Java API Copyright lawsuit brought by Oracle over Google's inclusion of copyrighted APIs in Android. The court found that while Google had copied copyrighted code, that it fell within the bounds of fair use.

This leaves me very conflicted, as it does many developers and other observers.

The Parties

First off, the parties in this lawsuit inspire strong opinions, even before considering the facts of the case.

On one side is Oracle. Since acquiring Sun, Oracle has become the steward of Java, and has invested lots of resources in improving and promoting the language. Of course Oracle also has a history of aggressive sales tactics that rub some people the wrong way.

On the other side is Google. A strong proponent of Linux (including making it the kernel in Android), and the company that once had the slogan, "don't be evil," it has since lost some of its shine as privacy and ethics questions have arisen in recent years.

The Big Picture

Ignoring the legal details for a moment, Oracle definitely feels like the wronged party in this matter. After Oracle invested heavily in Java, Google simply copied huge numbers of APIs verbatim, after having walked away from negotiations to get a license. Dozens of other firms had already licensed Java. But Google (already quite wealthy by then) decided to just take the source code and skip out on paying for it.

Google Could Have Built A Language and APIs of Their Own

One important fact that I haven't seen mentioned much is that Google could have built their own language and APIs from scratch. Microsoft did it (C#). Apple did it for their mobile platform (Objective C, then Swift). They could even try to improve on what Java had done, "build a better mousetrap". And in the years since they've invented several languages (like Dart) and endorsed others (Kotlin). They could have taken the same route with Android. But instead they chose to copy huge parts of Java.

Even if they wanted to keep Java the language, Google could have created their own APIs, replacing the ones from the JDK. Java developers would have had to learn new APIs, but that would be easier that learning both a new language and new APIs. Again, Google chose to use the copyrighted APIs verbatim.

In The Long Run

Short term, this feels like it will make developers lives easier. If you want to implement an API, you can reuse the API directly, no need to jump through hoops or obtain a license. For open source projects implementing alternatives to commercial projects, this feels like a win.

Longer term, however, I have some concerns that this could have significant negative market impacts. Imagine you are the next Sun, planning to make a new language and APIs. In the past, you could reasonably plan to recoup part of your investment through licensing and other deals, especially with large firms. Now, however, those largest potential revenue sources would have far less incentive to sign a deal, and a much better negotiating position, since they could threaten to reimplement the APIs themselves. Executives at this future tech company would likely be less open to investing large sums in a new language/API project since the ROI would be much lower, stifling innovation. Why bother investing money in a product that other companies can just steal, reimplement, and then take your customers?

The legal arguments seemed to be concerned about the harm to Google from not being able to take the APIs and reimplement them without getting a license. But by allowing Google to get away without signing a license, there was also significant harm to Oracle. And in the long run, as other firms decide not to invest in new language/API development, this decision could stifle "creative expression", the opposite of copyright's intent.


Last modified on 6 Apr 2021 by AO

Copyright © 2024 Andrew Oliver