GitHub Universe 2022 : collaboration, planification, cloud, sécurité… et procès

GitHub Universe 2022 : collaboration, planification, cloud, sécurité… et procès

L'IA face à elle-même

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

10/11/2022 9 minutes
8

GitHub Universe 2022 : collaboration, planification, cloud, sécurité… et procès

La conférence Universe a commencé hier et se poursuit aujourd’hui à San Francisco. L’entreprise a annoncé de très nombreuses nouveautés, dont les plus impressionnantes concernant Copilot, dont la présentation avait déjà fait couler beaucoup d’encre. Une fonction visée par une plainte, qui pourrait influer sur le reste du monde de l’intelligence artificielle.

Les annonces ont littéralement plu depuis hier, GitHub souhaitant garder son leadership proclamé dans la gestion de projet. Le rachat par Microsoft en 2018 n’a fait qu’accélérer cette tendance, même si GitHub, en tant qu’entreprise, reste relativement indépendante.

La grande majorité des nouveautés présentées ne sont pas encore finalisées, mais des préversions sont proposées sur listes d'attente.

Collaboration et planification

On commence avec une extension de Codespaces aux développeurs indépendants. Ces derniers peuvent maintenant utiliser le service jusqu’à 60h gratuitement par mois avant de passer à la caisse. Pour rappel, Codespaces permet la création d’un environnement de développement en ligne et peut être exploité avec Visual Studio, Visual Studio Code, Jupyter ou JetBrains. Les clients choisissent une instance en fonction de la puissance, celle-ci pouvant aller jusqu’à 16 cœurs, 32 Go de mémoire et 128 Go de stockage.

On trouve également deux préversions pour les révisions de deux outils existants, Code view et Code search, qui doivent accélérer la recherche de code, sa navigation et sa compréhension. Le premier est une nouvelle interface proposant de compléter les requêtes par des suggestions ou complétions, avec outils de tris pour les résultats. Le second s’intègre au premier, permettant de passer rapidement de bout de code en bout de code et offrant des informations contextuelles sur chacun.

La planification s’enrichit avec Roadmap, une nouvelle vue pour visualiser les éléments de travail sur une frise chronologique. Plusieurs fonctions sont associées, notamment pour suivre l’évolution d’un élément et avertir les personnes concernées en cas de besoin. Les listes de tâches se dotent en parallèle d’une nouvelle interface pour décomposer plus rapidement des problèmes en tâches, convertir des tâches en problèmes, décomposer une tâche en sous-tâches, etc. L’ensemble des informations ajoutées sur ces éléments sont en Markdown et agissent comme des métadonnées.

Les listes de tâches sont intégrées dans Project, qui se dote pour l’occasion d’une version mobile dans l’application GitHub. Cette dernière récupère également plusieurs nouvelles capacités, comme le lancement d’Actions ou l’édition de fichier dans les pull requets. Les versions Android et iOS sont toutes concernées, mais il faudra patienter pour une diffusion générale. En attendant, il est possible de tester ces moutures via les bêtas sur Google Play et TestFlight pour iOS.

Du neuf pour les entreprises

GitHub Enterprise Server 3.7 a été publiée hier. Il s’agit pour rappel d’une version de GitHub que les entreprises peuvent installer sur leurs propres serveurs. À son bord, une longue liste de nouveautés : un tableau de bord pour la sécurité, le support pour les workflows GitHub Actions imbriqués et réutilisables, ou encore de nouvelles règles comme la possibilité de créer des forks multiples au sein d’une même organisation ou celle de restreindre des dépôts à certains groupes.

Pour les clients classiques, GitHub se dote de « runners » que l’on peut utiliser pour lancer des opérations lourdes, quand l’infrastructure en sa possession sature. Ces machines, responsables de l’exécution des flux Actions, peuvent contenir jusqu’à 64 cœurs et 256 Go de mémoire.

