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.

Hide this

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


  1. icon
    Wyrm (profile), 7 Jan 2020 @ 3:41pm

    Another case of "it's ok when I do it"?


Add Your Comment

Have a Techdirt Account? Sign in now. Want one? Register here



Subscribe to the Techdirt Daily newsletter




Comment Options:

  • Use markdown. Use plain text.
  • Make this the First Word or Last Word. No thanks. (get credits or sign in to see balance)    
  • Remember name/email/url (set a cookie)

Follow Techdirt
Insider Shop - Show Your Support!

Essential Reading
Techdirt Deals
Report this ad  |  Hide Techdirt ads
Techdirt Insider Chat
Recent Stories

This site, like most other sites on the web, uses cookies. For more information, see our privacy policy. Got it
Close

Email This

This feature is only available to registered users. Register or sign in to use it.