Oracle lui-même a copié l'API d'Amazon S3, et c'est tout à fait normal

Oracle lui-même a copié l'API d'Amazon S3, et c'est tout à fait normal
Les avocats d'Oracle comparent la réimplémentation de l'API Java dans Android à la copie du contenu de « Harry Potter », pdf

La Cour suprême des États-Unis entendra une affaire importante au début de cette année. Oracle contre Google, qui déterminera le statut juridique de l'API au regard du droit de la propriété intellectuelle. Si le tribunal se range du côté d’Oracle dans son procès de plusieurs milliards de dollars, cela pourrait étouffer la concurrence et consolider la domination des géants de la technologie, y compris éventuellement de Google lui-même.

Dans le même temps, l'activité d'Oracle reposait initialement sur la mise en œuvre du langage de programmation SQL développé par IBM, et même aujourd'hui, la société propose un service cloud avec une API d'Amazon S3, ce qui est tout à fait normal. La réimplémentation d’API fait naturellement partie du développement de l’informatique depuis le tout début de l’industrie.

Oracle accuse Google de copier illégalement l'API Java, y compris une liste de commandes nommées liées à des structures grammaticales. Le système d'exploitation Android est spécifiquement compatible avec l'API Java pour permettre aux programmeurs Java de transférer plus facilement des logiciels et des connaissances vers la nouvelle plate-forme. Pour ce faire, Android a copié exactement les commandes et structures grammaticales de l’API Java correspondantes. Argument Oracle est qu'une telle "réimplémentation" de l'API Java peut être comparée à la copie de l'œuvre d'un auteur, comme le roman littéraire "Harry Potter" (ce un exemple concret donné par les avocats d'Oracle), et Google viole les droits d'auteur d'Oracle sur les noms et structures des commandes de l'API Java.

Mais les API Java ne sont pas les seules, et Android n’est pas la seule réimplémentation. Dans le secteur informatique d'aujourd'hui, les API sont omniprésentes et leur réintroduction est fondamentale pour maintenir la concurrence et empêcher les grandes entreprises de monopoliser dit Charles Duane est directeur de la politique de technologie et d'innovation au R Street Institute.

Duane donne l'exemple de la populaire plateforme de stockage Amazon S3. Pour permettre l'écriture et la récupération de fichiers à partir de S3, Amazon a développé un système complet, API détaillée pour interagir avec le service. Par exemple, pour obtenir une liste des fichiers enregistrés (ListeObjets) on envoie une commande GET précisant les paramètres host et type type de codage, jeton de continuation и x-amz-date. Pour fonctionner avec Amazon S3, le logiciel doit utiliser exactement ces noms de paramètres spécifiques ainsi que de nombreux autres.

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 est le leader incontesté sur le marché des services cloud, et ses concurrents proposent des réimplémentations de l'API S3, alors qu'ils doivent imiter les noms de commandes, les balises de paramètres et les préfixes de type. x-amz, structure grammaticale et organisation générale de l'API S3. En d’autres termes, tout ce que prétend Oracle est protégé par le droit d’auteur.

Parmi les sociétés proposant une copie de l'API Amazon S3 figurent il y a aussi Oracle lui-même. Pour des raisons de compatibilité, l'API de compatibilité Amazon S3 copie de nombreux éléments de l'API Amazon, jusqu'aux balises x-amz.

Oracle lui-même a copié l'API d'Amazon S3, et c'est tout à fait normal

Oracle affirme que la légalité de ses actions repose sur la licence open source Apache 2.0, qui permet la copie et la modification gratuites du code. Par exemple, Kit SDK Amazon pour Java est également livré avec une licence Apache 2.0.

Mais la question est de savoir si le droit de la propriété intellectuelle s’applique même à des choses comme les API. C'est ce que la Cour suprême doit déterminer.

Qui a inventé l’API ?

Le terme et le concept de « bibliothèque de sous-programmes » sont apparus pour la première fois dans le livre Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Princeton University Institute of Advanced Study, 1948) d'Herman Goldstein et John von Neumann. copie sur archive.org. Contenu du troisième tome :

Oracle lui-même a copié l'API d'Amazon S3, et c'est tout à fait normal

