Plus tôt ce mois-ci, dans ce que beaucoup considèrent comme l’affaire du droit d’auteur de la décennie, la Cour suprême a rendu sa décision tant attendue dans Google contre Oracle. Dans ce document, la Cour a jugé que la copie par Google de 11 500 lignes de code de déclaration à partir de Java SE pour une utilisation dans la plate-forme Android de Google était une utilisation équitable. Ayant a récemment passé en revue l’historique de la défense d’utilisation équitable dans les affaires de violation du droit d’auteur, nous passons maintenant au cas lui-même.

Contexte de Google contre Oracle Avant que Sun Microsystems (désormais Oracle) ne crée le langage et la plate-forme Java, il n’existait pas de moyen efficace pour une application de s’exécuter sur plusieurs systèmes d’exploitation différents, par exemple Windows et Mac. Au lieu de cela, les développeurs d’applications ont dû réécrire leur application pour chaque système d’exploitation. Sun Microsystems a créé le langage informatique Java et une collection de programmes prêts à l’emploi, c’est-à-dire des modules que les développeurs pourraient intégrer dans leurs propres applications. Une fois écrites, ces applications pourraient être utilisées sur différents systèmes d’exploitation, chacun exécutant une implémentation spécifique de la plate-forme Java pour ce système d’exploitation. Chaque programme ou tâche individuel, appelé «méthode», exécute une fonction unique, comme dessiner une forme, résoudre un type de problème mathématique, créer un élément d’interface utilisateur, etc. Sun a organisé les méthodes en une collection complexe de «classes» qui regrouper les méthodes liées et définir des types de données uniques sur lesquels les méthodes opèrent et des «packages» qui regroupent les classes associées. Ensemble, ils forment l’interface de programmation d’application (API) Java et la structure organisationnelle du package de classe de méthode fait partie de la «structure, séquence et organisation» de l’API Java, ou SSO. Sun a créé plus de 30 000 méthodes organisées en 3 000 classes et 166 packages.

Il existe deux principaux types de code dans l’API Java. Un type, appelé «code de déclaration», contient les spécifications techniques détaillées des fonctions de l’API Java. Un exemple de code de déclaration est:

public static int max (int x, int y)

Ce code exécute une fonction «max» qui renvoie le plus grand de deux entiers spécifiés entre parenthèses.

Publicité

Pour utiliser cette fonction, un programmeur Java écrit une partie de sa propre application qui correspond à ce code de déclaration. Par example:

int a = java.lang.Math.max (2, 3)

Lorsqu’un programme le fait, le calcul réel demandé par le programmeur (ici, trouver le plus grand de deux entiers) est effectué par l’autre type de code dans l’API Java, le «code d’implémentation», qui est appelé via le code de déclaration .

Google souhaitait développer un système d’exploitation pour les téléphones intelligents. La raison était susceptible d’étendre considérablement ses activités de recherche et de publicité de base bien au-delà de sa plate-forme PC à l’époque. Ainsi, pour prendre un bon départ, il a acquis Android Inc. en 2005. Android Inc. développait le précurseur du système d’exploitation de téléphone Android actuel. Pour encourager des tiers à utiliser Android et à développer ces applications, le système d’exploitation Android était gratuit mais devait également offrir des moyens familiers de développer des applications. À cette époque, le langage Java et l’API étaient bien connus des développeurs. Peu de temps après l’acquisition d’Android Inc., Google a entamé des discussions avec Sun sur la possibilité d’accorder une licence à la plate-forme Java pour le nouveau système d’exploitation pour smartphone que Google était en train de créer. Les négociations entre Google et Sun ont échoué et Google a ensuite copié textuellement le code de déclaration de 37 packages d’API Java Java11 500 lignes de la version de l’époque de la plate-forme Java, Java Platform, Standard Edition (Java SE). Google a également copié la structure et la disposition de ces packages. Ces packages étaient ceux que «Google pensait que les programmeurs d’applications Java voudraient trouver» dans Android. Les lignes copiées fournissent effectivement une grande partie de l’API Java en tant qu’API dans la plate-forme Android.

Android est incompatible avec la plate-forme Java. Autrement dit, une application Android ne fonctionnerait pas sur une implémentation Java sur un autre système d’exploitation. Google a présenté l’API Java comme un argument de vente aux fabricants de matériel et aux opérateurs de téléphonie mobile (Qualcomm, LG, AT&T) – y compris les propres clients d’Oracle – vantant les «Bibliothèques Java Core», «l’API Java» et «Un cadre d’application Java puissant et simple». « 

Amazon a tiré parti de la disponibilité gratuite d’Android pour forcer Oracle à réduire ses frais de licence Java de 97,5%. Le logiciel Android est désormais la plus grande plate-forme pour les appareils mobiles (installée sur plus de 2,5 milliards d’appareils).