Parmi les autres apports, citons la possibilité avec « Importer » de transiter plus facilement d’un ancien CI/CD (intégration et distribution continues), des jetons d’accès personnels pour les administrateurs, la possibilité de récupérer des informations sur l’ensemble des jetons, ou encore l’intégration native des outils Arm Development. Rappelons que Microsoft semble enfin beaucoup plus sérieuse sur le développement pour architecture ARM, après l’arrivée récente du Dev Kit 2023, anciennement appelé projet Volterra.

Des signalements secrets de failles pour les dépôts open source

GitHub avait quelques apports à présenter pour la sécurité. Le plus important est sans doute la mise en place d’un mécanisme de signalement privé, que l’entreprise présente comme « pratique, standardisé et secret ». Selon GitHub, il n’y a plus besoin pour les chercheurs en sécurité et autres personnes concernées de chercher l’adresse email d’un responsable, la fonction permettant de gérer la déclaration, l’évaluation et la résolution de la faille.

Signalons également la disponibilité générale du support de CodeQL pour Ruby, accessible depuis l’analyse de code dans GitHub.com, la ligne de commande CodeQL et l’extension CodeQL pour Visual Studio Code. Enfin, la vue de synthèse pour la sécurité intègre de nouvelles vues pour les risques et la couverture du code, c’est-à-dire la proportion de code couverte par les tests unitaires.

Copilot : le clou du spectacle…

Copilot est une fonction présentée l’année dernière et disponible en version finale depuis juin. Elle se présente comme une aide concrète à l‘écriture de code, pouvant proposer 40 à 50 % des lignes d’un programme.

Elle est issue d’un partenariat entre GitHub et OpenAI (Codex) ayant abouti à un modèle alimenté par les milliards de lignes de code issues des dépôts publics. Elle suggère ce qui pourrait être la ligne de code suivante, ce qui peut être pratique dans des scénarios divers, comme l’utilisation d’un cadriciel (framework) peu connu, mais que Copilot a déjà observé à travers d’autres projets.

Elle s’adapte également dans le temps à ce qui est accepté ou refusé par la personne qui l’utilise. Copilot est également très utilisée pour les tests unitaires, un cas dont GitHub a encore fait la promotion pendant la conférence. La fonction peut ainsi trouver seule les résultats et afficher les journaux correspondants.

Copilot, qui n’était jusqu’à présente ouverte qu’aux développeurs indépendants, s’ouvre désormais aux entreprises. Elles pourront bientôt commander des licences par poste. L’intégration ne change pas : Visual Studio, VS Code, Neovim, and JetBrains.

Mais l’annonce qui a retenu le plus l’attention était sans conteste « Hey, GitHub ! », un assistant vocal pour Copilot. Une préversion technique a été fournie, mais demande de s’inscrire sur une liste d’attente.

Cette fonction doit faire exactement ce que son nom suggère : écrire du code oralement, sans poser les mains sur le clavier. Puisqu’elle vient compléter Copilot, on imagine que ce dernier sera d’un grand secours pour aider à interpréter correctement les instructions, qu’il s’agisse d’ailleurs de code ou d’interactions avec l’interface de GitHub.

Bien que l’éditeur ait mis en avant la facilitation de l’expérience de développement, il a également abordé la question du handicap. La fonction pourrait en effet permettre aux personnes ne pouvant utiliser leurs mains, pour une raison ou une autre, de pouvoir développer, idéalement avec la même efficacité à terme. S’agissant d’une expérience lancée par GitHub Next pour l’instant, on ne sait pas quand la fonction sera proposée à tous, ni si elle sera intégrée dans Copilot ou facturée à part.

… avant le procès

Tout n’est pas rose au pays de Copilot, loin de là. En octobre dernier, l’avocat Matthew Butterick a lancé : que tous les développeurs intéressés se rassemblent en vue d’une action de groupe contre Copilot. Pourquoi ? À cause des licences open source.

