Une proposition pour distinguer l'humain de la machine

Rodrigo Arias Mallo, mainteneur du navigateur web Dillo, a publié une proposition visant à garantir qu'une contribution à un projet open source a bien été rédigée par un humain et non par une intelligence artificielle. Dans un billet de blog, il suggère de demander aux nouveaux contributeurs d'enregistrer leur session de programmation à l'aide de l'outil asciinema, qui permet de capturer et de partager des sessions en ligne de commande.

L'idée part du constat que les modèles de langage (LLM) sont capables de générer des correctifs logiciels, mais aussi, potentiellement, des enregistrements asciinema contrefaits. Cependant, selon Arias Mallo, cette contrefaçon est bien plus difficile à réaliser que celle de patches écrits. « Le corpus d'enregistrements de développeurs faisant des erreurs et réfléchissant pendant le processus d'édition d'un fichier n'est pas aussi vaste que le corpus de programmes et de patches open source utilisé pour entraîner un LLM », explique-t-il. Lors de tests simples, il n'a pas réussi à produire une session asciinema qui ressemble de près à ce qu'un humain ferait, surtout un humain utilisant un thème d'éditeur agréable et modifiant un fichier source existant de Dillo.

Pour l'heure, le projet Dillo n'exige pas encore de tels enregistrements. Arias Mallo indique qu'il souhaite approfondir les tests. La proposition intervient dans un contexte où la frontière entre contributions humaines et automatisées devient floue, posant des questions de confiance et de responsabilité dans les communautés open source.

Les réactions de la communauté : entre scepticisme et objections pratiques

L'idée a suscité un vif débat parmi les lecteurs et les contributeurs. Plusieurs critiques ont émergé.

Un processus jugé lourd et intrusif

Un commentateur, sous le pseudonyme dskoll, estime que « réviser une session d'édition semble une perte de temps très pénible ». Il doute que de nombreux contributeurs acceptent de se soumettre à cette procédure, surtout pour chaque correctif. Il propose plutôt de continuer à faire confiance aux déclarations des contributeurs attestant qu'ils n'ont pas utilisé d'IA, rappelant que le logiciel libre repose déjà sur une confiance mutuelle quant à l'origine du code.

Un autre intervenant, tlamp, juge qu'il serait « trivial de falsifier une telle session ». Selon lui, la mesure rendrait la contribution plus difficile pour les humains, mais pas vraiment pour les bots, qui n'ont aucun problème à gaspiller du temps sur ce genre d'exigence.

Une mesure anti-IA mais aussi anti-interface graphique

Plusieurs participants soulignent que l'obligation d'utiliser asciinema, qui fonctionne dans un terminal, exclut de facto les développeurs qui utilisent des éditeurs graphiques comme Emacs en mode X (avec polices, menus contextuels, raccourcis non transmissibles par terminal). « Suis-je censé passer à écrire mon code dans le carcan d'un émulateur de terminal juste pour prouver que je ne triche pas ? » s'interroge l'un d'eux. « Tu me fais si peu confiance que je ne contribue pas, désolé. »

Un autre commentateur ironise : « Un jour, tous les programmeurs seront obligés de devenir des vtubeurs pour contribuer à l'open source. »

Le parallèle avec le speedrunning : une pratique déjà existante

Un intervenant, tialaramex, rappelle que les communautés de speedrunning (records de jeux vidéo) imposent déjà des preuves vidéo. « Pour prétendre à un record de vitesse, il faut une vidéo montrant le joueur et ses mains en train de faire les entrées, en plus du jeu lui-même », explique-t-il. Ce précédent est cité pour relativiser l'idée : l'exigence de preuve n'est pas absurde en soi, mais son application au développement logiciel soulève des questions d'échelle et de praticité.

Le fond : qu'est-ce qu'une contribution de qualité ?

Au-delà des aspects pratiques, le débat touche à la nature même du travail de développement. Un commentateur, gmprice, estime que « le code, c'est du code » et qu'il y a peu de différence entre un correctif bien conçu généré par un LLM et un correctif écrit à la main, hormis le coût énergétique. D'autres, comme bertschingert, rétorquent qu'il existe une différence potentiellement significative du point de vue de la « programmation comme construction de théorie » : l'humain qui écrit le code acquiert un modèle mental complet du programme, ce que le prompteur d'IA ne développe pas nécessairement. « Je ne trouve pas encore évident que le produit fini – du code propre et correct – soit la seule valeur produite et que l'artisanat du codage manuel n'ait plus d'importance », écrit-il.

Un débat similaire agite la communauté quant à l'usage des IA pour comprendre un code existant : un contributeur admet parvenir bien plus rapidement à un bon modèle mental d'une base de code inconnue en utilisant l'IA, et estime qu'avec un guidage suffisamment précis, le résultat peut être de qualité. La question de la vérification des contributions n'est donc pas seulement technique, mais touche à la philosophie du travail collaboratif.

Conclusion : une piste à tester, mais pas encore une solution

La proposition de Rodrigo Arias Mallo est une tentative originale de préserver la confiance dans les contributions open source à l'ère de l'IA générative. Bien que l'idée d'enregistrement de session puisse sembler contraignante, elle ouvre un débat nécessaire sur les mécanismes de vérification. Les critiques soulignent qu'une solution acceptable devrait être à la fois efficace contre l'automatisation frauduleuse et respectueuse des différentes pratiques et outils des développeurs. Le projet Dillo ne s'est pas encore engagé dans cette voie, mais les échanges autour de cette proposition pourraient influencer les futures normes des communautés open source.