À la suite de son acquisition de Sun en 2010, Oracle a intenté une action contre Google pour violation de droits d’auteur et de brevet et a demandé 8,8 milliards de dollars de dommages-intérêts. Après que le Circuit fédéral a jugé que l’utilisation de Google n’était pas une utilisation équitable, Google a fait appel à la Cour suprême. La principale question en appel était de savoir si la copie par Google constituait une utilisation équitable autorisée de ce matériel.

La Cour suprême a supposé que les lignes copiées de Java SE pouvaient être protégées par des droits d’auteur et s’est uniquement prononcée sur la question de savoir si l’utilisation de ces lignes par Google était un usage loyal. La Cour a estimé que chacun des quatre facteurs d’utilisation équitable pesait en faveur de Google.

Le premier facteur concerne le but et le caractère de l’utilisation. La mise en œuvre par Google de l’API Java et l’utilisation du code Java SE visaient à créer de nouveaux produits, à étendre l’utilisation et l’utilité des smartphones basés sur Android. Google a copié l’API (qui a été créée pour être utilisée sur les ordinateurs de bureau et portables) uniquement dans la mesure nécessaire pour inclure des tâches qui seraient utiles pour les smartphones et utilisées uniquement dans la mesure nécessaire pour permettre aux programmeurs de faire appel à ces tâches avec un langage de programmation familier. L’utilisation de Google était ce que certains amici appellent la «réimplémentation», qui est définie comme «la construction d’un système… qui réutilise les mêmes mots et syntaxes» d’un système existant. Google a «réimplémenté» l’API Java afin que les programmeurs qui avaient appris un système existant puissent mettre leurs compétences de base à profit dans un nouveau. Si les étiquettes d’API changeaient, un développeur devrait apprendre un tout nouveau langage. Les parties de l’API Java que Google a réimplémentées ont contribué à préserver la cohérence au sein de la communauté de développeurs plus large. Permettre une utilisation raisonnable et équitable du code fonctionnel à cette fin permet une innovation qui crée de nouvelles opportunités pour le marché de se développer. Dans la mesure où Google a utilisé des parties de l’API Java pour créer une nouvelle plate-forme qui pourrait être facilement utilisée par les programmeurs, son utilisation était cohérente avec ce progrès créatif qui est l’objectif constitutionnel du droit d’auteur lui-même.

Le deuxième facteur se concentre sur la nature de l’œuvre protégée par le droit d’auteur. La Cour a fait une distinction entre la déclaration de code et le code de mise en œuvre en déclarant que la déclaration de code incarne un type de créativité différent de celui de la mise en œuvre de code. L’écriture de code d’implémentation nécessite des considérations d’équilibrage telles que «la rapidité avec laquelle un ordinateur peut exécuter une tâche ou la taille probable de la mémoire de l’ordinateur». «Un témoin a décrit cette créativité comme une« magie »pratiquée par un développeur d’API quand il ou elle s’inquiète« de choses comme la gestion de l’alimentation »pour des appareils qui« fonctionnent sur une batterie ».» Déclarer du code n’implique pas ce type de créativité. Cela remonte à la stratégie principale du créateur de Java SE, qui consistait à utiliser les idées incarnées dans l’API pour attirer les programmeurs. Ils voulaient attirer des programmeurs qui apprendraient le système, le développeraient davantage et hésiteraient à en utiliser un autre. Contrairement à de nombreux autres programmes, la valeur du code de déclaration provient en grande partie de ceux qui ne détiennent pas de droits d’auteur, à savoir les programmeurs informatiques, qui investissent leur temps et leurs efforts pour apprendre le système de l’API. Le système a été conçu pour être intuitif et compréhensible pour les développeurs tout en étant facile à retenir. Sa valeur réside dans ses efforts pour encourager les programmeurs à apprendre et à utiliser ce système afin qu’ils utilisent (et continuent à utiliser) des programmes de mise en œuvre liés à Java que Google n’a pas copiés. La Cour a également noté que la déclaration de l’utilisation du code est intrinsèquement liée aux idées non protégées par le droit d’auteur (division et organisation générale des tâches) et à la nouvelle expression créative protégée par le droit d’auteur (code de mise en œuvre d’Android). « [S]certaines œuvres sont plus proches du cœur de [copyright] que d’autres. » Le code de déclaration, s’il peut être protégé par le droit d’auteur, est plus éloigné du cœur du droit d’auteur que la plupart des programmes informatiques (comme le code d’implémentation). Par conséquent, ce facteur a pesé en faveur de Google et pour une utilisation équitable.

