Oracle selbst hat die API von Amazon S3 kopiert, und das ist völlig normal

Oracle selbst hat die API von Amazon S3 kopiert, und das ist völlig normal
Oracle-Anwälte vergleichen die Neuimplementierung der Java-API in Android mit dem Kopieren der Inhalte von „Harry Potter“. pdf

Der Oberste Gerichtshof der USA wird Anfang dieses Jahres einen wichtigen Fall verhandeln. Oracle vs. Google, die den rechtlichen Status der API nach dem Recht des geistigen Eigentums bestimmt. Sollte sich das Gericht in seiner milliardenschweren Klage auf die Seite von Oracle stellen, könnte dies den Wettbewerb unterdrücken und die Dominanz der Technologiegiganten, möglicherweise auch von Google selbst, zementieren.

Gleichzeitig basierte das Geschäft von Oracle zunächst auf der Implementierung der von IBM entwickelten Programmiersprache SQL, und auch jetzt bietet das Unternehmen einen Cloud-Service mit einer API von Amazon S3 an, und das ist völlig normal. Die Neuimplementierung von APIs war seit den Anfängen der Branche ein natürlicher Teil der Entwicklung der Informatik.

Oracle wirft Google vor, die Java-API illegal kopiert zu haben, einschließlich einer Liste benannter Befehle, die an grammatikalische Strukturen gebunden sind. Das Android-Betriebssystem ist speziell mit der Java-API kompatibel, um Java-Programmierern den Transfer von Software und Wissen auf die neue Plattform zu erleichtern. Dazu hat Android die entsprechenden Java-API-Befehle und grammatikalischen Strukturen exakt kopiert. Argument Oracle ist der Ansicht, dass eine solche „Neuimplementierung“ der Java-API mit dem Kopieren eines Autorenwerks vergleichbar sei, beispielsweise des Literaturromans „Harry Potter“ (dieses). ein echtes Beispiel der Oracle-Anwälte), und Google verletzt das Urheberrecht von Oracle an Java-API-Befehlsnamen und -Strukturen.

Aber Java-APIs sind nicht die einzigen APIs und Android ist nicht die einzige Neuimplementierung. In der heutigen IT-Branche sind APIs allgegenwärtig und ihre Wiedereinführung ist von grundlegender Bedeutung, um den Wettbewerb aufrechtzuerhalten und eine Monopolisierung großer Unternehmen zu verhindern считает Charles Duane ist Direktor für Technologie- und Innovationspolitik am R Street Institute.

Duane nennt als Beispiel die beliebte Speicherplattform Amazon S3. Um das Schreiben und Abrufen von Dateien aus S3 zu ermöglichen, hat Amazon umfassende, detaillierte API um mit dem Dienst zu interagieren. Um beispielsweise eine Liste der gespeicherten Dateien zu erhalten (ListObjects) senden wir einen GET-Befehl, der die Host- und Typparameter angibt Kodierungstyp, Fortsetzungstoken и x-amz-datum. Um mit Amazon S3 arbeiten zu können, muss die Software diese und viele andere spezifische Parameternamen genau verwenden.

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 ist klarer Marktführer auf dem Markt für Cloud-Dienste und seine Konkurrenten bieten Neuimplementierungen der S3-API an, während sie Befehlsnamen, Parameter-Tags und Typpräfixe imitieren müssen x-amz, grammatikalische Struktur und allgemeine Organisation der S3-API. Mit anderen Worten: Alles, was Oracle behauptet, ist urheberrechtlich geschützt.

Zu den Unternehmen, die eine Kopie der Amazon S3-API anbieten, gehören es gibt auch Oracle selbst. Aus Kompatibilitätsgründen kopiert die Amazon S3-Kompatibilitäts-API zahlreiche Elemente der Amazon-API, bis hin zu den x-amz-Tags.

Oracle selbst hat die API von Amazon S3 kopiert, und das ist völlig normal

Oracle behauptet, dass die Rechtmäßigkeit seines Handelns auf der Open-Source-Lizenz Apache 2.0 beruhe, die das kostenlose Kopieren und Ändern von Code ermöglicht. Zum Beispiel, Amazon SDK für Java wird außerdem mit einer Apache 2.0-Lizenz geliefert.

Die Frage ist jedoch, ob das Recht des geistigen Eigentums überhaupt auf Dinge wie APIs anwendbar ist. Dies muss der Oberste Gerichtshof feststellen.

Wer hat die API erfunden?

Der Begriff und das Konzept einer „Subroutinenbibliothek“ tauchten erstmals in dem Buch „Planning and Coding Problems for an Electronic Computing Instrument – ​​Part II, Volume III“ (Princeton University Institute of Advanced Study, 1948) von Herman Goldstein und John von Neumann auf. Kopie auf archive.org. Inhalt des dritten Bandes:

Oracle selbst hat die API von Amazon S3 kopiert, und das ist völlig normal

