Présenté il y a un an, le logiciel d’aide à la programmation de Github est désormais ouvert à tous et toutes. Il reste encore beaucoup de questions sans réponses sur ses capacités.

« Votre partenaire de programmation est là », a annoncé Github dans un communiqué de presse le 21 juin 2022. Il ne s’agit pas de n’importe quel partenaire, mais de Github Copilot, un logiciel d’aide à la programmation fonctionnant grâce à de l’intelligence artificielle. Sa promesse est aussi simple que révolutionnaire : Copilot pourrait aider les développeurs à coder en leur proposant, tout seul, des lignes de code.

Un an après sa présentation au public, Copilot, qui a été développé par la plateforme spécialisée dans l’hébergement de projets de code Github et OpenAI, est disponible pour tout le monde. Copilot était jusqu’à présent réservé à des testeurs : plus d’un 1,2 million de développeurs s’étaient inscrits et ont, pendant près d’un an, évalué les prouesses du logiciel.

Copilot peut générer des algorithmes complexes

Copilot fonctionne de manière simple : « Lorsque vous tapez des lignes de code ou des commentaires, Copilot suggère la prochaine ligne », indique Github. « Il ne s’agit pas seulement d’un seul mot ou d’une seule ligne : Copilot peut suggérer des méthodes complètes, des formules de code standards, des paragraphes de tests entiers et même des algorithmes complexes », promet le communiqué de presse.

code
Github Copilot remplit-il ses promesses ? // Source : Canva

Les promesses sont impressionnantes, et sur le site, les exemples le sont tout autant : on peut voir le logiciel compléter tout seul et très rapidement plusieurs lignes de code permettant d’automatiser l’extraction de tweets, et ce dans plusieurs langages. Copilot partagerait aussi des recommandations de code en fonction du contexte, et même du style de programmation du projet, assure Github.

Mais l’arrivée de Copilot ne serait pas forcément une bonne chose. L’année dernière, lors de sa présentation, les développeurs étaient divisés sur le potentiel du logiciel. Certains estimaient qu’il s’agissait d’une petite révolution, qui permettrait de coder mieux et plus vite, tandis que d’autres soulevaient de nombreuses critiques. Manque de transparence sur la provenance du code, contenu de faible qualité, et possibles problèmes de droits d’auteurs… la liste des doléances recueillies par Numerama était longue.

« Copilot n’écrit pas un code parfait »

Copilot s’est-il amélioré sur ces points ? Difficile à dire. La page de présentation du logiciel n’offre pas beaucoup de détails. Pour en savoir plus sur la provenance du code, il faut se rendre en bas de la page de présentation du projet, où il est simplement indiqué que l’IA a été « entraînée sur des codes sources publics, ou provenant de repositories Github publics ». La question de code en Copyleft, soulevée par Numerama l’année dernière, n’a donc toujours pas de réponse. Elle est pourtant fondamentale : le code sous licence Copyleft peut être réutilisable gratuitement, mais seulement à condition que le projet pour lequel il est utilisé soit, à la fin, accessible lui aussi gratuitement.

Github assure que cela ne serait pas les cas : « La majorité du code que Copilot suggère n’a jamais été vu auparavant », est-il expliqué. « Nos recherches internes montrent qu’une suggestion peut contenir des bouts de code inchangés dans seulement 1% des cas. » Néanmoins, si Copilot propose des lignes de code en copyleft inchangées, cela poserait de sérieuses questions.

tim-van-der-kuip-CPs2X8JYmS8-unsplash
Les développeurs vont-ils utiliser Copilot ? // Source : Tim van der Kuip / Unsplash

Quant à la qualité du code proposé par l’IA, la réponse n’est pas claire non plus. Github reconnait que « Copilot n’écrit pas un code parfait », et que le logiciel « ne teste pas le code qu’il suggère, ce qui fait qu’il ne marchera pas toujours, et n’aura pas toujours de sens ». Il est même expliqué sur le site que le logiciel peut proposer des passages « vieux et obsolète » dans certaines conditions, et qu’il ne fonctionne pas aussi bien sur tous les langages de programmation.

Mais il semblerait cependant que, malgré tout, Copilot marche. Selon les données du site (à prendre avec un peu de recul, donc), en moyenne, les utilisateurs accepteraient 26% des lignes de code proposées par Copilot. Et dans les fichiers où le logiciel est activé, le code de Copilot représente 27% du contenu — un chiffre qui monte à 40% dans les projets en Python.