Oracle selbst hat die API von Amazon S3 kopiert, und das ist vollkommen in Ordnung


Oracle-Anwälte vergleichen die Neuimplementierung der Java-API in Android mit dem Kopieren von Harry-Potter-Inhalten ( PDF)

Anfang dieses Jahres wird der Oberste Gerichtshof der USA einen wichtigen Fall von Oracle gegen Google prüfen, in dem der rechtliche Status der API in Übereinstimmung mit dem Gesetz über geistiges Eigentum festgelegt wird. Wenn das Gericht in seiner milliardenschweren Klage die Seite von Oracle einnimmt, könnte dies den Wettbewerb unterdrücken und die Dominanz der Technologieriesen, möglicherweise auch von Google, zementieren.

Gleichzeitig wurde das Oracle-Geschäft ursprünglich auf der Implementierung der von IBM entwickelten SQL-Programmiersprache aufgebaut, und das Unternehmen bietet bereits jetzt einen Cloud-Service mit APIs von Amazon S3 an, was völlig normal ist. Die Neuimplementierung der API ist seit den Anfängen der Branche ein natürlicher Bestandteil der Entwicklung der Informatik.

Oracle beschuldigt Google, die Java-API einschließlich einer Liste benannter Befehle, die an Grammatikstrukturen gebunden sind, illegal kopiert zu haben. 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. Zu diesem Zweck hat Android die entsprechenden Java-API-Befehle und Grammatikstrukturen korrekt kopiert. Das Argument von Oracle ist, dass eine solche „Neuimplementierung“ der Java-API mit dem Kopieren von Werken eines Autors verglichen werden kann, wie beispielsweise dem von Oracle-Anwälten angeführten Roman Harry Potter, und dass Google das Urheberrecht von Oracle an den Namen von Java-Befehlen und -Strukturen verletzt API

Die Java-API ist jedoch nicht die einzige API, und Android ist nicht die einzige Neuimplementierung. APIs sind in der heutigen IT-Branche allgegenwärtig, und eine Neuimplementierung ist für die Aufrechterhaltung des Wettbewerbs von grundlegender Bedeutung, um das Monopol großer Unternehmen zu verhindern, sagte Charles Duan, Direktor für Technologie- und Innovationspolitik am R Street Institute.

Duan gibt ein Beispiel für die beliebte Amazon S3-Speicherplattform. Um das Schreiben und Extrahieren von Dateien aus S3 zu ermöglichen, hat Amazon eine umfassende, detaillierte API für die Interaktion mit dem Dienst entwickelt. Um zum Beispiel eine Liste der gespeicherten Dateien ( ListObjects ) zu erhalten, senden wir einen GET-Befehl mit dem Host und den Parametern vom Typ encoding-type , continuation-token und x-amz-date . Um mit Amazon S3 arbeiten zu können, muss die Software genau diese und viele andere spezifische Parameternamen 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 ein klarer Marktführer im Bereich Cloud-Services, und seine Konkurrenten bieten eine Neuimplementierung der S3-API an. Gleichzeitig müssen sie Teamnamen, Parameter-Tags, x-amz-Präfixe , grammatische Strukturen und die allgemeine Organisation der S3-API imitieren. Mit anderen Worten, alles, was laut Oracle urheberrechtlich geschützt ist.

Unter den Unternehmen, die eine Kopie der Amazon S3-API anbieten, befindet sich Oracle . Aus Kompatibilitätsgründen kopiert die Amazon S3-Kompatibilitäts-API zahlreiche Amazon API-Elemente in x-amz-Tags.



Oracle versichert, dass die Rechtmäßigkeit seiner Handlungen auf der Open-Source-Lizenz Apache 2.0 basiert, die das kostenlose Kopieren und Ändern von Code ermöglicht. Zum Beispiel wird das Amazon SDK für Java auch mit einer Apache 2.0-Lizenz geliefert.

Die Frage ist jedoch, ob das Recht des geistigen Eigentums allgemein auf Objekte wie die API anwendbar ist. Das sollte der Oberste Gerichtshof festlegen.

Wer hat die API erfunden?


Der Begriff und das Konzept einer „Unterprogrammbibliothek“ tauchten erstmals in Hermann Goldsteins und John von Neumanns Buch „Planungs- und Codierungsprobleme für ein elektronisches Computerwerkzeug“ auf - Teil II, Band III (Princeton University Advanced Research Institute, 1948), Archivexemplar .org . Der Inhalt des dritten Bandes:



