IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

API Java : Google bat Oracle devant la Cour suprême
Qui estime que Google pouvait légalement utiliser des éléments de l'API Java d'Oracle lors de la création d'Android

Le , par Stéphane le calme

101PARTAGES

16  0 
Dans une décision rendue lundi, la Cour suprême a estimé que Google pouvait légalement utiliser des éléments du code d’interface de programmation d’applications (API) Java d’Oracle lors de la création d’Android. « La copie par Google de l'API pour réimplémenter une interface utilisateur, en ne prenant que ce qui était nécessaire pour permettre aux utilisateurs de mettre leurs talents accumulés au service d'un nouveau programme transformateur, constituait une utilisation équitable de ce matériel », a statué la Cour suprême dans un avis à 6 contre 2, une juge (Amy Coney Barrett) n’ayant pas pris part à la décision. Elle a annulé une décision fédérale antérieure, qui a conclu que l'utilisation de l'API par Google avait constitué une contrefaçon.

La haute cour entendait des plaidoiries dans le cadre de la bataille juridique de Google avec Oracle, qui a déjà duré dix ans. Oracle fait valoir que Google a enfreint ses droits d'auteur sur le langage de programmation Java lors de la réimplémentation des API Java à l'usage des développeurs d'applications Android.

Les enjeux de cette affaire sont importants pour Google, qui pourrait devoir à Oracle des milliards de dollars de dommages et intérêts. Plus important encore, une victoire d'Oracle pourrait remodeler la façon dont la loi sur le droit d'auteur traite les API, donnant aux titulaires le pouvoir de verrouiller les concurrents qui souhaitent créer des logiciels compatibles.

Pendant des décennies avant le procès d'Oracle, la plupart des gens de l'industrie du logiciel supposaient que les API ne pouvaient pas être protégées par le droit d'auteur. Cela signifiait qu'un éditeur de logiciels pouvait réimplémenter les API du produit d'un concurrent afin de permettre à un logiciel, conçu pour fonctionner avec le produit du concurrent, de fonctionner avec le sien.

Une victoire pour Oracle remettrait ce mécanisme en question. Elle ne générerait pas seulement du travail supplémentaire pour les juristes du droit d'auteur, mais elle pourrait conduire à un monde où les problèmes de compatibilité des logiciels surgissent plus souvent dans la vie quotidienne. Elle serait également susceptible d'affecter directement les moyens de subsistance des développeurs, qui pourraient se trouver être plus fréquemment obligés d'apprendre de nouveaux langages de programmation ou d’apprendre à utiliser d'autres outils logiciels lorsqu'ils changent d'emploi.

Oracle contre Google

Au milieu des années 2000, Google savait qu'il aurait besoin de beaucoup de développeurs pour créer des applications pour sa prochaine plateforme Android. Pour accélérer le processus, Google a réimplémenté le langage de programmation Java plutôt que de développer un nouveau langage de programmation à partir de zéro. Google a écrit un nouveau code pour exécuter des programmes Java selon les spécifications exactes du logiciel Java officiel de Sun (Oracle a par la suite acquis Sun). Cela a permis à des milliers de développeurs Java existants de devenir des développeurs Android sans avoir à apprendre un nouveau langage.

Pour réimplémenter Java, Google avait besoin de copier les noms et les types d'arguments de fonctions telles que java.lang.Math.max. Sinon, un programme Java utilisant ces fonctions ne fonctionnerait pas sur le système d'exploitation de Google. L'article 102 (b) de la Loi sur le droit d'auteur stipule que personne ne peut protéger « une idée, une procédure, un processus, un système, une méthode de fonctionnement, un concept, un principe ou une découverte ». Google a conclu que des fonctions comme Math.max sont des « méthodes de fonctionnement », car les développeurs « exploitent » la plateforme Java en les invoquant. Par conséquent, Google n'a pas payé de licence à Sun, ce qui a conduit à un procès quelques années plus tard.

C'est une pratique répandue dans l'industrie du logiciel. Oracle, par exemple, a réimplémenté l'API S3 d'Amazon afin que les clients qui ont créé des logiciels pour la plateforme cloud d'Amazon puissent facilement passer à la plateforme cloud rivale d'Oracle.

La stratégie d'Oracle tout au long de la bataille juridique, déjà vieille d’une décennie, a été essentiellement de nier qu'il y a quelque chose de spécial dans les API. Selon Oracle, une spécification d'API (essentiellement juste une liste de noms de fonctions et de types d'arguments) est un code informatique qui peut être protégé par copyright comme n'importe quel autre code. Oracle affirme que si les tribunaux suppriment les spécifications API de la protection des droits d'auteur, les avocats pourraient utiliser les mêmes arguments pour affaiblir la protection des droits d'auteur de tout programme informatique.


La décision de la Cour suprême

La justice a estimé que les API, qui permettent aux développeurs d’accéder à d’autres codes, sont très différentes des autres types de programmes informatiques. « Dans le cadre d'une interface, les lignes copiées sont intrinsèquement liées à des idées non protégées par le droit d'auteur ... et à la création d'une nouvelle expression créative », a indiqué le juge Stephen Breyer dans son avis. Contrairement à de nombreux autres programmes informatiques, précise Breyer, une grande partie de la valeur des lignes copiées provenait de l’investissement des développeurs dans l’écosystème, plutôt que des opérations réelles du programme. Google a utilisé l'API pour permettre aux développeurs Java de créer des applications Android, ce que le tribunal a déclaré être une utilisation fondamentalement transformatrice.

« Google n'a copié que ce qui était nécessaire pour permettre aux développeurs de travailler dans un environnement informatique différent sans abandonner une partie d'un langage de programmation familier. L'objectif 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 plateforme – la plateforme Android – qui aiderait à atteindre et à vulgariser cet objectif ».

La décision est censée être spécifiquement axée sur les API en tant que catégorie. « Nous n'annulons ni ne modifions nos cas antérieurs impliquant une utilisation équitable – des cas, par exemple, qui impliquent des produits "imitation", des écrits journalistiques et des parodies », écrit Breyer. La décision dépend en grande partie de la manière dont le code API permet une nouvelle expression créative, ce que la doctrine de l'utilisation équitable est censée promouvoir. « Le résultat, à notre avis, est que l'utilisation loyale peut jouer un rôle important dans la détermination de la portée légale du droit d'auteur d'un programme informatique. »

