Turns Out Oracle Copied Amazon’s S3 APIs; When Confronted, Pretends That’s Different (Spoiler Alert: It’s 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.