GitHub Copilot, qu'est-ce que c'est ?
Copilot a été lancé en fin juin 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.
Un réseau neuronal dans GitHub Copilot est entraîné à l'aide de volumes massifs de données, constituées du code : des millions de lignes téléchargées par les 65 millions d'utilisateurs de GitHub, la plus grande plateforme au monde permettant aux développeurs de collaborer et de partager leur travail. Le but est que Copilot en apprenne suffisamment sur les modèles de code pour pouvoir faire du hacking lui-même. Il peut prendre le code incomplet d'un partenaire humain et terminer le travail en ajout les parties manquantes. Dans la plupart des cas, il semble réussir à le faire. GitHub prévoit de vendre l'accès à l'outil aux développeurs.
Comme pour la plupart des outils d'IA, GitHub souhaite également que Copilot devienne plus intelligent au fil du temps en fonction des données qu'il collecte auprès des utilisateurs. Lorsque les utilisateurs acceptent ou rejettent les suggestions de Copilot, son modèle d'apprentissage automatique utilisera ce retour d'information pour améliorer les suggestions futures, de sorte que l'outil deviendra peut-être plus humain à mesure qu'il apprendra.
Envoyé par Matthieu Butterick
Selon Matthieu Butterick, Copilot soulève des questions juridiques relatives à la fois à la formation du système et à l'utilisation du système. Ce qui suit est extrait de son billet à ce sujet.
Sur la formation du système
La grande majorité des progiciels open source sont publiés sous des licences qui accordent aux utilisateurs certains droits et imposent certaines obligations (par exemple, en préservant l'attribution précise du code source). Ces licences sont rendues possibles légalement par les auteurs de logiciels faisant valoir leur droit d'auteur sur leur code.
Ainsi, ceux qui souhaitent utiliser des logiciels open source ont le choix. Ils doivent soit :
- respecter les obligations imposées par la licence, ou
- utiliser le code sous réserve d'une exception de licence, par exemple, l'utilisation équitable en vertu de la loi sur le droit d'auteur.
Microsoft et OpenAI ont reconnu que Copilot & Codex sont formés sur des logiciels open source dans des dépôts publics sur GitHub. Alors quel choix ont-ils fait ?
Si Microsoft et OpenAI avaient choisi d'utiliser ces référentiels sous réserve de leurs licences open source respectives, Microsoft et OpenAI auraient dû publier de nombreuses attributions, car il s'agit d'une exigence minimale de presque toutes les licences open source. Pourtant, aucune attribution n'est apparente.
Par conséquent, Microsoft et OpenAI doivent s'appuyer sur un argument d'utilisation équitable. En fait, nous savons que c'est le cas, car l'ancien PDG de GitHub, Nat Friedman, a affirmé lors de la Preview technique de Copilot que « la formation des systèmes [d'apprentissage automatique] sur les données publiques est une utilisation équitable ».
Eh bien, n'est-ce pas ? La réponse n'est pas une question d'opinion; c'est une question de droit. Naturellement, Microsoft, OpenAI et d'autres chercheurs ont promu l'argument de l'utilisation équitable. Nat Friedman a en outre affirmé qu'il existe une « jurisprudence » sur l'utilisation équitable qui est « largement invoquée par la communauté de l'apprentissage automatique ». Mais la Software Freedom Conservancy n'était pas d'accord et a pressé Microsoft d'obtenir des preuves pour étayer sa position. Selon le directeur de la SFC, Bradley Kuhn :
« Nous nous sommes renseignés en privé auprès de Friedman et d'autres représentants de Microsoft et de GitHub en juin 2021, demandant de solides références juridiques pour les positions juridiques publiques de GitHub… Ils n'en ont fourni aucune ».
Pourquoi Microsoft n'a-t-elle pu produire aucune autorité légale pour sa position ? Parce que ma SFC a raison : il n'y en a pas. Bien que certains tribunaux aient examiné des questions connexes, il n'existe aucune affaire américaine résolvant carrément les ramifications de l'utilisation équitable de la formation à l'IA.
De plus, les cas qui tournent autour de l'utilisation équitable équilibrent plusieurs facteurs. Même si un tribunal décide finalement que certains types de formation à l'IA sont une utilisation équitable (ce qui semble possible) il peut également en exclure d'autres. À ce jour, nous n'avons aucune idée de la position de Copilot ou de Codex sur ce spectre. Ni celle de Microsoft, encore moins de l'OpenAI.
Sur l'utilisation du système
Nous ne pouvons pas encore dire comment l'utilisation équitable finira par être appliquée à la formation à l'IA. Mais nous savons que la recherche n'affectera pas du tout les utilisateurs de Copilot. Pourquoi ? Parce qu'ils utilisent simplement Copilot pour émettre du code. Alors, quel est le statut du droit d'auteur et de la licence de ce code émis ?
Ici encore, nous constatons que Microsoft devient indulgente. En 2021, Nat Friedman a affirmé que « la sortie de Copilot appartient à l'opérateur, tout comme avec un compilateur ». Mais c'est une analogie malicieuse, car Copilot tend de nouveaux pièges aux imprudents.
Microsoft caractérise la sortie de Copilot comme une série de « suggestions » de code. Microsoft « ne revendique aucun droit » sur ces suggestions. Mais Microsoft ne garantit pas non plus l'exactitude, la sécurité ou l'atténuation des enchevêtrements de propriété intellectuelle du code ainsi produit. Une fois que vous avez accepté une suggestion Copilot, tout cela devient votre problème :
« Vous êtes responsable d'assurer la sécurité et la qualité de votre code. Nous vous recommandons de prendre les mêmes précautions lors de l'utilisation du code généré par GitHub Copilot que lorsque vous utilisez un code que vous n'avez pas écrit vous-même. Ces précautions comprennent des tests rigoureux, une analyse IP [(= propriété intellectuelle)] et un suivi des vulnérabilités de sécurité ».
Quels enchevêtrements pourraient survenir ? Les utilisateurs de Copilot ont montré que Copilot peut être amené à émettre du code verbatim à partir de référentiels identifiables. Pas plus tard que cette semaine, le professeur Texas A&M, Tim Davis, a donné de nombreux exemples de gros morceaux de son code copiés textuellement par Copilot, y compris lorsqu'il a invité Copilot avec le commentaire /* sparse matrix transpose in the style of Tim Davis */L'utilisation de ce code crée clairement une obligation de se conformer à sa licence. Mais comme effet secondaire de la conception de Copilot, les informations sur l'origine du code (auteur, licence, etc.) sont supprimées. Comment les utilisateurs de Copilot peuvent-ils se conformer à la licence s'ils ne savent même pas qu'elle existe ?
Les méthodes de récupération de code astucieuses de Copilot sont un écran de fumée destiné à dissimuler une vérité crasseuse : Copilot n'est qu'une interface alternative pratique à un vaste corpus de code open source. Par conséquent, les utilisateurs de Copilot peuvent encourir des obligations de licence envers les auteurs du code sous-jacent. Dans ce contexte, l'affirmation de Nat Friedman selon laquelle Copilot fonctionne « comme... un compilateur » est plutôt douteuse - les compilateurs changent la forme du code, mais ils n'injectent pas de nouveaux enchevêtrements de propriété intellectuelle. Pour être juste, Microsoft ne conteste pas vraiment cela. L'entreprise le cache juste en l'écrivant en petits caractères.
Que signifie Copilot pour les communautés open source ?
Envoyé par Matthieu Butterick
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… »
Source : Matthew Butterick
Et vous ?
Que pensez-vous de Copilot ?
Partagez-vous les appréhensions de Matthew Butterick concernant l'utilisation du code open source de Copilot qui ne prend pas en considération les licences ?
Comprenez-vous sa démarche visant à porter plainte ? A-t-elle, selon vous, des chances d'aboutir ?
Voir aussi :
GitHub Copilot, l'assistant de programmation basé sur l'IA, sous le feu des critiques, un développeur affirme qu'il émet de nombreux bouts de son code protégé par le droit d'auteur
Un enseignant pointe GitHub Copilot comme l'outil parfait pour les tricheurs lors des évaluations de programmation et ravive les craintes sur la disparition du métier de développeur à cause de l'IA
Copilot, l'outil d'IA commercial de GitHub, est critiqué par la communauté du logiciel open source, pour sa reproduction aveugle des blocs de code