Le travail dans lequel la fonction va puiser provient certes de dépôts publics, mais le code qui s’y trouve est toujours protégé par une licence. Or, les trois licences les plus utilisées dans ce domaine – Apache, GPL et MIT – ont toutes en commun une obligation légale : l’auteur du code doit être cité, qu’il s’agisse d’une personne physique ou morale.

Depuis le lancement en juin, le comportement de la fonction a été analysé plusieurs fois, notamment par Chris Green. Il avait repéré des morceaux de code qu’il avait rédigés et protégés par une licence, mais qui apparaissaient quand même dans Copilot sans mention de l’auteur.

En clair, Copilot est accusé de violer massivement le copyright. En un an, l’appel de Matthew Butterick a été entendu, puisqu’un recours collectif a officiellement été déposé contre Microsoft, GitHub et OpenAI le 3 novembre. Plus précisément, la plainte accuse les trois entreprises d’enfreindre les propres conditions d’utilisation de GitHub, la section 1202 du DMCA qui interdit le retrait de toute information liée au copyright et le Consumer Privacy Act de Californie, entre autres lois.

Matthew Butterick réclame un montant minimum de 2 500 dollars par violation. Or, comme la plainte l’explique : « si chaque utilisateur reçoit ne serait-ce qu’une suggestion violant la section 1202 durant le temps d’utilisation de Copilot (jusqu’à 15 mois pour les premiers utilisateurs), alors GitHub et OpenAI ont violé le DMCA 3 600 000 fois ». Ce qui pourrait se traduire par une peine très rondelette de 9 milliards de dollars.

L’avocat avait mis en ligne un site le mois dernier pour sensibiliser les développeurs aux problèmes posés par Copilot. Il prédit notamment un assèchement des communautés open source classiques, que Copilot masquera en proposant le résultat tout en repoussant le besoin de contacter les personnes à l’origine d’un code ou d’un projet.

La réponse de GitHub est pour l'instant très vague : « Nous nous sommes engagés à innover de manière responsable avec Copilot depuis sa création. Nous continuerons à faire évoluer le produit pour servir au mieux les développeurs dans le monde ».

Ce procès devrait être suivi par de très nombreux observateurs, car il s'agira de la première procédure d'envergure impliquant l'IA. Microsoft est loin d'être le seul acteur à proposer des outils dont l'efficacité dépend de montagnes de données aspirées et anonymisées, y compris quand le nom doit figurer en bonne place.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Collaboration et planification

Du neuf pour les entreprises

Des signalements secrets de failles pour les dépôts open source

Copilot : le clou du spectacle…

… avant le procès

Fermer

Commentaires (8)


Toujours pas de passage de GitHub en open source ?



Non, je taquine.



Concernant Copilot, à voir… Je m’y suis habitué. Ce n’est pas parfait, mais ça permet de gagner du temps pour faire des choses simples avec les langages type C/C++…


Le plagiat signifie de copier coller sans citer la source. Mais ce que fait l’ia c’est résoudre une équation qui donne cette sortie. Du coup est-ce un plagiat ?



A suivre car je pense que c’est loin d’être simple


De ce que j’avais compris à une présentation que GitHub nous avait faite, ils donnent plus vraiment l’impression qu’ils vont beaucoup investir sur Enterprise Server à moyen terme au profit de l’offre cloud.



De mon côté, je trouve que GitHub c’est encore loin d’être un produit “niveau entreprise”… Les fonctionnalités d’audit et de reporting intégrées sont pour ainsi dire inexistantes (réponse de GitHub : démerdez-vous avec les API et les exports dans un autre système), la lecture des rapports de billing manque de lisibilité, difficile de mesurer précisément la consommation d’un repository dans les quotas sans devoir se palucher du requêtage API encore une fois. Pas beaucoup de possibilités non plus sur la conformité avec une politique d’entreprise (formalismes divers, présents d’objets obligatoires, etc) sans se démerder soit-même là aussi en ayant recours à des workflows de maintenance .. Qui bouffent évidemment dans le quota de minutes alloué.



