Tridge Responds To The Claimed Rsync AI Caused Regressions
La vidéo analyse la controverse autour de l’utilisation de l’IA (Claude) par Andrew Tridgell (Tridge) pour moderniser Rsync, les réactions excessives de la communauté, et les leçons techniques et humaines à en tirer pour la maintenance d’un projet critique.

SYNTHÈSE STRUCTURÉE
Le contexte de la controverse
Andrew Tridgell, mainteneur historique de Rsync, a utilisé Claude (un LLM) pour réécrire la suite de tests en Python et renforcer la sécurité du projet. Cela a déclenché une tempête sur Mastodon et Hacker News, avec des accusations virulentes, allant jusqu’à des menaces de mort. L’intervenant note : « There were people out there who were basically wishing for Tridge to die ». La majorité des critiques étaient hors-sujet, avec du spam et des attaques personnelles.
Les vrais problèmes techniques derrière les réactions
Toutes les régressions signalées n’étaient pas dues à l’IA. L’intervenant distingue plusieurs causes :
- Des régressions réelles introduites par du code assisté par IA.
- Des bugs anciens découverts car le projet a soudainement attiré plus d’attention.
- Des problèmes de couverture de tests historiques.
- Des échecs spécifiques à certains environnements de packaging. Comme il le dit : « Some reports were regressions from recent security hardening, some were missing historical test coverage, and some were older bugs found because Rsync suddenly had more eyes on it ».
La réponse mesurée de Tridge
Tridge a publié un billet de blog intitulé « Rsync and Outrage » pour clarifier sa démarche. Il explique qu’il a conçu lui-même la nouvelle architecture de la suite de tests en Python, en utilisant Claude, Codex et Gemini uniquement pour le travail de rédaction répétitif. Il insiste : « I did not just vibe code convert test suite to Python, I’m a software engineer with 40 years experience ». Il a revu chaque partie personnellement et utilisé un grand nombre de cycles CI pour valider le tout.
Les limitations de PyTest pour Rsync
Tridge a délibérément choisi de ne pas utiliser PyTest, ce qui a suscité des critiques. Il justifie ce choix par des besoins spécifiques :
- Un système de verrouillage parallèle pour éviter les collisions de ports TCP.
- Un système distribué (
FleetTest.py) permettant de lancer des tests sur différentes machines et OS (Solaris, macOS, Linux) avec des résultats attendus différents. - Le lancement de combinaisons de processus (daemon, client, serveur) pour chaque test, y compris des tests de compatibilité entre versions. Il précise : « The normal PyTest flow is to run a bunch of tests within the same process », ce qui ne correspondait pas à ses besoins.
Les régressions de la version 3.4.3
Tridge reconnaît que la version 3.4.3 a introduit des régressions, mais il explique qu’il a délibérément privilégié la correction de failles de sécurité, quitte à impacter des cas d’usage rares non couverts par la suite de tests existante. Il conseille : « If you don’t mind security risk, then you can, of course, use an older release », tout en rappelant que ces anciennes versions avaient aussi leurs propres régressions.
L’arrivée de nouveaux contributeurs
Un point positif de cette crise est l’arrivée de nouveaux mainteneurs, dont SteadyTao (qui a fermé le fil de discussion toxique) et plusieurs autres développeurs (Pterra, Seb MTN, Shanker Wangmiao, etc.). L’intervenant note que certains ont été motivés par sa propre vidéo : « They did specifically cite me as the reason and the video I made for why they got involved with the project ».
Le test de Open Rsync
Tridge a testé Open Rsync (un fork) avec sa nouvelle suite de tests : 85 échecs sur 98 tests. Il commente avec ironie : « Admittedly, a lot of the failures are just features Open Rsync doesn’t have, but still, not a great result ». Cela montre que la qualité de la suite de tests est un atout, même pour les forks.
Les leçons sur l’utilisation de l’IA en sécurité
Tridge, qui a un PhD en informatique et a travaillé sur les réseaux de neurones, rappelle que le domaine évolue très vite : « Anything you learned about this stuff last year might as well be from another planet ». Il défend l’idée que l’IA est un outil, pas une menace, à condition d’être utilisé avec prudence et revue humaine.
La suite : version 3.4.4 et préparation de la 3.5.0
Tridge a finalement choisi de sortir une version 3.4.4 pour adoucir certaines régressions, tout en préparant une version 3.5.0 avec des changements majeurs de sécurité. Il explique : « You can’t do a rapid large change to a piece of software like Rsync without a really comprehensive test suite ». La nouvelle suite de tests est donc un prérequis pour ces évolutions.
Les critiques persistantes et l’avenir
Même après les clarifications, certains continuent de critiquer le choix du modèle (Claude plutôt que GPT). L’intervenant conclut : « I have absolutely no doubt that if anything at all goes wrong, I know what is going to be blamed ». Il espère que l’implication de nouveaux développeurs permettra d’éviter une répétition de ce drama.
CONCEPTS CLÉS
- Suite de tests en Python : Réécriture des scripts shell de test de Rsync en Python, conçue par Tridge pour être plus modulaire et adaptée aux tests parallèles et distribués.
- FleetTest.py : Système de test distribué permettant de lancer des tests sur plusieurs machines avec des OS différents, en contrôlant la provenance des binaires et les résultats attendus.
- RunTest.py : Lanceur de tests qui crée une combinaison de processus (daemon, client, serveur) pour chaque test, y compris des tests de compatibilité entre versions.
- Défense en profondeur : Stratégie de sécurité consistant à ajouter plusieurs couches de protection (durcissement, tests, analyse de code) pour réduire les risques.
- Régression : Bug introduit par une modification qui casse une fonctionnalité qui fonctionnait auparavant.
CONCLUSION
Le message principal est que l’utilisation de l’IA dans un projet critique comme Rsync n’est pas un problème en soi, à condition qu’elle soit encadrée par une expertise humaine solide et une revue rigoureuse. La controverse a révélé à la fois les excès de la communauté (menaces, spam) et les vrais défis techniques (régressions, couverture de tests). L’avenir de Rsync semble plus prometteur grâce à l’arrivée de nouveaux mainteneurs et à une suite de tests modernisée, mais la vigilance reste de mise : toute future régression risque d’être attribuée à l’IA, qu’elle en soit la cause ou non.