Dies ist die erste Beschreibung einer Programmiermethode für Computer, auf denen Programme gespeichert sind (bisher gab es keine). Sie verbreitete sich weit an Universitäten, die zu dieser Zeit versuchten, ihre eigenen Computer zu erstellen. Und vor allem enthält das Buch eine Schlüsselidee: Die meisten Programme verwenden gemeinsame Operationen, und Bibliotheken mit Routinen reduzieren die Menge an neuem Code und Fehlern . Diese Idee wurde von Maurice Wilkes finalisiert und in der EDSAC-Maschine umgesetzt, für die er 1967 den Turing Award erhielt.


Die EDSAC-Routinebibliothek befindet sich auf der linken Seite

Der nächste Schritt bestand darin, Funktionen höherer Ordnung und vollwertige Softwareschnittstellen zu erstellen, wie dies Maurice Wilks und David Wheeler in dem Buch "Vorbereiten von Programmen für einen elektronischen Digitalcomputer" (1951) taten.

Der Begriff Application Program Interface (API) selbst tauchte Ende der 60er Jahre auf.

Der Autor der Präsentation " Eine kurze subjektive Geschichte der API", Joshua Block, gibt einige Beispiele für Programmschnittstellen, Befehlssätze und Unterprogrammbibliotheken: wie sie später erstellt und verwendet wurden. Die Idee ist, dass Wiederverwendung die Bedeutung der API ist. Deshalb wurden sie in erster Linie geschaffen. Und Entwickler hatten immer die Möglichkeit, die APIs anderer Leute zu kopieren und neu zu erstellen:

APISchöpferJahrNeuimplementierungJahr
FORTRAN BibliothekIbm1958Univac1961
IBM S / 360 ISAIbm1964Amdahl Corp.1970
Standardbibliothek CAT & T / Bell Labs1976Mark Williams Co.1980
Unix-SystemaufrufeAT & T / Bell Labs1976Mark Williams Co.1980
VT100 Esc SeqsDez.1978Heathkit1980
IBM PC BIOSIbm1981Phoenix-Technologien1984
MS-DOS CLIMicrosoft1981FreeDOS-Projekt1998
Hayes AT BefehlssatzHayes Micro1982Ankerautomatisierung1985
PostScriptAdobe1985GNU / GhostScript1988
SMBMicrosoft1992Samba-Projekt1993
Win32Microsoft1993Weinprojekt1996
Java 2 KlassenbibliothekenSonne1998Google / Android2008
Delicious Web APILecker2003Pinnwand2009
Quelle: " Eine kurze subjektive Geschichte der API"

Das Kopieren und Wiederverwenden von APIs (Bibliotheken, Befehlssätze) ist nicht nur korrekt, sondern eine solche Programmiermethode wird auch in den Kanonen der Informatik direkt empfohlen. Bereits vor dem Kopieren der S3-Programmierschnittstellen hat Oracle dies viele Male getan. Darüber hinaus basierte das Oracle-Geschäft ursprünglich auf der Implementierung der von IBM entwickelten SQL-Programmiersprache. Das erste Vorzeigeprodukt von Oracle war das DBMS, das größtenteils von IBM System R kopiert wurde. In diesem Fall geht es um die Neuimplementierung von SQL als "Standard-API" für das DBMS.

Durch die Überlagerung von Rechten an geistigem Eigentum an APIs kann ein rechtliches Minenfeld entstehen, unter dem jeder leiden wird. APIs implementieren auch andere Cloud-Dienste . Viele technische Standards wie Wi-Fi und Internetprotokolle enthalten APIs. Programmschnittstellen müssen in irgendeiner Form auf jedem Computer und Server im Internet neu implementiert werden. Oracle Copyright Theory kann fast alles, was Sie mit Ihrem Computer tun, in eine illegale Handlung verwandeln.

Um diese weitreichenden Konsequenzen zu vermeiden, haben Oracle und das Court of Appeal, die ihre Argumente bestätigten, versucht, die Verletzung des Urheberrechts auf nur wenige API-Neuimplementierungen zu beschränken, die mit dem Original "unvereinbar" waren. Aber auch partielle Neuimplementierungen sind an der Tagesordnung . Selbst in seiner Kopie der S3-API hat Oracle zahlreiche „Unterschiede“ und Inkompatibilitäten mit den ursprünglichen Amazon-APIs festgestellt.

Die Hauptgefahr der Klage von Oracle besteht darin, dass kleine Technologieunternehmen daran gehindert werden könnten, Versionen von Systemen zu erstellen, die mit marktbeherrschenden Plattformen wie S3 kompatibel sind. Ohne diese Kompatibilität werden Programmierer in den Angeboten dieser Firma praktisch blockiert.

Industrievertreter und Entwickler können nur hoffen, dass der Verstand triumphiert und die Juroren die Grundlagen der Programmierung kennen .

Source: https://habr.com/ru/post/de482980/


All Articles