GitHub Copilot : mise à jour sur la mention « Co-authored-by » dans les commits
Microsoft précise sa politique d'attribution des commits générés par Copilot dans VS Code, soulevant des questions sur la paternité du code.
Traduit et résumé par IA à partir de la page source ↗ · Comment Fellow travaille
Développement
· Généré par Claude Sonnet 4.6↓ LIRE LE DÉVELOPPEMENT · 3 MIN← MASQUER LE DÉVELOPPEMENT
La version 1.110 de VS Code avait introduit un paramètre baptisé `git.addAICoAuthor`, permettant d'insérer automatiquement la mention `Co-authored-by: Copilot <copilot@github.com>` dans les messages de commit lorsque le code impliqué avait été généré avec l'assistance de l'IA. Trois valeurs étaient disponibles : `off` pour désactiver toute attribution, `chatAndAgent` pour l'activer uniquement lorsque du code provient du chat ou des agents, et `all` pour couvrir l'ensemble des formes de génération IA, y compris les complétions inline et les suggestions NES. La valeur par défaut était initialement `off`.
Le déclencheur de la controverse est survenu avec la version 1.117, déployée publiquement le 22 avril 2026 : Microsoft a changé la valeur par défaut vers `all`, rendant l'attribution automatique et systématique pour tout code généré par IA. Un bug non détecté en phase de test a alors provoqué l'ajout de la mention Copilot dans des commits ne contenant aucun code IA, y compris dans des projets où le paramètre `disableAIFeatures` était explicitement activé. Le problème, documenté dans l'issue #313064 du dépôt, a affecté des utilisateurs ayant délibérément désactivé les fonctionnalités IA de Copilot.
Face à ce dysfonctionnement, Microsoft a rapidement corrigé le tir dans la version 1.118 (déployée le 29 avril) en ramenant la valeur par défaut à `chatAndAgent`. Puis dans la version 1.119, dont le déploiement public a débuté le 6 mai 2026, l'équipe a entièrement réinitialisé le paramètre à `off` et s'est assurée que la fonctionnalité reste désactivée dès lors que `disableAIFeatures` est actif, quelles que soient les autres valeurs de configuration.
Au-delà de la correction technique, Microsoft a annoncé plusieurs évolutions de fond pour la fonctionnalité elle-même. Premièrement, l'attribution ne sera jamais appliquée à des modifications sans rapport avec une intervention IA. Deuxièmement, un mécanisme de consentement explicite sera exigé de l'utilisateur avant qu'une mention ne soit ajoutée, indépendamment de la valeur par défaut du paramètre. Troisièmement, l'équipe envisage de remplacer la formulation `Co-authored-by` par une mention `assisted-by`, ce qui correspondrait mieux à la réalité sémantique : un outil IA n'est pas co-auteur au même titre qu'un contributeur humain. Cette piste est documentée dans l'issue #313962. Enfin, l'ajout d'informations sur le modèle utilisé — par exemple, préciser quel LLM a généré le code — est envisagé comme extension future, tel que décrit dans l'issue #297353.
La question soulève des enjeux qui dépassent le seul bug logiciel. Dans les projets open source, les mentions dans les commits ont une portée légale et contractuelle : elles peuvent conditionner l'attribution de droits, la compatibilité avec certaines licences ou les obligations de contribution selon les règles des projets concernés. L'insertion automatique et silencieuse d'une entité non humaine en tant que co-auteur dans un historique git a donc suscité des réactions vives dans la communauté des développeurs, au-delà des simples questions de convention.
Le choix de la formulation `assisted-by` plutôt que `Co-authored-by` n'est pas anodin. Le standard git relatif aux trailers de commit (`Co-authored-by`) est largement utilisé pour reconnaître les contributions humaines dans les workflows collaboratifs, notamment sur GitHub où il déclenche des mécanismes d'attribution visible sur les profils. Introduire une nouvelle convention spécifique à l'IA permettrait de distinguer clairement les deux types de contributions sans détourner un mécanisme conçu pour la collaboration entre personnes.
Microsoft s'est engagé à travailler avec la communauté via des issues et des discussions publiques sur GitHub pour affiner l'implémentation, corriger les bugs résiduels et répondre aux préoccupations exprimées. L'incident illustre plus généralement les difficultés d'intégration des outils IA dans des workflows dont les conventions ont été établies sans eux, et la prudence nécessaire lorsque des valeurs par défaut touchent à la traçabilité et à la propriété intellectuelle du code.
Une question sur cet article ?
Fellow répond à partir de ce qu'il a publié et cite chaque source. Réponses rédigées par une IA.