J’ai également eu des présentations de Advanced Security, ça vaut pas son prix à mes yeux. Le scan de secrets dans le code est limité à une liste définie de tokens avec des partenaires (même pas des patterns connus du genre clés privées, etc, c’est démerdez-vous avec des pattern customs).



En note positive par contre, la preview des PAT v2 est prometteuse en matière de sécurité et de granularité des accès (héritée de GitHub Apps). Egalement la capacité désormais à pouvoir virer un token d’une orga, chose qu’on ne pouvait faire que via le lien SSO avec les “classics”. Pour contrebalancer également le bémol sur les vérifications de conformité, les fonctionnalités des workflows obligatoires dans la roadmap pourront donner un premier élément d réponse.


Et vs GitLab?


Thoscellen

Et vs GitLab?


Je n’ai pas assez de recul sur GitLab pour me prononcer, pas assez d’expérience dessus, et encore moins pour les offres Enterprise.



Côte GitLab j’aime bien la possibilité de faire des dossiers pour avoir une hiérarchie entre les repos d’un projet (là où une orga GitHub peut vite devenir un gros foutoir si celle-ci est partagée par toute l’entreprise) et le peu que j’ai pu utiliser GitLab CI ça me semblait plus ouvert dans son fonctionnement. Sinon je n’ai pas assez exploré ses fonctionnalités avancées pour me prononcer.



Globalement, GitHub Actions marche plutôt bien (même si j’ai toujours une certaine amertume face au fait que les Actions sont par défaut codées en nodejs, ça fait un peu empilage de couches logicielles inutiles pour faire de l’automatisation, mais bon, ils poussent les produits de la maison…) et le principal bémol que j’ai à son sujet c’est la notion de bibliothèque d’Actions qui apporte le même travers que Jenkins et ses innombrables plugins pour avoir des fonctions intégrées. Ca dépend un peu trop de la communauté et la notion de “Partenaire” pour le marketplace n’est rien de plus qu’un argument d’autorité. Le fait qu’on puisse gérer les Actions communautaires par whitelist permet cependant d’éviter de finir avec trop de dette technique car on est vite tenté de prendre le premier truc qui fait le taff sur le marketplace, et tant pis si le dernier commit date de 3 ans.



La contrepartie pour compenser cette notion de bibliothèque et avoir quelque chose de sur mesure reste de soit-même développer ses Actions au final (car orchestrer des tâches shell dans un yaml déclaratif c’est vite la merde).



Le marketplace d’Actions dites “vérifiées” est quand même bien fourni mais je trouve dommage de voir que des fonctionnalités purement GitHub ne soient répondues que via des développeurs communautaires et non officielles (comme la création de release).


Bah, dans le pire des cas Copilot devra citer ses sources. C’est faisable, et reste que le problème final ne changera pas : ça n’empêchera pas les devs de ne pas citer les auteurs des bouts de codes copiés/malaxés. S’il y a un réel soucis il est là, et Copilot n’est pas attaquable. C’est le soucis des devs qui utilisent Copilot, et uniquement eux.
Quant à l’argument disant que ça assèchereait la commu open source, c’est une blague. Il y a des soucis dans l’open source, mais ils n’ont rien à voir avec ce dont on parle là.


Dans le cas de la GPL, tu dois citer tes sources ET mettre la même licence.
Ça change tout.


La question légale que devras répondre le procès va être intéressante.
Je me rappelle d’une émission où Christian Quest, s’interrogeais sur la récupération du travail des contributeurs d’OSM à partir des images aériennes pour entraîner de l’IA (Bing a autorisé OSM à utiliser ses images satellites). Il ne citait MS et la question plus large que le seul cas de MS.
Après OSM n’utilise pas les CC ou la GPL, j’ignore si on pourrait dire que l’Odbl autorise cet usage.