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

Un outil de programmation alimenté par l’intelligence artificielle qui facilite la recherche d'échantillons de code peut sembler une aubaine pour les développeurs de logiciels, mais l'accueil réservé au nouvel outil Copilot de GitHub a été un peu plus froid. Si certains développeurs sont enthousiasmés par son potentiel, d’autres sont frustrés par la façon dont l’outil, permettant aux codeurs de gagner du temps, a été construit. En effet, GitHub Copilot tire le contexte des commentaires et du code et recommande instantanément des lignes individuelles et des fonctions entières. Mais ces derniers craignent que l'outil ne permette de contourner les exigences en matière de licence pour le code open source et de violer les droits d'auteur des utilisateurs individuels.

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.

Si Copilot représente un gain de temps considérable que certains qualifient de "magique", d'autres développeurs se montrent sceptiques, craignant que l'outil ne permette de contourner les exigences en matière de licence pour le code source ouvert et de violer les droits d'auteur des utilisateurs individuels.

Armin Ronacher, un éminent développeur de la communauté open source, est l’un des développeurs qui ont été frustrés par la façon dont Copilot a été construit. Il a expérimenté l’outil, a publié une capture d'écran sur Twitter, en trouvant étrange que Copilot, un outil d'intelligence artificielle qui est commercialisé, puisse produit du code protégé par le droit d'auteur.

Nom : T01.png
Affichages : 2104
Taille : 126,1 Ko

Fonctionnement de GitHub Copilot

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 comme StackOverflow.

Nom : c01.png
Affichages : 1735
Taille : 107,3 Ko

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.

Vives réactions de la communauté open source

Peu après le lancement de Copilot, 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 pourrait 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.

Nom : T02.png
Affichages : 1716
Taille : 40,2 Ko

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… ».

Un porte-parole de Github, a refusé de commenter et s'est contenté de renvoyer à la FAQ existante de la société sur la page Web de Copilot, qui reconnaît que l'outil peut produire des extraits de code textuels à partir de ses données d'entraînement. Cela se produit environ 0,1 % du temps, selon GitHub, généralement lorsque les utilisateurs ne fournissent pas suffisamment de contexte autour de leurs demandes ou lorsque le problème a une solution banale.

« Nous sommes en train de mettre en place un système de suivi de l'origine pour détecter les rares cas où le code est répété à partir de l'ensemble des données de formation, afin de vous aider à prendre de bonnes décisions en temps réel concernant les suggestions de GitHub Copilot », indique la FAQ de l'entreprise.

Entre-temps, le PDG de GitHub, Nat Friedman, a fait valoir sur un site de réseau social que la formation de systèmes d'apprentissage automatique sur des données publiques est une utilisation équitable, tout en reconnaissant que « la propriété intellectuelle et l'intelligence artificielle feront l'objet d'une discussion politique intéressante » à laquelle l'entreprise participera activement.

Cela n'a pas convenu à certains utilisateurs de GitHub qui disent que l'outil dépend de leur code et néglige leurs attentes quant à la façon dont il sera utilisé. La société a récolté du code libre d'utilisation et du code protégé par des droits d'auteur et « a mis le tout dans un mixeur afin de vendre la bouillie à des intérêts commerciaux et propriétaires », a déclare une programmeuse et conceptrice de jeux basée dans le Colorado dont les tweets sur le sujet sont devenus viraux. « On a l'impression de se moquer de l'open source ».

Dans un de ses tweets, elle a écrit : « GitHub Copilot a, de son propre aveu, été formé sur des montagnes de code GPL, donc je ne vois pas bien en quoi il ne s'agit pas d'une forme de blanchiment de code open source dans des œuvres commerciales. La phrase "il ne reproduit généralement pas les morceaux exacts" n'est pas très satisfaisante ».

Nom : T03.png
Affichages : 1718
Taille : 106,0 Ko

« Le droit d'auteur ne couvre pas seulement le copier-coller ; il couvre les travaux dérivés. GitHub Copilot a été formé sur du code open source et la somme totale de tout ce qu'il sait a été tirée de ce code. Il n'y a pas d'interprétation possible du terme "dérivé" qui n'inclue pas cela », a-t-elle écrit. « La génération précédente d'IA a été entraînée sur des textes et des photos publics, sur lesquels il est plus difficile de revendiquer des droits d'auteur, mais celle-ci est tirée de grands corpus de travaux avec des licences très explicites testées par les tribunaux, donc j'attends avec impatience les inévitables /massifs/ recours collectifs à ce sujet ».

Sources : GitHub, Tweets (1, 2 & 3)

Et vous ?

Quel est votre avis sur GitHub Copilot ?
Que pensez-vous des commentaires des développeurs qui sont frustrés par la façon dont l’outil est construit ?
Que se passera-t-il si un code privé créé avec l’aide de Copilot viole les droits d'auteur ?

Voir aussi :

Microsoft crée un autocompléteur de code à l'aide de GPT-3, le système de génération de texte d'OpenAI, pour combler le manque de développeurs dans le monde
Open AI présente DALL-E (comme GPT-3), un modèle qui crée des images à partir de texte, pour un large éventail de concepts exprimables en langage naturel
OpenAI a publié l'IA de génération de texte qu'il disait trop dangereuse pour être divulguée, mais le modèle n'est pas encore parfait
Une IA génère des images de corps entiers de personnes qui n'existent pas, avec des modèles et des tenues photoréalistes