Le troisième facteur portait sur la quantité et le caractère substantiel de la portion utilisée. Google a copié 11 500 lignes de code, soit environ 0,4%, à partir du code informatique de l’API Java, qui contenait au total 2,86 millions de lignes de code. Mais une petite quantité de copie peut ne pas entrer dans le cadre de l’utilisation équitable lorsque la partie copiée est constituée du «cœur» de l’expression créative de l’œuvre originale. Le code de déclaration de l’API Java est indissociable des lignes d’implémentation de la tâche. Son but est de les appeler. Essentiellement, il est lié au cœur, mais ce n’est pas le cœur. Google n’a pas copié le code Java SE pour sa créativité, sa beauté ou «même (dans un sens) en raison de son objectif». Google a copié ces lignes parce que les programmeurs avaient déjà appris à travailler avec l’API Java, et Google voulait leur permettre d’utiliser leurs connaissances et leur expérience existantes en utilisant l’API Java lorsqu’ils ont écrit de nouveaux programmes pour la plate-forme Android. L’objectif fondamental de Google était de créer un système différent lié aux tâches pour un environnement informatique différent (smartphones) et de créer une plate-forme qui aiderait à atteindre et à vulgariser cet objectif. «Dans un sens, le code de déclaration était la clé dont il avait besoin pour libérer les énergies créatives des programmeurs.» «Le facteur de« caractère substantiel »pèsera généralement en faveur de l’utilisation équitable lorsque, comme ici, la quantité de copies était liée à un objectif valide et transformateur.» Par conséquent, ce facteur a pesé en faveur de Google et pour une utilisation équitable.

Le quatrième facteur concernait l’effet de l’utilisation sur le marché potentiel. La Cour a estimé que la plate-forme Android n’avait pas nui aux marchés réels ou potentiels de Java SE. La plate-forme Android de Google faisait partie d’un marché distinct et plus avancé que les logiciels de Java: le téléphone intelligent (Android) par rapport aux ordinateurs de bureau personnels (Java SE). Oracle n’aurait pas été en mesure d’entrer avec succès sur le marché des téléphones intelligents avancés, que Google ait copié ou non une partie de son code Java SE. Le marché principal de Java SE était les ordinateurs portables et les ordinateurs de bureau. Les nombreux efforts de Sun pour se lancer sur le marché de la téléphonie mobile se sont avérés infructueux. Dès 2006, avant la sortie d’Android, les dirigeants de Sun prévoyaient une baisse des revenus des téléphones mobiles en raison de la technologie émergente des smartphones. Lorsqu’on a demandé directement à l’ancien PDG de Sun si l’échec de Sun à construire un smartphone était attribuable au développement d’Android par Google, il a répondu que non. La source de la rentabilité d’Android a beaucoup à voir avec l’investissement de tiers (c’est-à-dire les programmeurs) dans la création d’applications à l’aide de l’API Java. Cela a moins à voir avec l’investissement de Sun dans la création du code Java SE qui a été copié. La Cour n’a trouvé aucune raison de croire que la Loi sur le droit d’auteur vise à protéger l’investissement des tiers dans l’apprentissage de la façon d’exploiter une œuvre créée. Par conséquent, ce facteur a pesé en faveur de Google et pour une utilisation équitable.

Quelques plats à emporter:

  1. Tous les logiciels ne sont pas créés égaux– certains bénéficieront d’une meilleure protection que d’autres.
  2. La déclaration du code est moins protégée contre la violation du droit d’auteur par rapport au code de mise en œuvre.
  3. La valeur du code peut changer avec le temps. Lorsqu’un nouveau code (par exemple, API, code de déclaration, etc.) arrive sur le marché, il peut être utile ou attirer des utilisateurs, en fonction de ses caractéristiques intrinsèques. Mais, avec le temps, les externalités (par exemple, les effets de réseau, la base d’utilisateurs installée, les compétences et l’expérience des programmeurs) peuvent rendre plus probable le succès d’une défense d’utilisation équitable.

La réimplémentation d’une API a une large place. L’avis de la Cour permet une large utilisation équitable des API et la déclaration de code dans d’autres applications. Pourquoi? Permettre le transfert de compétences acquises de longue date vers un nouvel environnement et la réutilisation de l’ancien code. Reste à savoir si la Cour aurait permis une utilisation équitable: si le code déclarant a été utilisé dans un produit directement concurrent de Java SE, ou si le code déclarant provenait d’une API fermée (Java est une API ouverte; il est publié et librement utilisable sous licence), ou si le code déclarant était de nature différente (par exemple, y avoir peut-être des choix «créatifs»).

[View source.]

Rate this post
Publicité
Article précédentMark Wahlberg montre un gain de poids spectaculaire pour un nouveau rôle au cinéma
Article suivantPratique avec une version entièrement tracée de Super Mario 64 • Fr.techtribune
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici