Une interface de programmation d'application est le ciment qui unit les systèmes logiciels complexes. Jusqu'en 2014, il était largement admis que personne ne pouvait utiliser la loi sur le droit d'auteur pour restreindre l'utilisation des API : une perspective qui a favorisé l'interopérabilité des logiciels.
Puis, en 2014, le Federal Circuit Appeals Court a rendu une décision explosive en décidant le contraire. Pour le contexte, Oracle avait poursuivi Google, arguant que Google avait violé les droits d'auteur d'Oracle en ré-implémentant des API à partir du langage de programmation Java. Depuis, l'affaire fait son chemin devant les tribunaux, le Federal Circuit Appeals Court étant parvenu à une deuxième décision controversée en 2018.
« L'approche du Federal Circuit va bouleverser l'attente de longue date des développeurs de logiciels selon laquelle ils sont libres d'utiliser les interfaces logicielles existantes pour créer de nouveaux programmes informatiques », a écrit Google dans sa pétition de 2019 demandant à la Cour suprême d'entendre l'affaire.
James Grimmelmann, spécialiste du droit d'auteur à l'Université Cornell et ancien développeur de logiciels, est d'accord avec cela. « La décision du Circuit fédéral menace la vitalité continue de l'innovation logicielle », a-t-il déclaré en 2019.
Si les API peuvent être restreintes par le droit d'auteur, alors chaque programme informatique important pourrait être un véritable champ de mines prêtes à exploser devant les tribunaux. Grimmelmann prévient que les droits d'auteur d'API pourraient facilement donner lieu à des trolls d'API : les entreprises qui acquièrent les droits d'auteur d'anciens logiciels, puis poursuivent les entreprises qui ont construit leur logiciel en utilisant ce qu'elles supposaient être des normes ouvertes. Les droits d'auteur des API pourraient également entraver l'interopérabilité entre les plateformes logicielles, car les entreprises seront obligées de créer leurs logiciels en utilisant des normes délibérément incompatibles pour éviter des tracasseries juridiques.
Les éditeurs de logiciels et les groupes de droits numériques ont présenté ces arguments au Federal Circuit à deux reprises (une fois en 2014 et de nouveau en 2018) sans succès. Aujourd’hui, les avocats de Google auront l'occasion de persuader la Cour suprême que le Federal Circuit s'est trompé. Les enjeux sont importants, à la fois pour Google et Oracle en particulier, mais également pour l'industrie du logiciel au sens large.
Google évoque un cas des années 1990 concernant les menus de feuilles de calcul
Le Federal Circuit a rendu deux décisions majeures dans la bataille juridique de Google avec Oracle, et il s'est rangé du côté d'Oracle à deux reprises. Dans la première décision, le Federal Circuit a annulé une décision de jugement selon laquelle les API ne pouvaient pas être protégées par le droit d'auteur. L'affaire a ensuite été renvoyée au tribunal de première instance pour décider si l'utilisation de l'API par Google était autorisée par un usage loyal.
Le tribunal de première instance (sous la direction du même juge averti en technologie qui avait précédemment statué que les API ne devraient pas du tout être protégées par des droits d'auteur) a décidé que l'utilisation de Google était équitable. Oracle a fait appel et, en 2018, le Federal Circuit s'est de nouveau rangé du côté d'Oracle, décidant que l'utilisation de Google n'était pas juste.
Un principe fondamental de la législation sur le droit d’auteur est que la protection des œuvres de création ne s’étend à aucune « idée, procédure, processus, système, méthode de fonctionnement » contenu dans l’œuvre. C'est la raison, par exemple, pour laquelle les agences de presse sont libres de se rapporter mutuellement. Pour être plus précis, le texte d'un article de presse est protégé par le droit d'auteur, mais n'importe qui est libre de décrire l'information contenue dans un article de presse dans ses propres mots.
Cette ligne entre une idée et son expression est particulièrement cruciale pour les logiciels. L'un des cas les plus importants en l'espèce était Lotus c. Borland. Au début des années 1990, Lotus a poursuivi Borland, accusant la société d'avoir déchiré la structure des menus du logiciel de feuille de calcul Lotus 1-2-3 dans le propre tableur Quattro de Borland.
Transition vers Quattro
Pour aider les utilisateurs expérimentés de Lotus 1-2-3 à faire la transition vers Quattro, Borland avait inclus une interface d'émulation Lotus (une version du logiciel qui dupliquait précisément la structure de menu de Lotus 1-2-3). Lotus a soutenu que cette copie servile violait ses droits d'auteur, et le tribunal de première instance a rendu un verdict en sa faveur.
Mais la Cour d'appel du premier circuit n'était pas d'accord. Dans une décision historique de 1995, la cour d'appel s'est rangée du côté de Borland, jugeant que la structure des menus Lotus était une « méthode de fonctionnement » (et donc en dehors de la protection du droit d'auteur).
« Nous pensons que le "mode de fonctionnement" fait référence aux moyens par lesquels une personne fait fonctionner quelque chose, que ce soit une voiture, un robot culinaire ou un ordinateur », a estimé le tribunal. « La hiérarchie des commandes de menu Lotus fournit les moyens par lesquels les utilisateurs contrôlent et utilisent Lotus 1-2-3 ».
Notamment, la hiérarchie des menus n'était pas seulement l'interface utilisateur de Lotus 1-2-3; c'était une API primitive à part entière. Lotus 1-2-3 permettait aux fonctions de menu d'être appelées à l'aide des raccourcis clavier de ses menus. Une séquence de touches peut être enregistrée sous forme de macro, essentiellement un simple programme informatique. La duplication de la hiérarchie des menus Lotus 1-2-3 permettait aux utilisateurs d'utiliser leurs anciennes macros Lotus 1-2-3 sur Quattro sans modification.
Google fait valoir que la logique de la décision Lotus de la Cour d'appel du premier circuit peut être appliquée directement à son différend avec Oracle. Selon Google, les appels d'API Java sont des « méthodes de fonctionnement » pour la plateforme Java exactement de la même manière que les éléments de menu de Lotus 1-2-3 étaient des méthodes de fonctionnement pour le logiciel de tableur.
Le problème pour Google est que toutes les cours d'appel n'ont pas suivi l'approche du premier circuit dans l’affaire Lotus. La Cour suprême a en fait accepté d'entendre un appel de la décision Lotus dans les années 1990, mais, avec un juge absent de l'affaire, l’affaire a été bloquée en Haute Cour (quatre juges penchaient en faveur de Lotus et quatre juges penchaient en la faveur de Quatro). Un résultat qui a permis de faire prévaloir la décision de la cour inférieure, mais qui n’était pas suffisant pour rendre la décision contraignante pour les autres cours d'appel. Depuis lors, d'autres cours d'appel ont développé des approches différentes qui ne sont pas forcément bien alignées avec le précédent Lotus.
Les API protégées par des droits d'auteur pourraient provoquer le chaos dans l'industrie du logiciel
Bien que les tribunaux n'aient pas été unanimes sur la meilleure façon d'appliquer la loi sur le droit d'auteur aux API (et ne l’étaient d’ailleurs pas avant les premières décisions dans l’affaire opposant Oracle à Google), les pratiques de l'industrie du logiciel étaient assez bien établies avant que le Federal Circuit ne soit impliqué. Cela signifie que les enjeux de cette affaire sont assez élevés. Si le raisonnement du Federal Circuit est maintenu, il pourrait forcer des changements dramatiques dans la façon dont l'industrie du logiciel est organisée.
Il est courant que les développeurs de logiciels clonent les fonctionnalités des plateformes et des normes logicielles établies afin de s'assurer que leurs nouveaux produits sont compatibles avec ce qui existe déjà. Parfois, ce logiciel compatible est ensuite emballé dans des bibliothèques open source qui deviennent libres d'utilisation par d'autres, et il peut être combiné avec d'autres programmes pour produire des progiciels plus volumineux. Parce qu'il a été largement admis que les API ne peuvent pas être protégées par des droits d'auteur (ou du moins que les droits d'auteur ne sont pas susceptibles d'être appliqués) les entreprises ne se soucient pas d'utiliser des bibliothèques qui tirent parti d'API tierces qui pourraient appartenir à quelqu'un d'autre .
Les décisions Oracle du Federal Circuit signifient qu'il peut y avoir beaucoup de logiciels qui sont soudainement vulnérables aux réclamations pour violation de droits d'auteur parce qu'ils implémentent des API produites par des tiers.
Grimmelmann note que cela pourrait être un problème particulièrement grave dans le monde du cloud computing. « Si vous avez construit un service cloud, que dles gens ont écrit des clients et qu’un individu déclare 'nous détenons un droit d'auteur sur le rassemblement des arguments de cette fonction de cette façon', vous êtes foutu », a-t-il déclaré en 2019. « Vous ne pouvez pas changer cette API sans perdre de clients. Les possibilités de hold-up sont immenses ».
À long terme, soumettre les API à des restrictions de droits d'auteur pourrait également conduire à une balkanisation des normes logicielles. Méfiant à adopter des API appartenant à des rivaux, les entreprises seront plus susceptibles de développer leurs propres versions incompatibles de normes clés. Un amicus curiae déposé devant la Cour en 2018 par trois groupes de l'industrie du logiciel (Engine, App Alliance et GitHub) souligne que cela pourrait être particulièrement préjudiciable aux petits éditeurs de logiciels qui n'ont pas les ressources pour réimplémenter leurs produits en utilisant plusieurs normes incompatibles.
Et l'amicus curiae de 2018 de la Computer and Communications Industry Association souligne que cela pourrait également devenir un fardeau important pour la profession du développement de logiciels. Maîtriser un langage tel que Java nécessite beaucoup de temps et d'efforts. CCIA souligne qu'en essayant d'empêcher les implémentations indépendantes de Java, Oracle limite essentiellement les opportunités pour les développeurs Java. « Il est difficile de voir pourquoi les développeurs qui ont appris les API Java devraient rester captifs d'Oracle en raison d'un investissement dans l'apprentissage effectué par les développeurs et non par Oracle », a écrit CCIA.
Supreme court of the United States : Google v. Oracle America
Source : Cour suprême, Google