Il s'agit de la première description d'une méthodologie de programmation pour ordinateurs qui stocke des programmes en mémoire (cela n'existait pas auparavant). Il a été largement distribué dans les universités qui essayaient à l'époque de créer leurs propres ordinateurs. Et surtout, le livre contient une idée clé : la plupart des programmes utiliseront des opérations courantes et les bibliothèques dotées de routines réduiront la quantité de nouveau code et d'erreurs. Cette idée a été affinée par Maurice Wilkes et mise en pratique dans la machine EDSAC, pour laquelle il a reçu le prix Turing en 1967.

Oracle lui-même a copié l'API d'Amazon S3, et c'est tout à fait normal
La bibliothèque de sous-programmes EDSAC se trouve à gauche

L'étape suivante consistait à créer des fonctions d'ordre supérieur et des interfaces logicielles à part entière, comme l'ont fait Maurice Wilkes et David Wheeler dans Preparing Programs for the Electronic Digital Computer (1951).

Le terme Interface du programme d'application (API) est apparu quelque part à la fin des années 60.

Auteur de la présentation "Une brève histoire subjective de l'API" Joshua Block donne plusieurs exemples d'interfaces de programmation, de jeux d'instructions et de bibliothèques de sous-programmes : comment ils ont été créés et ensuite utilisés. L’idée est que la réutilisation est le but d’une API. C’est pour cela qu’ils ont été créés en premier lieu. Et les développeurs ont toujours eu la possibilité de copier et de recréer les API d'autres personnes :

API
Créateur
année
Réimplémentation
année

bibliothèque Fortran
IBM
1958
Univac
1961

IBM S/360ISA
IBM
1964
Amdahl Corp.
1970

Bibliothèque C standard
AT&T/Laboratoires Bell
1976
Mark Williams Co.
1980

Appels système Unix
AT&T/Laboratoires Bell
1976
Mark Williams Co.
1980

Séquences ESC VT100
DÉC
1978
Kit de santé
1980

BIOS du PC IBM
IBM
1981
Phoenix Technologies
1984

CLI MS-DOS
Microsoft
1981
Projet FreeDOS
1998

Ensemble de commandes Hayes AT
Hayes Micro
1982
Automatisation des ancres
1985

PostScript
Adobe
1985
GNU/GhostScript
1988

SMB
Microsoft
1992
Projet Samba
1993

Win32
Microsoft
1993
Projet Vin
1996

Bibliothèques de classes Java 2
Dimanche
1998
Google/Androïd
2008

API Web délicieuse
Délicieux
2003
Pinboard
2009

Source: "Une brève histoire subjective de l'API"

Copier et réutiliser des API (bibliothèques, jeux d'instructions) est non seulement correct, mais cette méthodologie de programmation est directement recommandée dans les canons de l'informatique. Même avant de copier les interfaces de programmation S3, Oracle lui-même l'a fait à plusieurs reprises. Par ailleurs, l'activité d'Oracle s'est initialement construite sur la mise en œuvre du langage de programmation SQL développé par IBM. Le premier produit phare d'Oracle était un SGBD, largement copié d'IBM System R. Dans ce cas, nous parlons de la réimplémentation de SQL en tant qu'« API standard » pour un SGBD.

Imposer des droits de propriété intellectuelle sur les API peut créer un champ de mines juridique qui touche tout le monde. Les API implémentent et autres services cloud. De nombreuses normes techniques, telles que les protocoles Wi-Fi et Internet, incluent des API. Les interfaces de programmation sont nécessairement réimplémentées sous une forme ou une autre sur chaque ordinateur et serveur sur Internet. La théorie du droit d'auteur d'Oracle peut rendre illégal presque tout ce que vous faites avec votre ordinateur.

Pour éviter ces conséquences considérables, Oracle et la cour d'appel qui a confirmé ses arguments ont tenté de limiter la violation du droit d'auteur à certaines réimplémentations d'API « incompatibles » avec l'original. Mais aussi des réimplémentations partielles sont monnaie courante. Même dans sa copie de l'API S3, Oracle note de nombreuses « différences » et incompatibilités avec les API Amazon d'origine.

Le principal danger du procès d'Oracle est qu'il pourrait empêcher les petites entreprises technologiques de créer des versions de systèmes compatibles avec les plates-formes dominantes telles que S3. Sans une telle compatibilité, les programmeurs seront effectivement exclus des offres de cette société.

Les représentants de l'industrie et les développeurs ne peuvent qu'espérer que la raison prévaudra ici, et les juges connaissent les bases de la programmation.

Source: habr.com

Ajouter un commentaire