A Year After Google vs. Oracle: Why S3-Compatible APIs Are Legal
It’s been a full year since the US Supreme Court upheld a ruling in the Google vs. Oracle API copyright case. Their landmark decision reaffirmed that APIs can be copyrighted, but broadened the interpretation allowing APIs to be remixed for “fair use.” Industry experts, like Postman Chief Evangelist Kin Lane, have asserted that APIs should be free of copyright, but celebrated the court’s broader definition of “fair use” in the decision.
“To be clear: APIs should be free of copyright, no ifs, and, or buts.”
— Kin Lane, Postman Chief Evangelist
What’s the big deal?
The tech world waited breathlessly for that decision-confirming announcement a year ago. The Google vs. Oracle API case centered around the language library, Java API. But the ruling also applies to web APIs, which are everywhere and depended on by everybody. If companies were prohibited from using well-established industry standards, any new competitors would be quickly squashed and you could say goodbye to innovation.
Amazon S3 is one prime example of the impact of that debate. S3 is the uncontested market leader for object storage. A rich ecosystem has emerged around this type of service, with some companies building on top of S3 services and others offering their own competing services. The S3 API has become the de facto standard when dealing with cloud object storage whether you are running on Amazon servers or not.
The S3 API includes Amazon-specific tags like
x-amz, as a result of its early beginnings at Amazon. So when companies other than Amazon offer S3-compatible APIs that reimplement the same S3 API that Amazon created, is that copying? And if so, is it wrong?
So are S3-compatible APIs legal?
If you dig deeper into the US Supreme court’s decision, they differentiated between “declaring code” and “implementation code.” The declaring code refers to the interface part of the API. For example, S3-compatible APIs that use Amazon-specific tags and other clearly observable patterns with Amazon fingerprints left behind.
And then there’s the implementation code that makes up the inner workings of the API. People outside of an organization would be hard-pressed to see, much less copy, that part of the code.
According to the US supreme court, the declaring code (or interface) can be re-implemented, while the behind-the-scenes implementation code cannot be copied. This opens the door for S3-compatible offerings, which is good news for the industry as a whole. In fact, even Oracle, the company who originally accused Google of copyright infringement, offers their own S3 alternative.
“’Declaring code’ is just an application programming interface (API), whether that API is network-based (in the case of MinIO and S3) or code-based (in the case of Android and Java). [The US Supreme Court decision] opens up the opportunity for portability and market competition.”
—Kevin Swiber, Postman API Lifecycle Integration Specialist
With S3-compatible APIs, you can migrate from one cloud provider to another without a significant overhaul to your code. This is beneficial if you’re migrating away from Amazon S3, moving between S3 alternatives, or choosing a self-hosting or on-premises option. With widespread adoption of this standard among vendors, consumers have more flexibility and choice in their solutions.
And there was dancing in the streets
The tech world is better off now that APIs are deemed reusable and remixable. As is the case with OpenAPI and AsyncAPI, when everyone agrees on a standard, more collaboration can occur and less code needs to be written for different applications to talk to each other.