Dies ist die erste Beschreibung einer Programmiermethodik für Computer, die Programme im Speicher speichert (dies gab es zuvor nicht). Es wurde weithin an Universitäten verteilt, die zu dieser Zeit versuchten, eigene Computer zu entwickeln. Und am wichtigsten ist, dass das Buch eine Schlüsselidee enthält: Die meisten Programme verwenden gemeinsame Operationen und Bibliotheken mit Routinen reduzieren die Menge an neuem Code und Fehlern. Diese Idee wurde von Maurice Wilkes weiter verfeinert und in der EDSAC-Maschine in die Praxis umgesetzt, für die er 1967 den Turing Award erhielt.

Oracle selbst hat die API von Amazon S3 kopiert, und das ist völlig normal
Die EDSAC-Unterprogrammbibliothek befindet sich auf der linken Seite

Der nächste Schritt bestand darin, Funktionen höherer Ordnung und vollwertige Softwareschnittstellen zu schaffen, wie es Maurice Wilkes und David Wheeler in „Preparing Programs for the Electronic Digital Computer“ (1951) taten.

Der Begriff Anwendungsprogramm-Schnittstelle (API) erschien irgendwo in den späten 60ern.

Autor der Präsentation „Eine kurze subjektive Geschichte der API“ Joshua Block gibt mehrere Beispiele für Programmierschnittstellen, Befehlssätze und Unterprogrammbibliotheken: wie sie erstellt und anschließend verwendet wurden. Die Idee ist, dass die Wiederverwendung der Sinn einer API ist. Dafür wurden sie ursprünglich geschaffen. Und Entwickler hatten immer die Möglichkeit, die APIs anderer Leute zu kopieren und neu zu erstellen:

API
Schöpfer
Jahr
Neuimplementierung
Jahr

FORTRAN-Bibliothek
IBM
1958
Univac
1961

IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970

Standard-C-Bibliothek
AT&T/Bell Labs
1976
Mark Williams Co.
1980

Unix-Systemaufrufe
AT&T/Bell Labs
1976
Mark Williams Co.
1980

VT100 Esc Seqs
Dezember
1978
Heidekit
1980

IBM PC-BIOS
IBM
1981
Phoenix Technologien
1984

MS-DOS-CLI
Microsoft
1981
FreeDOS-Projekt
1998

Hayes AT-Befehlssatz
Hayes Micro
1982
Ankerautomatisierung
1985

Postscript
Adobe
1985
GNU/GhostScript
1988

SMB
Microsoft
1992
Samba-Projekt
1993

Win32
Microsoft
1993
Weinprojekt
1996

Java 2-Klassenbibliotheken
Sun
1998
Google/Android
2008

Web-API Delicious
köstlich
2003
Pinnwand
2009

Source: „Eine kurze subjektive Geschichte der API“

Das Kopieren und Wiederverwenden von APIs (Bibliotheken, Befehlssätzen) ist nicht nur richtig, sondern auch eine Programmiermethode, die im Kanon der Informatik ausdrücklich empfohlen wird. Schon vor dem Kopieren von S3-Programmierschnittstellen hat Oracle selbst dies mehrfach getan. Darüber hinaus basierte das Geschäft von Oracle zunächst auf der Implementierung der von IBM entwickelten Programmiersprache SQL. Das erste Flaggschiffprodukt von Oracle war ein DBMS, das größtenteils von IBM System R kopiert wurde. In diesem Fall sprechen wir von der Neuimplementierung von SQL als „Standard-API“ für ein DBMS.

Die Durchsetzung geistiger Eigentumsrechte an APIs kann ein rechtliches Minenfeld schaffen, das jeden betrifft. APIs implementieren und andere Cloud-Dienste. Viele technische Standards wie WLAN und Internetprotokolle umfassen APIs. Programmierschnittstellen werden notwendigerweise auf jedem Computer und Server im Internet in irgendeiner Form neu implementiert. Die Urheberrechtstheorie von Oracle kann fast alles, was Sie mit Ihrem Computer tun, illegal machen.

Um diese weitreichenden Konsequenzen zu vermeiden, haben Oracle und das Berufungsgericht, das seine Argumente bestätigte, versucht, Urheberrechtsverletzungen auf bestimmte API-Reimplementierungen zu beschränken, die mit dem Original „inkompatibel“ sind. Aber auch teilweise Neuimplementierungen sind alltäglich. Selbst in seiner Kopie der S3-API stellt Oracle zahlreiche „Unterschiede“ und Inkompatibilitäten mit den ursprünglichen Amazon-APIs fest.

Die Hauptgefahr der Klage von Oracle besteht darin, dass sie kleinere Technologieunternehmen daran hindern könnte, Versionen von Systemen zu erstellen, die mit dominanten Plattformen wie S3 kompatibel sind. Ohne eine solche Kompatibilität sind Programmierer effektiv von den Angeboten dieses Unternehmens ausgeschlossen.

Branchenvertreter und Entwickler können nur hoffen, dass sich hier die Vernunft durchsetzt Die Juroren kennen die Grundlagen der Programmierung.

Source: habr.com

Kommentar hinzufügen