Dans la dissidence, le juge Clarence Thomas a soutenu que le tribunal créait une distinction intenable entre la mise en œuvre du code (qui avait été établi comme assujetti au droit d'auteur dans une décision antérieure) et sa déclaration.

« Le Congrès a rejeté les distinctions catégoriques entre la déclaration et la mise en œuvre du code », a écrit Thomas. « Mais la majorité crée une telle distinction. Le résultat de cette analyse déformante est une opinion qui rend difficile d’imaginer toute circonstance dans laquelle le code de déclaration restera protégé par le droit d’auteur. »

Google et Oracle se disputent l'interopérabilité Java d'Android depuis plus de 10 ans maintenant, ce qui a donné lieu à trois procès et deux appels distincts. L'incarnation actuelle de l'affaire consiste à déterminer si Oracle peut appliquer ses droits d'auteur sur environ 11 500 lignes dans la base de code d'Android, représentant 37 API distinctes. Google a développé les API indépendamment, mais elles sont clairement basées sur des API équivalentes dans le code Java, conçues pour imiter et interagir avec le langage séparé. Oracle affirme que « la structure, la séquence et l'organisation » des API Android sont si similaires qu'elles enfreignent les droits d'auteur d'Oracle sur le code Java.

En 2014, une cour d'appel fédérale a statué que les API pouvaient être soumises au droit d'auteur dans une décision controversée annulant une décision du juge William Alsup (la Cour suprême a refusé d'entendre l'appel de Google l'année suivante). Mais cette décision laissait ouverte la question de savoir si la mise en œuvre de Google avait violé le droit d'auteur de Java. Un deuxième procès a alors eu lieu et Google a fait valoir que les API Android constituaient une utilisation équitable. En 2018, la même cour d'appel a jugé que la mise en œuvre de Google n'était pas une utilisation équitable, exposant l'entreprise à un paiement potentiel de dommages-intérêts de 8,8 milliards de dollars. La décision d'aujourd'hui annule cette conclusion, permettant à Google de continuer à utiliser le code Android sans menace de réclamation pour atteinte aux droits d'auteur.

Pour mémoire, le solliciteur général du président Trump de l'époque avait officiellement demandé à la Cour suprême de laisser la décision d'appel en place, se rangeant effectivement du côté d'Oracle dans la lutte.

Des arguments oraux en faveur de l'affaire de la Cour suprême ont eu lieu en octobre, tournant sur une variété de métaphores fleuries de ce que représentaient les API. Dans un échange, Breyer a comparé les revendications d'API d'Oracle à la possession d'un droit d'auteur sur le clavier QWERTY. « Si vous laissez quelqu'un avoir un droit d'auteur là-dessus maintenant, il contrôlerait toutes les machines à écrire », a noté Breyer, « ce qui n'a vraiment rien à voir avec le droit d'auteur. »

Les réactions

Kent Walker, vice-président directeur des affaires mondiales de Google, a salué cette décision. « La décision claire de la Cour suprême est une victoire pour les consommateurs, l’interopérabilité et l’informatique. La décision donne une sécurité juridique à la prochaine génération de développeurs dont les nouveaux produits et services profiteront aux consommateurs », a déclaré Walker. « Nous sommes très reconnaissants du soutien d’un large éventail d’organisations, de la National Consumers League à l’American Library Association, ainsi que d’entreprises établies, de start-ups et des principaux ingénieurs en logiciel et spécialistes du droit d’auteur du pays. »

Oracle, quant à lui, en a profité pour critiquer la domination de Google dans l'espace technologique. « La plateforme Google vient de s'agrandir et de gagner en puissance sur le marché – les barrières à l'entrée sont plus élevées et la capacité de concurrencer plus faible. Ils ont volé Java et ont passé une décennie à plaider comme seul un monopoleur peut le faire. Ce comportement est exactement la raison pour laquelle les autorités réglementaires du monde entier et des États-Unis examinent les pratiques commerciales de Google », a déclaré Dorian Daley, avocat général et vice-président exécutif.

Source : décision de justice

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de marsupial
Expert confirmé https://www.developpez.com
Le 06/04/2021 à 13:17
10 ans et 6 procès plus tard, on en revient à la situation initiale et qui dure depuis des décennies. A savoir que les API sont soumises au fair use et ne sont monnayables que par des brevets. Il n'y a qu'Oracle pour intenter des procédures aussi longues...
8  0 
Avatar de Axel Mattauch
Membre régulier https://www.developpez.com
Le 06/04/2021 à 16:55
Des arguments oraux en faveur de l'affaire de la Cour suprême ont eu lieu en octobre, tournant sur une variété de métaphores fleuries de ce que représentaient les API. Dans un échange, Breyer a comparé les revendications d'API d'Oracle à la possession d'un droit d'auteur sur le clavier QWERTY. « Si vous laissez quelqu'un avoir un droit d'auteur là-dessus maintenant, il contrôlerait toutes les machines à écrire », a noté Breyer, « ce qui n'a vraiment rien à voir avec le droit d'auteur. »

Très bonne comparaison.
2  0 
Avatar de egann538
Membre actif https://www.developpez.com
Le 07/04/2021 à 12:24
Citation Envoyé par AoCannaille Voir le message
A la rigueur Un p'tit tool par ci par là, développé à l'arrache par un dev qui voulait gagner du temps...
Alors on se demande vraiment ce que Java fait en 2ème position du classement Tiobe (avril 2021)...
2  0 
Avatar de AoCannaille
Membre expert https://www.developpez.com
Le 07/04/2021 à 11:15
Citation Envoyé par darklinux Voir le message
On peut légitiment pensé que lorsque Oracle a racheté Sun , c ' étais avant tout pour créer un impôt Java , mais en dix ans , les technologies ont évolué , python , PHP , Javascript peuvent faire le travail de J2EE .Je ne serais pas étonné de l ' abandon en rase campagne de Java
Java ne sert pas que pour le web hein ^^ Enfin ceci dit, le dernier nouveau projet java que j'ai croisé dans l'industrie avait commencé en 2011, depuis, plus rien... alors que les boites que je croisaient ne parlaient que de ça...

A la rigueur Un p'tit tool par ci par là, développé à l'arrache par un dev qui voulait gagner du temps...
1  0 
Avatar de egann538
Membre actif https://www.developpez.com
Le 07/04/2021 à 21:47
Citation Envoyé par AoCannaille Voir le message
Java a selon moi le même futur que le Cobol: une lente agonie et une stabilisation pour les industries qui ont trop d'inertie pour changer.
L'avenir nous le dira... Java est un langage vivant qui évolue bien je trouve. Il n'y a qu'à regarder ce qui se fait sur GraalVM, l'asynchrone et les microservices pour le constater. Pour ma part, c'est le langage vers lequel je me tourne dès qu'il s'agit de développer une application un peu complexe, en tout cas pour le côté backend (à côté de ça je connais surtout Python et Typescript).
1  0 
Avatar de marc.collin
Membre expérimenté https://www.developpez.com
Le 08/04/2021 à 3:20
Citation Envoyé par AoCannaille Voir le message
Java ne sert pas que pour le web hein ^^ Enfin ceci dit, le dernier nouveau projet java que j'ai croisé dans l'industrie avait commencé en 2011, depuis, plus rien... alors que les boites que je croisaient ne parlaient que de ça...

A la rigueur Un p'tit tool par ci par là, développé à l'arrache par un dev qui voulait gagner du temps...
ça fait 16 ans que je développe des applications from scratch en java.... en moyenne plusieurs centaines de milliers de ligne........
1  0 
Avatar de professeur shadoko
Membre chevronné https://www.developpez.com
Le 08/04/2021 à 9:35
Citation Envoyé par AoCannaille Voir le message

. Java a selon moi le même futur que le Cobol: une lente agonie et une stabilisation pour les industries qui ont trop d'inertie pour changer.
Tous les langages jusqu'à présent ont eu un cycle de vie: montée en puissance puis lente décroissance.
Il y a une raison interne à cela : les paradigmes progressent et les langages tentent de les intégrer (phénomène connu en Anglais sous le nom "Acute featuritis" jusqu'à ce que le langage souffre de son propre poids et d'autres langages présentent des compromis d'approche plus séduisants. Un exemple frappant en Java est l'introduction de la modularité: c'est très bien mais ça gonfle les développeurs car certains effets sont surprenants et difficiles à gérer.
Il serait inutile de rentrer dans la traditionnelle guerre de religion entre langages : tous les autres outils souffrent du même phénomène (pour ne fâcher personne je ne citerai pas les exemples flagrants avec les autres langages: la "MachinTrucChosite aiguë" frappe partout ).
(note : ce que j'aimerai c'est un langage par paradigme + interoperabilité : en fait j'ai toujours opéré comme ça dans des gros projets)
1  0 
Avatar de Ryu2000
Membre extrêmement actif https://www.developpez.com
Le 08/04/2021 à 9:50
Citation Envoyé par professeur shadoko Voir le message
Tous les langages jusqu'à présent ont eu un cycle de vie: montée en puissance puis lente décroissance.
Bof. Le C est là depuis très longtemps et parfois il regagne de la popularité. Ce genre de phénomène pourrait arriver à Java.
Java reste un langage très populaire, il n'est pas prêt de disparaitre. Il ne va peut-être rester dans le top éternellement, mais il ne va pas disparaitre instantanément non plus.
1  0 
Avatar de 23JFK
Membre émérite https://www.developpez.com
Le 08/04/2021 à 1:10
La seule chose qui peut tuer java (et un langage en général), c'est la complexification syntaxique à outrance pour faire soi-disant "moderne". Cobol existe toujours parce que son code est figé et n'évoluera plus jamais ce qui fait qu'un code écrit il y a 50 ans demeure parfaitement exécutable en 2021 et donc sans raison d'être révisé et/ou porté dans un autre langage à l'avenir incertain.
0  0 
Avatar de darklinux
Membre extrêmement actif https://www.developpez.com
Le 08/04/2021 à 2:39
Citation Envoyé par AoCannaille Voir le message
Java ne sert pas que pour le web hein ^^ Enfin ceci dit, le dernier nouveau projet java que j'ai croisé dans l'industrie avait commencé en 2011, depuis, plus rien... alors que les boites que je croisaient ne parlaient que de ça...

A la rigueur Un p'tit tool par ci par là, développé à l'arrache par un dev qui voulait gagner du temps...
Tout est Internet depuis l ' utilisation des technologies internet en entreprises . Oui , Java " temps réel" , en parti conçut pour ça , mais tu as C++ , kui lui est normé et recommandé . Sun/Oracle n ' a jamais voulu en faire une norme
0  0