Oracle lawyers compare Android Java API reimplementation to copying Harry Potter content
The U.S. Supreme Court will hear a major case earlier this year.
At the same time, Oracle's 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 an API from Amazon S3, and this is completely normal. Reimplementation of APIs has been a natural part of the development of computer science since the dawn of the industry.
Oracle accuses Google of illegally copying the Java API, including a list of named commands tied to grammar structures. The Android operating system is specifically compatible with the Java API to make it easier for Java programmers to port their software and knowledge to a new platform. To do this, Android copied the corresponding Java API commands and grammar structures exactly.
But Java APIs are not the only APIs, and Android is not the only reimplementation. In today's IT industry, APIs are ubiquitous, and re-introduction is fundamental to maintaining competition in order to prevent large firms from becoming monopolies.
Duan gives an example of the popular Amazon S3 storage platform. To enable writing and retrieving files from S3, Amazon has developed a comprehensive,
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 command names, parameter tags, type prefixes x-amz, grammatical structure, and general organization of the S3 API. In other words, anything that Oracle claims is copyrighted.
Companies offering a copy of the Amazon S3 API include
Oracle claims that the legitimacy of its actions is based on the Apache 2.0 open source license, which allows free copying and modification of the code. For example,
But the question is whether intellectual property law applies at all to things like APIs. That is what the Supreme Court should decide.
Who Invented the API?
The term and concept of a "subroutine library" first appeared in the book Planning and Coding Problems for an Electronic Computing Instrument by Herman Goldstein and John von Neumann - Part II, Volume III (Institute for Advanced Studies, Princeton University, 1948),
This is the first description of a programming methodology for computers with the preservation of programs in memory (which did not exist before). It was widely distributed among universities, which at that time were trying to create their own computers. And most importantly, the book contains the key idea: most programs will use common operations and libraries with subroutines will reduce new code and bugs. This idea was further developed by Maurice Wilkes and put into practice in the EDSAC machine, for which he received the 1967 Turing Award.
The EDSAC subroutine library is on the left
The next step was the creation of higher-order functions and complete programming interfaces, which was done by Maurice Wilks and David Wheeler in Preparing Programs for the Electronic Digital Computer (1951).
The term Application Program Interface (API) appeared somewhere in the late 60s.
Presentation author
API
Creator
Year
Re-implementation
Year
FORTRAN library
IBM
1958
Univac
1961
IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970
C standard library
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
Web API Delicious
Delicious
2003
pin board
2009
Source:
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 APIs, Oracle itself had done it many times. Moreover, Oracle's business was originally built on the implementation of the SQL programming language developed by IBM. Oracle's first flagship product was a DBMS, largely copied from IBM System R. In this case, we are talking about the reimplementation of SQL as a "standard API" for a DBMS.
The imposition of intellectual property rights on APIs can create a legal minefield that everyone will suffer from. APIs implement and
To avoid these far-reaching consequences, Oracle and the appellate court that upheld its arguments attempted to limit copyright infringement to some API reimplementations that are "incompatible" with the original. But partial reimplementations too
The main danger of Oracle's lawsuit is that it could prevent small technology companies from building versions of systems that are compatible with dominant platforms such as S3. Without such interoperability, programmers will be effectively locked out of the firm's offerings.
Industry representatives and developers can only hope that reason will prevail here, and
Source: habr.com