Oracle itself copied the API from Amazon S3, and that's perfectly fine


Oracle lawyers compare reimplementation of Java API in Android with copying Harry Potter content, pdf

Earlier this year, the US Supreme Court will consider an important Oracle case against Google, which will determine the legal status of the API in accordance with the law on intellectual property. If the court takes the side of Oracle in its multibillion-dollar lawsuit, it could stifle competition and cement the dominance of technology giants, possibly including Google itself.

At the same time, the Oracle business was originally built on the implementation of the SQL programming language developed by IBM, and even now the company offers a cloud service with APIs from Amazon S3, and this is completely normal. Reimplementation of the API has been a natural part of the development of computer science since the inception of the industry.

Oracle accuses Google of illegally copying the Java API, including a list of named commands bound to grammar structures. The Android operating system is specifically compatible with the Java API so that it is easier for Java programmers to transfer software and knowledge to the new platform. To do this, Android accurately copied the corresponding Java API commands and grammar structures. The argument of Oracle is that such a "reimplementation" of the Java API can be compared to copying an author’s work, such as the literary novel Harry Potter (this is a real example cited by Oracle lawyers), and Google violates Oracle copyright on command names and Java API structures.

But the Java API is not the only APIs, and the Android is not the only reimplementation. APIs are ubiquitous in today's IT industry, and reimplementation is fundamental to maintaining competition in order to prevent the monopoly of large firms, said Charles Duan, Director of Technology and Innovation Policy at R Street Institute.

Duan gives an example of the popular Amazon S3 storage platform. To enable writing and retrieving files from S3, Amazon has developed a comprehensive, detailed API for interacting with the service. For example, to get a list of saved files (ListObjects), we send a GET command with the host and type parameters encoding-type, continuation-token and x-amz-date. To work with Amazon S3, the software must use these and many other specific parameter names exactly.

GET /? Delimiter = Delimiter & EncodingType = EncodingType & Marker = Marker & MaxKeys = MaxKeys & Prefix = Prefix HTTP / 1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer

Amazon is a clear leader in the cloud services market, and its competitors offer reimplementation of the S3 API, while they have to imitate team names, parameter tags, type prefixes x-amz, grammar structure and general organization of API S3. In other words, everything that, according to Oracle, is protected by copyright.

Among the companies offering a copy of the Amazon S3 API, there is Oracle itself. For compatibility, the Amazon S3 Compatibility API copies numerous Amazon API elements, down to x-amz tags.

Oracle assures that the legality of its actions is based on the open source license Apache 2.0, which allows free copying and modification of code. For example, the Amazon SDK for Java also comes with an Apache 2.0 license.

But the question is whether intellectual property law is generally applicable to objects such as the API. That is what the Supreme Court should establish.

Who invented the API?

The term and concept of a “subroutine library” first appeared in Hermann Goldstein and John von Neumann's book “Planning and Coding Problems for an Electronic Computing Tool” – Part II, Volume III (Princeton University Advanced Research Institute, 1948), archive copy .org. The contents of the third volume:

This is the first description of a programming methodology for computers with storing programs in memory (previously none existed). She widely spread to universities, which at that time tried to create their own computers. And most importantly, the book contains a key idea: most programs will use common operations, and libraries with routines will reduce the amount of new code and errors. This idea was finalized by Maurice Wilkes and put into practice in the EDSAC machine, for which he received the 1967 Turing Award.


EDSAC routine library is on the left

The next step was to create higher-order functions and full-fledged software interfaces, which Maurice Wilkes and David Wheeler did in the book "Preparing Programs for an Electronic Digital Computer" (1951).

Term itself Application program interface (API) appeared around the end of the 60s.

The author of the presentation "Brief The subjective history of the API ”Joshua Block provides several examples of program interfaces, instruction sets, and subprogram libraries: how they were created and used later. The idea is that reuse is the meaning of the API. That is why they were created in the first place. And developers always had the opportunity to copy and remake other people's APIs:

API Creator Year Re implementation Year
FORTRAN library Ibm 1958 Univac 1961
IBM S / 360 ISA Ibm 1964 Amdahl corp. 1970
Standard Library C AT&T / Bell Labs 1976 Mark Williams Co. 1980
Unix system calls AT&T / Bell Labs 1976 Mark Williams Co. 1980
VT100 Esc Seqs Dec 1978 Heathkit 1980
IBM PC BIOS Ibm 1981 Phoenix technologies 1984
MS-DOS CLI Microsoft 1981 FreeDOS Project 1998
Hayes AT Command Set Hayes micro 1982 Anchor automation 1985
PostScript Adobe 1985 GNU / GhostScript 1988
SMB Microsoft 1992 Samba project 1993
Win32 Microsoft 1993 Wine Project 1996
Java 2 Class Libraries Sun 1998 Google / android 2008
Delicious Web API Delicious 2003 Pinboard 2009

A source: "Brief Subjective API Story »

Copying and reusing APIs (libraries, instruction sets) is not only correct, but such a programming methodology is directly recommended in the canons of computer science. Even before copying the S3 programming interfaces, Oracle itself did this many times. Moreover, the Oracle business was originally built on the implementation of the SQL programming language developed by IBM. The first flagship product of Oracle was the DBMS, largely copied from IBM System R. In this case, we are talking about the reimplementation of SQL as a "standard API" for the DBMS.

Overlaying intellectual property rights on APIs can create a legal minefield that everyone will suffer from. APIs also implement other cloud services. Many technical standards, such as Wi-Fi and Internet protocols, include APIs. Program interfaces are necessarily re-implemented in some form on each computer and server on the Internet. Oracle Copyright Theory can turn almost everything you do with your computer into an illegal act.

To avoid these far-reaching consequences, Oracle and the Court of Appeal, which upheld her arguments, tried to limit copyright infringement to just some API re-implementations that were "incompatible" with the original. But partial reimplementations are also commonplace. Even in its copy of the S3 API, Oracle notes numerous “differences” and incompatibilities with the original Amazon APIs.

The main danger of Oracle’s lawsuit is that it could prevent small technology companies from creating versions of systems compatible with dominant platforms such as S3. Without such compatibility, programmers will be virtually blocked in the offers of this company.

Industry representatives and developers can only hope that the mind will triumph, and the judges know the basics of programming.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *