I'm Conflicted About Future Of Open Source

L'utilisation de l'IA dans le développement open source est déjà une réalité massive chez les nouveaux développeurs, ce qui pose des questions fondamentales sur la qualité du code, la viabilité des licences logicielles et l'avenir des projets qui choisiraient de l'inte...

Voir la source

SYNTHÈSE STRUCTURÉE

L’IA, nouvelle norme pour les jeunes développeurs

L’intervenant constate, au contact d’étudiants et de jeunes diplômés, que l’utilisation de l’IA dans le développement ou l’apprentissage est devenue la norme. Il distingue deux profils : ceux qui “vibecodent” sans comprendre le code produit, et les ingénieurs qui utilisent l’IA comme un outil d’augmentation pour augmenter radicalement leur productivité. “It is the norm. Not every single person, but a majority of people are using AI in some form of their development.”

Le cas concret du clone Logitech Options Plus

Un projet récent sur Reddit, un clone natif de Logitech Options Plus pour Linux, a suscité la controverse car son auteur n’a pas immédiatement révélé l’utilisation intensive de Claude (IA). L’auteur défend son usage en arguant qu’un “vibecode” pur est impossible sans compréhension sous-jacente : “there is no amount of prompting that you can make to produce something extensible and modular if you don’t know what you are doing.” Ce cas illustre la difficulté à juger la valeur d’un projet utilisant l’IA.

Des politiques divergentes dans les grands projets

Les grands projets open source adoptent des postures très différentes face à l’IA :

  • Le noyau Linux : Adopte une approche pragmatique en l’intégrant à son “Developer Certificate of Origin”. L’utilisateur doit déclarer son usage et en assumer l’entière responsabilité.
  • NetBSD : Interdit son utilisation, la considérant comme du code “souillé” (“tainted code”) pouvant introduire des problèmes de licence, notamment du code GPL non désiré.
  • KDE : N’a pas de position claire sur le code, mais interdit l’utilisation de l’IA pour rédiger les candidatures au Google Summer of Code, privilégiant l’authenticité humaine.

Le dilemme existentiel des licences logicielles

C’est le point de tension majeur. Les licences open source (GPL, MIT, etc.) sont fondées sur le droit d’auteur humain. Or, la copyrightabilité du code généré par l’IA n’est pas établie juridiquement, notamment aux États-Unis où la tendance est de la refuser. L’intervenant pose une question cruciale : “Does a software license even apply to that codebase or is that code now effectively in the public domain?” Cela ouvre la porte à des problèmes de mélange de licences et remet en cause le fondement juridique de projets largement assistés par l’IA.

L’IA dans la revue de code et les rapports de bugs

L’utilisation de l’IA ne se limite pas à l’écriture de code. Dans systemd, un mainteneur a explicitement utilisé Claude pour une relecture de code (“pottering said at claude review”). Des initiatives comme Project Glass Wing l’utilisent pour auditer la sécurité. À l’inverse, Daniel Stenberg, créateur de cURL, dénonce le flot de rapports de bugs inutiles générés par l’IA (“AI sloper reports”) qui ont forcé l’arrêt de son programme de bug bounty. La clé, selon l’intervenant, est le consentement : l’outil est acceptable quand les mainteneurs du projet en contrôlent et en autorisent l’usage, mais devient nuisible quand il est utilisé de manière anarchique par des contributeurs externes.

Le futur : une génération “nativement IA” et ses conséquences

L’intervenant anticipe un avenir où une génération entière de développeurs aura grandi avec l’IA comme outil intrinsèque. Cela pose la question de la viabilité des projets qui l’interdiraient : “What does that mean for the projects that outright ban AI code?” Risquent-ils de se priver d’une nouvelle génération de contributeurs et de devenir l’apanage de “gray beards” ? À l’inverse, les accepter expose à l’insécurité juridique des licences.

CONCEPTS CLÉS

  • Vibecoding / Vibecoded : Production de code en se fiant entièrement aux suggestions de l’IA sans comprendre la logique ou l’architecture sous-jacente. Synonyme de développement superficiel.
  • Developer Certificate of Origin (DCO) : Procédure utilisée par le noyau Linux et d’autres projets où le contributeur certifie être autorisé à soumettre le code sous la licence du projet. L’IA y est traitée comme un outil dont le contributeur reste responsable.
  • Tainted code : Terme utilisé par NetBSD pour désigner le code généré par l’IA, considéré comme “impur” en raison des risques légaux (problème de provenance et de licence).
  • AI sloper reports : Rapports de bugs ou de vulnérabilités de faible qualité, générés en masse par l’IA, qui submergent les mainteneurs sans apporter de valeur (référence à l’expérience de cURL).

CONCLUSION

Le message principal est que l’IA dans le développement open source n’est plus une question hypothétique, mais un fait accompli qui transforme déjà les pratiques. La communauté se trouve à un carrefour : ignorer cette réalité risque d’isoler les projets historiques, tandis que l’accepter sans cadre expose à une crise de confiance juridique et qualitative. L’intervenant ne propose pas de solution, mais insiste sur l’urgence de réfléchir collectivement à ces enjeux, car ils détermineront la pérennité et l’intégrité de l’écosystème open source. La distinction finale entre un usage consenti et contrôlé par les mainteneurs et un usage anarchique semble être un premier critère essentiel pour naviguer cette transition.

Du même canal

Tout voir