Oracle lui-même a copié l'API d'Amazon S3, et c'est parfaitement bien


Les avocats d'Oracle comparent la réimplémentation de l'API Java dans Android avec la copie de contenu Harry Potter, pdf

Plus tôt cette année, la Cour suprême des États-Unis examinera une importante affaire Oracle contre Google , qui déterminera le statut juridique de l'API conformément à la loi sur la propriété intellectuelle. Si le tribunal prend le parti d'Oracle dans son procès de plusieurs milliards de dollars, il pourrait étouffer la concurrence et cimenter la domination des géants de la technologie, y compris éventuellement Google lui-même.

Dans le même temps, l'entreprise Oracle était initialement basée sur la mise en œuvre du langage de programmation SQL développé par IBM, et même maintenant, la société propose un service cloud avec des API d'Amazon S3, et c'est tout à fait normal. La réimplémentation de l'API fait partie intégrante du développement de l'informatique depuis le 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 aux structures grammaticales. Le système d'exploitation Android est spécifiquement compatible avec l'API Java pour faciliter le transfert de logiciels et de connaissances par les programmeurs Java vers la nouvelle plate-forme. Pour ce faire, Android a copié avec précision les commandes et les structures de grammaire de l'API Java correspondantes. L'argument d' Oracle est qu'une telle «réimplémentation» de l'API Java peut être comparée à la copie du travail d'un auteur, comme le roman littéraire Harry Potter (c'est un exemple réel cité par les avocats d'Oracle ), et Google viole les droits d'auteur d'Oracle sur les noms des commandes et des structures Java API

Mais l'API Java n'est pas la seule API et Android n'est pas la seule réimplémentation. Les API sont omniprésentes dans l'industrie informatique d'aujourd'hui, et la réimplémentation est fondamentale pour maintenir la concurrence afin d'empêcher le monopole des grandes entreprises, a déclaré Charles Duan, directeur de la technologie et de la politique d'innovation au R Street Institute.

Duan donne un exemple de la populaire plate-forme de stockage Amazon S3. Pour permettre l'écriture et l'extraction de fichiers à partir de S3, Amazon a développé une API complète et détaillée pour interagir avec le service. Par exemple, pour obtenir une liste des fichiers enregistrés ( ListObjects ), nous envoyons une commande GET avec l'hôte et les paramètres de type encoding-type , continuation-token et x-amz-date . Pour fonctionner avec Amazon S3, le logiciel doit utiliser exactement ces noms de paramètres et bien d'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 un leader incontesté sur le marché des services cloud, et ses concurrents proposent la réimplémentation de l'API S3, alors qu'ils doivent imiter les noms d'équipe, les balises de paramètres, les préfixes x-amz , la structure grammaticale et l'organisation générale de l'API S3. En d'autres termes, tout ce qui, selon Oracle, est protégé par le droit d'auteur.

Parmi les sociétés proposant une copie de l'API Amazon S3, il y a 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 assure que la légalité de ses actions est basée sur la licence open source Apache 2.0, qui permet la copie et la modification gratuites de code. Par exemple, Amazon SDK 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 est généralement applicable à des objets tels que l'API. C'est ce que la Cour suprême devrait établir.

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 de Herman Goldstein et John von Neumann, «Planning and Coding Problems for an Electronic Computing Tool» - Part II, Volume III (Princeton University Advanced Research Institute, 1948), copie d'archive .org . Le contenu du troisième volume:



Il s'agit de la première description d'une méthodologie de programmation pour les ordinateurs avec stockage de programmes en mémoire (auparavant, il n'en existait aucun). Elle s'est largement répandue dans les universités, qui à cette époque ont essayé de créer leurs propres ordinateurs. Et surtout, le livre contient une idée clé: la plupart des programmes utiliseront des opérations communes et les bibliothèques avec des routines réduiront la quantité de nouveau code et d'erreurs . Cette idée a été finalisée par Maurice Wilkes et mise en pratique dans la machine EDSAC, pour laquelle il a reçu le Turing Award 1967.


La bibliothèque de routine EDSAC est sur la gauche

L'étape suivante a été de créer des fonctions d'ordre supérieur et des interfaces logicielles à part entière, ce que Maurice Wilks et David Wheeler ont fait dans le livre "Preparing Programs for an Electronic Digital Computer" (1951).

Le terme Interface de programme d'application (API) lui-même est apparu quelque part à la fin des années 60.

L'auteur de la présentation « Une brève histoire subjective de l'API» Joshua Block donne plusieurs exemples d'interfaces de programme, de jeux d'instructions et de bibliothèques de sous-programmes: comment ils ont été créés et utilisés plus tard. L'idée est que la réutilisation est le sens de l'API. C'est pourquoi ils ont été créés en premier lieu. Et les développeurs ont toujours eu la possibilité de copier et de refaire les API des autres:

APICréateurAnnéeRe implémentationAnnée
Bibliothèque FORTRANIbm1958Univac1961
IBM S / 360 ISAIbm1964Amdahl corp.1970
Bibliothèque standard CAT&T / Bell Labs1976Mark Williams Co.1980
Appels système UnixAT&T / Bell Labs1976Mark Williams Co.1980
VT100 Esc SeqsDéc1978Heathkit1980
IBM PC BIOSIbm1981Technologies Phoenix1984
CLI MS-DOSMicrosoft1981Projet FreeDOS1998
Hayes AT Command SetHayes micro1982Automatisation d'ancrage1985
PostScriptAdobe1985GNU / GhostScript1988
SMBMicrosoft1992Projet Samba1993
Win32Microsoft1993Projet Vin1996
Bibliothèques de classes Java 2Soleil1998Google / android2008
Délicieuse API WebDélicieux2003Tableau d'affichage2009
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 une telle méthodologie de programmation est directement recommandée dans les canons de l'informatique. Avant même de copier les interfaces de programmation S3, Oracle lui-même l'a fait plusieurs fois. De plus, l'activité Oracle a été initialement basée sur l'implémentation du langage de programmation SQL développé par IBM. Le premier produit phare d'Oracle a été le SGBD, largement copié à partir d'IBM System R. Dans ce cas, nous parlons de la réimplémentation de SQL en tant qu '"API standard" pour le SGBD.

La superposition des droits de propriété intellectuelle sur les API peut créer un champ de mines légal dont tout le monde souffrira. Les API implémentent également d' autres services cloud . De nombreuses normes techniques, telles que les protocoles Wi-Fi et Internet, incluent des API. Les interfaces de programme sont nécessairement réimplémentées sous une forme ou une autre sur chaque ordinateur et serveur sur Internet. Oracle Copyright Theory peut transformer presque tout ce que vous faites avec votre ordinateur en un acte illégal.

Pour éviter ces conséquences d'une grande portée, Oracle et la Cour d'appel, qui ont confirmé ses arguments, ont tenté de limiter la violation du droit d'auteur à quelques réimplémentations de l'API qui étaient "incompatibles" avec l'original. Mais les réimplémentations partielles sont également monnaie courante . Même dans sa copie de l'API S3, Oracle a noté de nombreuses «différences» et incompatibilités avec les API Amazon originales.

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 plateformes dominantes telles que S3. Sans cette compatibilité, les programmeurs seront virtuellement bloqués dans les offres de cette société.

Les représentants de l'industrie et les développeurs ne peuvent qu'espérer que l'esprit triomphera et les juges connaîtront les bases de la programmation .

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


All Articles