Un nouvel outil dénommé Fauxpilot propose une alternative à Copilot, l'assistant au codage que GitHub, filiale de Microsoft, a commercialisé en juin dernier, après un an de préversion. L’auteur de FauxPilot, Brendan Dolan-Gavitt, professeur assistant au département d’informatique et d’ingénierie de l’Université de New York Tandon, décrit le projet comme « une tentative de construction d’une version hébergée localement de GitHub Copilot ».
Pour suggérer aux développeurs du code - des lignes ou des fonctions entières - au sein de leur environnement de développement, en l’occurence Visual Studio, Copilot s’appuie sur l’API Codex d’OpenAI. Cette dernière a pour cela été entraînée sur des milliards de lignes de code open source stockées dans les répertoires de GitHub. FauxPilot, de son côté, utilise les modèles de CodeGen (de Salesforce Research) dans le serveur d’inférence Triton de Nvidia avec le backend FasterTransformer. Et il est possible de configurer le plugin officiel VSCode Copilot pour le serveur local. Les développeurs devraient donc pouvoir utiliser Copilot avec leurs propres suggestions hébergées localement, explique la page du projet FauxPilot. La différence, c’est que contrairement à Copilot dans le cloud, FauxPilot ne renvoie pas d’informations de télémétrie à Microsoft.
Copilot critiqué par les tenants du logiciel libre
Lors de sa présentation, à l’été 2021, Copilot avait déclenché les critiques de la FSF, Free Software Foundation, qui reprochait plusieurs défauts à l’outil. L’un d’eux était de requérir l’utilisation de Visual Studio de Microsoft, ce qui renforçait le pouvoir de ce dernier sur les développeurs. Parmi les questions posées alors, la FSF se demandait surtout si l’entraînement d’un réseau neuronal sur les dépôts publics de GitHub constituait ou non une violation du droit d’auteur et une utilisation équitable (fair use). La fondation s’interrogeait enfin sur la probabilité que les résultats donnés par Copilot puissent déboucher sur des plaintes pour violation d’oeuvres sous licence GPL.
Plus récemment, à la sortie commerciale de Copilot, la SFC, Software Freedom Conservancy, a incité les développeurs à ne pas ou ne plus utiliser l’assistant à l'écriture de code et à quitter purement et simplement GitHub. « Le travail de nos comités continue à étudier soigneusement la question générale des outils de développement assistés par l’AI. Une découverte préliminaire récente est (qu'ils) peuvent être construits de telle façon qu’ils respectent par défaut les licenses FOSS », conclut un billet de la SFC publié le 30 juin. Les membres de la fondation utilisent principalement des répertoires Git auto-hébergés mais continuent à s’appuyer sur GitHub pour disposer de répertoires miroirs.
L'usage de Salesforce fait grincer des dents
Si Fauxpilot n’utilise pas Codex mais CodeGen, il n’est pas sûr que cela apaise les critiques des défenseurs du logiciel open source et libre car les modèles de Salesforce Research ont également été entraînés sur du code public open source sans tenir compte des nuances entre les différentes licences, rappelle notamment le site d’actualités IT The Register. Nos confrères ont posé la question à l’auteur de FauxPilot, Brendan Dolan-Gavitt. Pour ce dernier, avec une puissance de calcul suffisamment importante, il serait possible d’entraîner un modèle qui porterait uniquement sur le code sous licence GPL ou publié sous une licence permettant de réutiliser le code sans attribution. Mais pour le professeur du département d'informatique à l’Université de New York Tandon, l’objectif premier de FauxPilot est de procurer un moyen de disposer d’une assistance IA au développement de logiciels qui soit disponible sur site et non dans le cloud. En particulier pour les entreprises ou organisations qui ont des préoccupations de confidentialité et de sécurité. Pour l’instant, FauxPilot reste une plateforme de recherche, rappelle-t-il aussi. L’an dernier, Brendan Dolan-Gavitt avait participé à un article de recherche s’interrogeant sur la sécurité de Copilot.
En dehors de Microsoft avec Copilot, d'autres fournisseurs ont sorti ces derniers mois des outils d'aide à l'écriture de code. Parmi eux, Alphacode de Deepmind ou Codewhisperer d'AWS et CodeT5 de Salesforce. En juillet, une étude de GitHub indiquait de son côté que les développeurs utilisant Copilot se disaient plus productifs.