maciek905 - Fotolia
Copilot for Business : GitHub adapte son outil de complétion de code aux entreprises
Comme promis lors de son événement Universe, GitHub a lancé la disponibilité générale de GitHub Copilot for Business, une distribution commerciale de son assistant de développement propulsé par le modèle de génération de code Codex développé par OpenAI.
Copilot for Business est proposé au tarif de 19 dollars par utilisateur par mois, contre 10 dollars par mois pour Copilot for Individuals. Le service destiné aux entreprises prend en charge le proxy VPN d’une organisation via des certificats auto-signés et permet une gestion des licences et des utilisateurs plus fines. Une troisième fonction la distingue de Copilot for individuals : GitHub ne conserve pas les données de télémétrie issues du code généré ou modifié. Elles sont utilisées le temps d’effectuer les suggestions, puis supprimées dans la foulée. C’était l’une des craintes exprimées par les entreprises de voir le code produit par leur développeur d’être exploité par GitHub pour entraîner le modèle sous-jacent.
Un Copilot plus aligné sur les besoins des développeurs professionnels
Par ailleurs, depuis la disponibilité générale de GitHub Copilot en juin dernier, la filiale de Microsoft a ajouté la prise en charge des IDE JetBrains et de Neovim, en sus de Visual Studio et Visual Studio Code.
Quoi qu’en disent les détracteurs de Copilot, GitHub assure que son outil de complétion de code serait largement utilisé par les développeurs. « En juin 2022, nous avons signalé que GitHub Copilot générait déjà 27 % du code des développeurs », écrit Thomas Dohmke, directeur générale de GitHub, dans un billet de blog. « Aujourd'hui, nous constatons que cela se produit de plus en plus, avec une moyenne de 46 % du code construit à l'aide de GitHub Copilot dans tous les langages de programmation, et 61 % chez les développeurs utilisant Java ».
Plus précisément, ces statistiques concernent uniquement les utilisateurs de CoPilot for Individuals, et ne reflètent donc pas l’usage réel de l’outil, ni son degré d’adoption par les développeurs. De son côté, GitHub affirme que Copilot est utilisé dans 400 entreprises.
En outre, Codex le modèle de deep learning sous-jacent pensé par OpenAI, a été mis à jour. Il serait plus performant pour réaliser des synthèses de code. De même, les équipes de GitHub s’appuient sur le paradigme « fill-in-the-middle » qui permettrait d’améliorer les prédictions (et donc les suggestions). Désormais, Copilot n’exploite plus seulement les préfixes du code, mais également les suffixes pour tenter de prédire la portion de code souhaitée entre les deux éléments écrits par un utilisateur. Plus subtil, un deuxième modèle d’IA infusé dans l’extension de VS code prend en compte le taux d’acceptation des suggestions par les utilisateurs. Il s’agit pour GitHub de réduire le taux de suggestions inutiles. Pour l’instant, les résultats semblent minimes : GitHub a réduit de 4,5 % les générations rejetées par les développeurs.
Référencer le code open source
Un autre modèle de machine learning complète l’application. Celui-ci doit filtrer les patterns de vulnérabilités les plus communs. En clair, Copilot ne doit pas inscrire en dur des authentifiants, produire des injections SQL ou Path.
Si GitHub vante le gain de temps et de confort pour les développeurs, il a rapidement subi les foudres de certaines organisations open source, ainsi que de contributeurs qui n’ont pas hésité à se rassembler pour déposer des plaintes auprès de certains tribunaux américains pour non-respect des droits d’auteur. En effet, Codex (émanation de GPT-3) est entraîné à l’aide de code disponible depuis des dépôts publics, mais ces dépôts Git peuvent contenir du code propriétaire, ou des portions de code attribuées à des contributeurs, qui même si elles sont régies par des licences open source, ne peuvent être utilisés sans consultation ou mention.
GitHub rétorquait déjà qu’elle réalisait ses entraînements dans le respect des licences en vigueur. En juin dernier, à la disponibilité de Copilot for Individuals, l’éditeur avait annoncé un filtre interdisant à Copilot de suggérer des portions de code de plus de 150 caractères correspondant exactement à un bout de code disponible sur un dépôt public. Le 1er novembre 2022, GitHub a indiqué vouloir fournir au cours de l’année 2023 plusieurs fonctions pour identifier ces suggestions de code existant. Cela permettrait aux développeurs d’annoter et d’attribuer le code à la bonne personne ou au bon projet open source s’ils veulent les utiliser. C’est précisément ce qu’AWS a implémenté par défaut dans son outil concurrent CodeWhisperer.
Dans un même temps, Reuters a rapporté le 27 janvier que Microsoft et GitHub ont déposé une demande d’annulation d’une plainte effectuée par deux usagers anonymes de GitHub auprès de la cour du district nord de la Californie. Ceux-ci indiquent qu’ils ont placé du code sous licence dans des dépôts publics qui auraient pu servir à entraîner Codex. Les avocats de Microsoft et de GitHub répondent que les plaignants n’ont pas apporté la preuve suffisante que le code en question est utilisé pour former le modèle. Selon le même document, Copilot reproduirait au caractère près le code que dans 1 % des cas. Pour autant, la question de légalité de la commercialisation de systèmes intelligents entraînés sur des données libres, mais licenciées demeure ouverte. Elle anime d’ailleurs les débats au sein de l’Open Source Initiative.