Turns Out Oracle Copied Amazon's S3 APIs; When Confronted, Pretends That's Different (Spoiler Alert: It's Not)
from the wanna-try-that-again dept
Oracle has waged a many years long war (now heading to the Supreme Court) arguing that copying APIs is copyright infringement. Many people who actually understand what an API is, have explained why that is absolutely ridiculous, but tons of non-technical (always non-technical) people keep insisting that an API is just as copyrightable as software. Indeed, they often insist that an API is no different than software itself. This includes Oracle's main lawyer on the case, Annette Hurst, who just a few months ago insisted that APIs were executable code (they are not).
However, Charles Duan, over at the R Street Institute (disclosure: we've partnered with R Street on a variety of projects over the years) has written up quite an incredible article highlighting that Oracle, of all companies, appears to have copied Amazon's S3 API. Lots of companies have. But that's because copying APIs is done all the freaking time in software, because it's how you make compatible systems:
Consider Amazon’s popular data storage platform, S3. To allow programmers to store and retrieve files on S3, Amazon built a comprehensive, detailed API for interacting with the service. To get a list of stored files, for example, one sends the command name GET with the folder name as a grammatical object, along with cryptically tagged information such as encoding-type, continuation-token, and x-amz-date. Software must use these exact, cryptic terms and a bevy of others to work with Amazon S3.
Unsurprisingly, competitors have sprung up to Amazon’s market-leading cloud services. To convince programmers to switch away from Amazon’s offerings, those competitors reimplement S3’s API. In doing so, the competitors must mimic the command names, parameter tags, “x-amz” phrasing, grammatical structure, and overall organization of the S3 API—in other words, exactly the kind of thing Oracle argues is protected by copyright.
To be sure, a competitor may use a different programming language than Amazon did so the internal software code might not look like verbatim copying. But implementing an API in another computer language is simply an act of translation, and translating a copyrighted work into another language is specifically known to be a copyright infringement.
Among the companies offering a copy of Amazon's S3 API is Oracle itself. In order to be compatible with S3, Oracle’s “Amazon S3 Compatibility API” copies numerous elements of Amazon’s API, down to the x-amz tags.
I can't wait to see Annette Hurst's analysis of how Oracle is infringing on Amazon's copyright...
Of course, Oracle, in its typical Oracle fashion, insists that this case is different. It claims that it's okay, because of the Apache 2.0 license that Amazon uses. Except that's not right. Amazon's SDK (Software Development Kit) is licensed under Apache, but the API is not. And, as such, it appears to undercut the key point that Hurst is arguing regarding Oracle's Java API in the Google case:
However, the Amazon SDK is code that uses the S3 API, not code that implements it—the difference between a customer who orders hash browns and the Waffle House cook who interprets the orders. Code that uses an API will be organized completely differently from code that implements one; it may not even contain the whole API. And Oracle has for years argued that using an API is unrelated to reimplementation and not an infringement of copyright (or else every app developer using Java would infringe). Oracle can't simultaneously argue that API-using code does not embody copyrighted material from an API, and yet API-using code embodies all copyrights in the API necessary to give Oracle the right to reimplement S3.
Even if the Apache license does apply, Oracle doesn't appear to comply with the terms of the license. Section 4 of the Apache license requires notices and attribution statements attached to derivative works. Yet I find no attribution to Amazon or relevant mention of an Apache license on Oracle's documentation or anywhere on the site.
In short, Oracle is doing what lots of companies do regarding APIs all the time, and what every company (including itself) has always believed to be non-infringing, because an API is not code itself, but a set of instructions on how to interact with the code. It's only in this case where Oracle, jealous of Google's success with mobile (while its own attempts flopped miserably), wants to claim this is infringing.
It shouldn't surprise anyone that Oracle is being hypocritical here. But it should concern everyone that if Oracle's interpretation of the law is upheld by the Supreme Court that it will fundamentally damage the very way in much a ton of software -- including Oracle's own products -- are developed.
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: api, copying, copyright, hypocrites, s3
Companies: amazon, google, oracle
Reader Comments
Subscribe: RSS
View by: Time | Thread
Hypocrisy, thy name is Oracle, among others.
Goose and Gander meet pot and kettle. Oracle's good for me but not for thee attitude is more than telling, but does the Supreme Court listen?
[ link to this | view in chronology ]
Re: Hypocrisy, thy name is Oracle, among others.
Goose and Gander meet pot and kettle. Oracle's good for me but not for thee attitude is more than telling, but does the Supreme Court listen?
Only if Google's defense lawyer brings this up. Is he or she aware?
[ link to this | view in chronology ]
Re: Re: Hypocrisy, thy name is Oracle, among others.
I'm sure they are now.
[ link to this | view in chronology ]
Re: Hypocrisy, thy name is Oracle, among others.
Normally, if a thing is not in the record from the trial court, it is not going to be considered on review.
On the other hand, the Supreme Court is becoming more result-driven than law-driven. See Bush v Gore, 531 U.S. 98,109 (result limited to present circumstances). So everything you thought up to this point could be wrong if it leads to the incorrect result.
[ link to this | view in chronology ]
Live by the sword, die by the sword
It shouldn't surprise anyone that Oracle is being hypocritical here.
It's hardly a surprise that they're being grossly hypocritical, but it is most certainly worth plenty of attention, as the argument they've been making about how terrible 'infringing' on API's are hasn't stopped them from doing that very thing. Hypocrisy is always worth pointing out, all the more so when it's being employed by someone attempting to shake someone down in court.
But it should concern everyone that if Oracle's interpretation of the law is upheld by the Supreme Court that it will fundamentally damage the very way in much a ton of software -- including Oracle's own products -- are developed.
While that would certainly be disastrous, I think you're missing a fun opportunity here. Were I on Google's legal team I would be real tempted to point out that should Oracle 'win' here, and Amazon feel like doing to them what they did to Google, then Oracle will have given them all the rope needed to hang as all Amazon would need to do would be to use the precedent Oracle just provided to drag them through the courts and shake them until money stopped coming out.
Even if they don't feel like doing that bringing public attention to Oracle's ongoing hypocrisy would probably be a good move, assuming it wouldn't be problematic given the ongoing case anyway. 'Oracle takes Google to court for action they themselves are engaging in' stories would practically write themselves, and give Oracle a well-deserved PR black eye, all the more so after their arguments about how evil Google is for 'stealing' an API.
[ link to this | view in chronology ]
Re: Live by the sword, die by the sword
[ link to this | view in chronology ]
Re: Re: Live by the sword, die by the sword
We love techdirt and Mike, but still, we greatly miss Groklaw and PJ. This little ol' lady learned a lot from PJ. I still visit there when I need to know more. There's still a lot of valuable information to be found on Groklaw.
[ link to this | view in chronology ]
Threading the needle
Oracle is twisting to distinguish this specific unlicensed API use from very similar use that they sued others over.
I can't see it working. They might be able to thread the needle on this one very specific use case. But every statement they make to claim that their use is different will complicate their options for the dozens or hundred other situations that are going to be pointed out in the coming years.
If API copyright is upheld by the US Supreme Court, there will be an avalanche of filings. Most of them be an injustice, but I'll cheer for every one filed against Oracle.
[ link to this | view in chronology ]
Re: Threading the needle
"If API copyright is upheld by the US Supreme Court"
It will further damage an already bludgeoned internet.
When the API copyright cheerleaders are unexpectedly impacted by their own miscarriage of justice, the whining will commence. We will hear all sorts of stories about how that is sooooo totally different.
Do they really expect anyone to believe it?
[ link to this | view in chronology ]
Re: Threading the needle
[ link to this | view in chronology ]
Every big tech company use,s api,s ,
they are just an menu, heres how to interface with out program,s
or use the api to acess data and files in a way that use,s common command
,s word,s .Its not code ,it would effect 1000,s of software companys
if the supreme court decide,s using someones api is infringement ,like copying someone,s program code .
it,ll be a loss for all consumers and reduce competition since small startup,s will ahve to ask for permission to use api,s .
Competition in the usa is already being reduced by mergers between mobile and telecom companys.
[ link to this | view in chronology ]
If The API Is Not Covered By The Licence ...
... then that means they have no licence to use the API. That’s how licences work. So if the API is copyrighted, then they are infringing copyright. QED.
[ link to this | view in chronology ]
Amicus brief time
Sounds like someone needs to convince Amazon to sign on to a amicus brief for the Supreme Court. ;)
[ link to this | view in chronology ]
Another case of "it's ok when I do it"?
[ link to this | view in chronology ]
Can't wait to see how Tero Meshpage Pulkinnen's going to spin this one...
[ link to this | view in chronology ]
Haha, i was waiting to see the td & community take on this one. I would also like to see it turn into a major hoot in the software world at large.
[ link to this | view in chronology ]
Yeah, But,
Okay, lets send this question to a bunch of lawyers who don't even know how a light switch works. That's the best thing to do.
In other news, I have copied the API and make money using it. Is Amazon coming after me, a small biz owner, next?
[ link to this | view in chronology ]
Re: Yeah, But,
If you do, don't expect a reply soon -- they're all still busy arguing Oracle's claims against Google.
[ link to this | view in chronology ]