Microsoft Pulled A Funny With VSCode
Une mise à jour mal testée de VS Code a activé par défaut l’ajout automatique d’un marqueur « co-authored by Copilot » dans les commits Git, provoquant une controverse sur la fiabilité de l’attribution IA et la pollution des métadonnées.

SYNTHÈSE STRUCTURÉE
Le changement controversé : activer l’attribution IA par défaut
Un responsable produit Microsoft a ouvert une PR modifiant la configuration git.addai.co-author de l’extension Git de VS Code pour que les « co-authored by » soient ajoutés automatiquement lorsque du code généré par IA est détecté. L’intervenant précise : « This PR changes the Git extension’s git.addai co-author setting so that AI co-author trailers are enabled by default, making the default behavior automatically add a co-authored by trailer when AI generated code contributions are detected. » L’intention initiale était louable : créditer l’IA utilisée, mais l’exécution a été catastrophique.
Un bug fondamental : l’attribution erronée à Copilot
Le problème central est que le code ne parvenait pas à distinguer les complétions IA des simples complétions par table de correspondance (comme str → string). L’intervenant explique : « There was a bug in the code that was not found in testing that attributed non-copilot code completions to copilot. So basically, if you use the regular code completions that were not AI generated, it still thought it was AI. » Résultat : presque tous les commits étaient marqués comme co-écrits par Copilot, même sans utiliser l’IA.
La réaction de la communauté : colère et accusations
Les retours ont été virulents, avec des utilisateurs rapportant que même avec chat.disable.ai.features à true, le marqueur s’insérait. L’intervenant cite un commentaire typique : « I have chat.disable.ai features to true and co-authored by Copilot still gets inserted into most commits. This is absolutely unacceptable. » La communauté a immédiatement suspecté une tentative de Microsoft de promouvoir Copilot, mais l’intervenant penche pour une erreur de test : « I will give them the benefit of the doubt that this was just a complete screw up. »
La réversion rapide et les excuses
Face au tollé, la PR a été revertie en moins de 48 heures. Le développeur ayant approuvé la PR a présenté des excuses publiques : « I am the person who approved this PR, not wrote it, but got it merged and also reverted as well, and would like to acknowledge and apologize for the mistake of turning this feature on by default without sufficient upfront validation. » Il a promis de corriger les bugs dans la version 1.119, notamment en désactivant l’attribution quand les fonctionnalités IA sont désactivées.
Les trois modes de l’attribution IA
La configuration git.addai.co-author propose trois valeurs :
off: aucune attribution, même si l’IA a été utilisée.chat and agent: attribution uniquement pour le code généré via les fonctionnalités de chat.all: attribution pour tout code IA (chat, complétions inline, suggestions d’édition suivantes).
L’intervenant précise que le bug a transformé le mode all en « tout le temps », car les complétions basiques étaient mal identifiées.
Le problème de fond : la pollution des métadonnées Git
Un commentateur soulève un point crucial : si chaque commit effectué dans un IDE avec IA porte un marqueur « co-authored by », le signal devient du bruit. L’intervenant rapporte : « The deeper issue, if every commit made in an IDE with AI features carries a co-authored by tag, the metadata becomes noise. We already have a hard time tracking real authorship in PR-heavy workflows. Auto-tagging makes it worse. » Cela dévalue le sens même du champ Co-authored-by, qui devrait indiquer une collaboration humaine réelle.
L’absence d’interface pour les co-auteurs humains
Un commentaire pertinent souligne l’incohérence : VS Code n’offre pas d’interface utilisateur pour ajouter des co-auteurs humains, mais traite Copilot comme un cas spécial. L’intervenant cite : « In the first place, why are you treating Copilot the special without adding UI for adding human authors? » Cela révèle un déséquilibre dans la priorisation des fonctionnalités.
Les alternatives à VS Code évoquées
La controverse a relancé les discussions sur d’autres éditeurs. L’intervenant liste plusieurs options :
- Zed : éditeur orienté IA, mais utilisable sans ses fonctionnalités IA.
- Fresh : IDE terminal puissant, « batteries included ».
- Doom Emacs et Spacemacs : configurations Emacs optimisées.
- NeoVim avec plugins : mentionné comme alternative évidente.
- Sublime Text et Atom : toujours utilisés par certains.
La leçon sur les tests et la validation
L’intervenant insiste sur le manque de tests : « This would be a reasonable change if somebody had gone and tested it. » Le fait que le bug n’ait pas été détecté avant la mise en production montre une faille dans le processus de validation. Il suggère même que la PR elle-même pourrait avoir été générée par IA : « it’s entirely possible that this was some AI generated nonsense to begin with that nobody did proper testing on. »
La position nuancée sur Microsoft
Malgré sa méfiance envers Microsoft, l’intervenant reconnaît que la réversion rapide et les excuses indiquent une erreur honnête plutôt qu’une malveillance : « Considering that they’re willing to reflect on the fact that this was broken, I’ll take their word for it, and it’s been disabled. » Il note que la communauté a tendance à surréagir dès que Microsoft est impliqué, mais appelle à se concentrer sur les faits techniques.
CONCEPTS CLÉS
git.addai.co-author: paramètre de l’extension Git de VS Code contrôlant l’ajout automatique du marqueurCo-authored-by: Copilot <copilot@github.com>dans les messages de commit.- NES (Next Edit Suggestions) : fonctionnalité de complétion super-avancée par IA, distincte des complétions inline classiques.
Co-authored-by: champ standard de Git (utilisé dans les messages de commit) pour créditer plusieurs auteurs d’un même commit, normalement réservé aux collaborateurs humains.- Table de correspondance (lookup table) : mécanisme de complétion non-IA qui associe des abréviations à des mots complets (ex :
str→string), souvent intégré aux IDE.
CONCLUSION
Le message principal est que l’automatisation de l’attribution IA dans Git, bien qu’intentionnellement positive, doit être implémentée avec une rigueur extrême pour éviter de polluer les métadonnées et de générer de la méfiance. Le bug de VS Code montre qu’une fonctionnalité mal testée peut transformer un outil utile en source de bruit et de controverse. Pour l’administrateur système, cela rappelle l’importance de valider les comportements par défaut des outils de développement, surtout quand ils touchent à l’intégrité des historiques Git. Comme le dit l’intervenant : « All’s well that ends well, I guess? » — mais la leçon est claire : ne jamais activer par défaut une fonctionnalité qui modifie les métadonnées sans une couverture de tests exhaustive.