Fin juin 2022, Copilot était proposé dans le cadre d'une Preview technique sur invitation uniquement, promettant de faire gagner du temps en répondant au code des utilisateurs par ses propres suggestions intelligentes. Ces suggestions sont basées sur des milliards de lignes de code public dont les utilisateurs ont publiquement contribué à GitHub, en utilisant un système d'IA appelé Codex de la société de recherche OpenAI.
GitHub décrit Copilot comme l'équivalent IA de la « programmation en paire », dans laquelle deux développeurs travaillent ensemble sur un seul ordinateur. L'idée est qu'un développeur peut apporter de nouvelles idées ou repérer des problèmes que l'autre développeur aurait pu manquer, même si cela nécessite plus d'heures de travail.
Dans la pratique, cependant, Copilot est plutôt un outil utilitaire de gain de temps, qui intègre les ressources que les développeurs devraient autrement chercher ailleurs. Lorsque les utilisateurs saisissent des données dans Copilot, l'outil leur suggère des extraits de code à ajouter en cliquant sur un bouton. Ainsi, ils n'ont pas à passer du temps à chercher dans la documentation de l'API ou à rechercher des exemples de code sur des sites spécialisés.
Une plainte est lancée contre Microsoft, GitHub et OpenAI
Peu après le lancement de la Preview de Copilot en 2021, certains développeurs ont commencé à s'alarmer de l'utilisation d'un code public pour entraîner l'IA de l'outil. L'une des préoccupations est que si Copilot reproduit des parties suffisamment importantes du code existant, il puisse violer les droits d'auteur ou blanchir le code open source dans des utilisations commerciales sans licence appropriée. L'outil peut également recracher des informations personnelles que les développeurs ont publiées, et dans un cas, il a reproduit le code largement cité du jeu PC Quake III Arena de 1999, y compris le commentaire du développeur John Carmack.
L’utilisateur Hogan a aussi ajouté dans son fil de discussion : « Ce qui serait vraiment drôle, c'est que les gens qui maintiennent des dépôts populaires commençaient à mettre du mauvais code exprès ».
GitHub affirme que les dérapages de Copilot sont rares. Mais un autre utilisateur de Twitter, répondant au post de Ronacher, a écrit : « Et ici nous avons la preuve directe que GitHub reproduit directement un morceau de code sous GPL, ce qui prouve que c'est un outil vraiment dangereux à utiliser dans des environnements commerciaux ». Dans une autre réponse, on peut lire : « Lol, c'est du blanchiment de code… »
Selon Matthieu Butterick, qui porte les casquettes d'écrivain, designer, développeur et avocat, Copilot soulève des questions juridiques relatives à la fois à la formation du système et à l'utilisation du système.
Aussi, il s'est associé à des avocats plaideurs en recours collectif. Ensemble, ils ont enquêté sur une poursuite potentielle contre GitHub Copilot pour violation de ses obligations légales envers les auteurs open source et les utilisateurs finaux. Au terme de cette enquête lancée en octobre, ils ont déposé une plainte contre GitHub Copilot en novembre.
La plainte, déposée au nom de quatre plaignants non identifiés ("X"), affirme que Copilot a été formé sur du code publié publiquement d'une manière qui viole la loi sur le droit d'auteur et les exigences de licence de logiciel et qu'il présente le code d'autres personnes comme le sien.
Microsoft, GitHub et OpenAI ont tenté en vain de faire rejeter l'affaire
Microsoft, GitHub et OpenAI ont tenté de faire rejeter l'affaire, mais n'ont réussi qu'à se débarrasser de certaines des revendications. Le juge a laissé intacts les principaux problèmes de droit d'auteur et de licence, et a permis aux plaignants de déposer à nouveau plusieurs autres réclamations avec plus de détails.
La plainte modifiée (couvrant désormais huit chefs d'accusation au lieu de douze) retient les accusations de violation du Digital Millennium Copyright Act, de rupture de contrat (violations de licence open source), d'enrichissement déloyal et de concurrence déloyale.
Elle ajoute plusieurs autres allégations à la place de celles renvoyées pour révision*: rupture de contrat (vente de matériel sous licence en violation des politiques de GitHub), ingérence intentionnelle dans les relations économiques potentielles et ingérence par négligence dans les relations économiques potentielles.
La plainte révisée ajoute un autre demandeur "X" dont le code Copilot aurait reproduit. Et il comprend des exemples de code écrits par les plaignants que Copilot a soi-disant reproduits textuellement, mais uniquement pour le tribunal (les exemples de code ont été expurgés afin d'empêcher l'identification des plaignants).
Le juge chargé de l'affaire a autorisé les plaignants à rester anonymes dans les dossiers judiciaires en raison de menaces crédibles de violence dirigées contre leur avocat.
GitHub a introduit le filtre Copilot appelé « Suggestions correspondant au code public »
La plainte de jeudi indique qu'en juillet 2022, en réponse aux critiques publiques de Copilot, GitHub a introduit un filtre Copilot réglable par l'utilisateur appelé « Suggestions correspondant au code public » pour éviter de voir des suggestions de logiciels qui dupliquent le travail d'autres personnes.
Dans la documentation de GitHub, il est expliqué :
Envoyé par GitHub
En juillet 2022, en réponse aux critiques publiques concernant la mauvaise gestion par Copilot des matériaux sous licence, GitHub a introduit un filtre Copilot configurable par l'utilisateur appelé "Suggestions correspondant au code public". S'il est défini sur "bloquer", ce filtre prétend empêcher Copilot de suggérer des extraits textuels "d'environ 150*caractères" provenant de supports sous licence. Mais même en supposant que le filtre fonctionne comme annoncé, car il ne vérifie que des extraits textuels, il ne fait rien pour empêcher les sorties de Copilot qui sont des modifications des matériaux sous licence. Ainsi, en tant que moyen de respecter les droits des demandeurs et du groupe, il est essentiellement sans valeur.
Entre les mains de GitHub, la propension à de petites variations cosmétiques dans la sortie de Copilot est une fonctionnalité, pas un bogue. Ces petites variations cosmétiques signifient que GitHub peut fournir aux clients de Copilot des copies modifiées illimitées des matériaux sous licence sans jamais déclencher le filtre de code verbatim de Copilot. Les modèles d'IA comme Copilot ont souvent un paramètre appelé température qui contrôle spécifiquement la propension à la variation de leur sortie. Sur la base d'informations et de croyances, GitHub a optimisé le réglage de la température de Copilot pour produire de petites variations cosmétiques des matériaux sous licence aussi souvent que possible, afin que GitHub puisse fournir du code aux utilisateurs de Copilot qui fonctionne de la même manière que le code verbatim, tout en affirmant que Copilot uniquement produit du code verbatim 1 % du temps. Copilot est une méthode ingénieuse de piratage de logiciels.
Entre les mains de GitHub, la propension à de petites variations cosmétiques dans la sortie de Copilot est une fonctionnalité, pas un bogue. Ces petites variations cosmétiques signifient que GitHub peut fournir aux clients de Copilot des copies modifiées illimitées des matériaux sous licence sans jamais déclencher le filtre de code verbatim de Copilot. Les modèles d'IA comme Copilot ont souvent un paramètre appelé température qui contrôle spécifiquement la propension à la variation de leur sortie. Sur la base d'informations et de croyances, GitHub a optimisé le réglage de la température de Copilot pour produire de petites variations cosmétiques des matériaux sous licence aussi souvent que possible, afin que GitHub puisse fournir du code aux utilisateurs de Copilot qui fonctionne de la même manière que le code verbatim, tout en affirmant que Copilot uniquement produit du code verbatim 1 % du temps. Copilot est une méthode ingénieuse de piratage de logiciels.
« Nous croyons fermement que l'IA transformera la façon dont le monde construit des logiciels, entraînant une productivité accrue et, surtout, des développeurs plus heureux », a déclaré un porte-parole de la société. « Nous sommes convaincus que Copilot adhère aux lois applicables et nous nous sommes engagés à innover de manière responsable avec Copilot depuis le début. Nous continuerons à investir et à défendre l'expérience de développement du futur basée sur l'IA ».
Sources : plainte, GitHub
Et vous ?
Que pensez-vous de GitHub Copilot et de son impact sur le développement logiciel ?
Avez-vous déjà utilisé GitHub Copilot ou un outil similaire ? Si oui, quelle a été votre expérience ?
Comment GitHub pourrait-il améliorer Copilot pour le rendre plus respectueux des droits d’auteur et des licences ?
Que pensez-vous des allégations des développeurs sur l'objectif derrière les variations de sorties de Copilot ?