Changement de méthode de développement pour Ladybird
(ladybird.org)- Ladybird cesse d’accepter les pull requests publiques à l’approche de sa première alpha release et de la préparation du lancement d’un navigateur destiné aux utilisateurs réels, et seuls les mainteneurs du projet intégreront désormais les changements de code
- Les outils d’IA permettent désormais de produire plus vite et à moindre coût des travaux qui ressemblent à des contributions sérieuses, ce qui affaiblit l’ancien modèle de confiance selon lequel un gros patch démontrait de bonnes intentions et un effort significatif
- Un navigateur exécute sur la machine de l’utilisateur des entrées non fiables provenant de l’ensemble d’Internet, si bien qu’une seule vulnérabilité bien dissimulée suffit à un attaquant
- Toutes les PR publiques actuellement ouvertes seront fermées, et aucun processus séparé de soumission de patchs ni système de contribution fantôme ne sera créé via les issues, les commentaires, l’email ou les forks
- Ladybird restera open source, et la participation externe sera orientée non plus vers la soumission de code mais vers des signalements de bugs clairs, des reproductions minimales, des tests de sites web, des discussions sur les standards et le design, des rapports de sécurité et des retours techniques
L’essentiel du changement de processus de développement
- Ladybird n’acceptera plus de pull requests publiques et adoptera un mode de fonctionnement dans lequel seuls les mainteneurs du projet intégreront les modifications dans la base de code
- À l’étape de préparation de la première alpha release, un processus de développement plus strict, un modèle de sécurité plus clair et un groupe plus restreint, responsable du code qui entre dans le navigateur, sont devenus nécessaires
- Par le passé, un patch conséquent constituait raisonnablement un signal indirect d’un effort important et de bonnes intentions, mais avec les outils d’IA, cette hypothèse ne tient plus
- Un navigateur exécute sur la machine de l’utilisateur des entrées non fiables venant d’Internet, et une seule vulnérabilité bien camouflée peut suffire à un attaquant
- Il y a déjà eu dans l’open source des campagnes patientes et bien financées visant à gagner puis à exploiter la confiance des mainteneurs, et ce qui change aujourd’hui, c’est qu’il est devenu plus rapide et moins coûteux de produire du travail qui semble être une contribution sérieuse
- Tous les changements intégrés à Ladybird doivent être compatibles avec l’architecture, résister aux futurs refactorings, interagir correctement avec le reste du navigateur, et être compris par les mainteneurs
- La question n’est pas de savoir si le code a été écrit à la main, mais qui en porte la responsabilité une fois qu’il entre dans le navigateur
Mesures de transition et formes de participation qui restent possibles
- Toutes les pull requests publiques actuellement ouvertes seront fermées, car conserver la file d’attente existante reviendrait dans les faits à laisser ouverte la voie des contributions publiques, et la transition est donc engagée dès maintenant
- À l’avenir, les pull requests ne seront accessibles qu’aux mainteneurs du projet
- Aucun processus séparé de soumission de patchs via les issues, les commentaires, l’email ou les forks ne sera mis en place, et les forks ou dépôts de patchs ne seront pas traités comme une file de revue pour le Ladybird upstream
- Du code externe peut exister selon les conditions de licence
- Ladybird restera open source, et le code source continuera d’être publié conformément aux licences open source
- La participation externe continuera d’aider le projet via des bug reports clairs, des reductions, des tests de sites web, des discussions sur les standards, des discussions de design, des rapports de sécurité et des retours techniques
- À l’étape de préparation du lancement d’un navigateur pour de vrais utilisateurs, le processus de développement doit lui aussi être à la hauteur de cette responsabilité
2 commentaires
Réactions sur Hacker News
Je vois passer récemment beaucoup de PR sur de gros projets open source comme Godot, et il y a nettement plus de PR où le code et l’explication sont entièrement produits par l’IA
Comme c’est interdit par la politique du projet, l’auteur reçoit en général un simple rappel à l’ordre ; beaucoup l’acceptent bien, mais certains se mettent en colère parce que les mainteneurs ne leur sont pas reconnaissants
Même les gens qui ont complètement adopté l’IA n’ont pas encore vraiment intégré qu’il n’y a pas de valeur intrinsèque à simplement produire un bloc de code
Alors même que leurs efforts ont fortement diminué, ils s’attendent, lorsqu’ils soumettent une grosse PR, à recevoir la même réaction ou la même gratitude qu’avant l’IA
Dans ce contexte, je ne m’attends pas à ce que les gens au sale caractère déjà trop nombreux dans ce milieu changent de comportement après l’arrivée de l’IA
D’ailleurs, dans mon entreprise, du personnel non technique a commencé à soumettre des PR générées par l’IA sur le dépôt interne que je gère ; la qualité est excellente, et ils acceptent bien les retours de review puis les appliquent rapidement. Ce n’est pas un problème de profil technique, c’est un problème d’attitude
Cela transparaît non seulement dans leur manière de contribuer, mais aussi dans leur façon de parler au quotidien. On entend des choses comme « j’ai créé X », l’insistance sur le fait que leur propre « curation » a eu un impact énorme sur le résultat, la difficulté à reconnaître la contribution du LLM, l’attitude du type « moi je me concentre sur la création pendant que les autres perdent du temps sur les détails », ou encore le refus d’affronter les défauts potentiels
C’est étonnamment différent des développeurs seniors qui soupçonnent toujours que ce qu’ils ont produit est peut-être rempli de défauts et bricolé à la va-vite. On dirait le syndrome de l’imposteur inversé
Dans ce cas, le problème vient à 100 % des personnes qui envoient ces PR. Si quelqu’un montre qu’il n’a aucun scrupule à enfreindre les règles du projet et se montre même arrogant à ce sujet, cela devrait être un énorme signal d’alerte pour un employeur potentiel ou un futur collaborateur qui consulterait son profil
Je ne comprends pas pourquoi ils sabotent volontairement leur réputation. Mieux vaut largement n’avoir aucune activité sur son profil que d’y laisser une trace de mauvais comportement
Quelque chose du style : « Il ne s’agit ni de préserver les frontières du projet, ni de garantir la qualité du code. C’est juste un mécanisme de gatekeeping mis en place par des traditionalistes qui se sentent menacés par des créateurs tournés vers l’avenir comme vous, qui maîtrisent vraiment l’efficacité de l’IA »
« Un patch substantiel impliquait un effort substantiel, et cet effort était un indicateur indirect raisonnable de bonne foi. Cette hypothèse ne tient plus aujourd’hui. »
Cette phrase est au cœur du billet, et je pense qu’elle s’applique à la plupart des projets
Il faudra malgré tout un mécanisme pour juger si une personne peut, sur le long terme, s’investir suffisamment pour devenir mainteneur. Les contributions au code ne sont plus vraiment fiables comme signal, et je ne sais pas quel signal on utilisera à l’avenir. Ce sera un problème assez difficile
Mais si l’IA augmente vraiment fortement la productivité des programmeurs, il se peut aussi qu’un projet open source réussi n’ait plus besoin d’une grande équipe de mainteneurs
D’un côté, si on a grandi dans le bazar, passer à la cathédrale peut donner l’impression d’être face à « la mort de l’open source ». Alors qu’en réalité, ce n’est peut-être qu’un retour à une manière de travailler plus ancienne
D’un autre côté, si on n’accepte plus de contributions de code externes, la posture de sécurité s’améliorera clairement, mais il deviendra plus difficile de savoir qui inviter dans le sacerdoce
Avant l’ascension de GitHub, les projets open source ressemblaient davantage à des jardins clos derrière de solides clôtures. Quand on entrait dans la pièce, on avait l’impression de petits clubs où tout le monde vous dévisageait. GitHub a marchandisé le contact et abaissé la barrière d’effort ou d’intérêt nécessaire avant de contribuer
Cette époque est maintenant terminée, et il faut d’abord bâtir de la confiance avant de contribuer à quoi que ce soit
Ce n’est pas la mort de l’open source, c’est la mort du village global où tout le monde circulait librement et interagissait facilement. C’est le retour de communautés petites, sociales et fondées sur la confiance, et j’aimerais que cette dynamique se propage à l’ensemble d’Internet
Les gens aujourd’hui connaissent-ils seulement cette métaphore ou le livre de Raymond ? On vit dans un monde où Microsoft est un fournisseur majeur d’open source et détient la plateforme qui rend possible la majeure partie de la programmation open source sur Terre. Essayez d’expliquer ça à un voyageur temporel venu de la fin des années 1990
Et comme le sous-entend le commentaire voisin, même un « bazar » typique comme le noyau Linux paraît aujourd’hui assez cathédrale comparé au modèle de chaos illimité de GitHub
Je ne vois donc pas la décision de Ladybird comme un problème. Au contraire, j’y vois une décision qui renforce la dimension humaine du développement logiciel et met un frein aux passagers clandestins de l’IA
Ce n’est pas idéal, mais se construire une réputation a toujours été quelque chose qui prend du temps
Quand je vois ce genre de choses, je me dis qu’on ferait peut-être mieux de ne pas avoir d’IA du tout
C’est vraiment décevant de voir des projets open source perdre leur capacité à trouver de nouveaux mainteneurs et à les former
« Il n’y aura aucune procédure pour soumettre des patchs, par quelque moyen que ce soit » et « la participation externe reste importante : des signalements de bugs clairs »
Donc on peut trouver et corriger des bugs, mais on n’a pas le droit de dire exactement comment on les a corrigés ?
L’équipe doit donc le redécouvrir elle-même. Ça doit vraiment les enthousiasmer de devoir refaire quelque chose que d’autres ont déjà fait à plusieurs reprises
En tant qu’utilisateur et développeur, je ne vois pas pourquoi je consacrerais du temps à un projet qui met ce genre de barrières sur un logiciel susceptible d’améliorer ma vie. Il me paraît bien plus simple d’utiliser Firefox ou Chromium, où mes corrections peuvent réellement être acceptées
Par le passé, quand une nouvelle version de Chromium faisait planter mon produit, j’ai pu proposer un correctif à V8, et il a été intégré à la version suivante de Chromium, ce qui a permis à mon produit de refonctionner ; ça a été extrêmement utile (https://github.com/v8/v8/commit/4f8a70adca01c)
Sans cette voie, les développeurs de Chromium auraient peut-être manqué de temps pour identifier la cause et la corriger
On dit que « les pull requests n’en disent plus autant qu’avant sur leur auteur », mais personne ne devrait avoir besoin de savoir quoi que ce soit sur la personne qui a ouvert la pull request
J’aimerais que le code intégré dans Firefox ou Chromium soit jugé non pas sur les « efforts » ou la « bonne volonté » de son auteur, mais sur la justesse du code vérifiée lors de la revue
Relire une correction de code est manifestement plus facile que la concevoir soi-même. Si ce n’est pas le cas, autant écrire directement le code soi-même
Du point de vue du projet, il est toujours possible d’ignorer ou de fermer des PR non souhaitées. Mais interdire jusqu’à l’option de relire des contributions externes, ou de les utiliser comme base pour sa propre réécriture, ne semble pas très judicieux
Partager cette analyse détaillée est la meilleure façon de maximiser la contribution. Le code n’est au mieux qu’un bonus facultatif
Ta correction peut avoir de la valeur, mais cette valeur n’est pas forcément supérieure au coût de sa revue et de son intégration
Dire que « relire une correction de code est manifestement plus facile que la concevoir soi-même » est complètement faux sur des projets suffisamment complexes. La correction peut tenir en une ligne, alors que ses conséquences peuvent se propager très loin
En tant qu’utilisateur et développeur, si tu ne veux pas consacrer du temps à un projet qui suit de telles règles, alors ne le fais pas. Tu ne dois rien au projet, et le projet ne te doit rien non plus. C’est aussi simple que ça
Firefox et Chromium sont portés par des équipes bien plus grandes, sans parler du noyau Linux. Ils ont peut-être les moyens d’accepter ta contribution
C’est vrai non seulement dans mon expérience et dans le cas exposé dans le texte d’origine, mais aussi dans celle des nombreux mainteneurs qui ont partagé des billets similaires
Peux-tu partager des liens vers des projets open source que tu maintiens depuis des années et où tu as relu des contributions, afin d’étayer ton expertise sur cette question ?
Il suffit de l’écrire en langage naturel pour que les mainteneurs comprennent l’approche de résolution
Leurs priorités et leurs besoins sont différents. Dans ce cas précis, ils ont évalué la situation et jugé que ce n’était pas utile. Autrement dit, le coût dépassait le bénéfice
Il est intéressant de constater que, sur au moins un point important, Chromium/Gecko/WebKit ressemblent désormais à des moteurs de navigateur plus « ouverts » que Ladybird
On pourrait dire que Servo est au milieu, puisqu’il accepte des contributions externes tant qu’elles n’utilisent pas l’IA
On peut comprendre qu’une équipe peu financée ferme les contributions pour économiser du coût de travail. Mais j’ai aussi l’impression que les gens ne reconnaissent pas assez les ressources économiques que Google/Mozilla/Apple mobilisent pour rendre cette ouverture possible
Pour exposer mes biais personnels et mon expérience : je suis à la retraite aujourd’hui, mais j’ai travaillé autrefois chez Google sur Chrome. J’ai vu beaucoup de collègues accompagner des contributeurs externes, et je l’ai moi-même fait dans un cadre informel ou via des programmes comme des stages
Je ne pense pas qu’on doive être éternellement reconnaissant envers la construction de monopoles
Je peux comprendre pourquoi ils prennent cette décision. Si la plupart des pull requests sont du code écrit par une IA, les mainteneurs peuvent tout aussi bien envoyer directement un prompt à Claude Code.
Que ce soit dans l’open source ou non, j’ai l’impression que tout le jeu du software engineering a complètement changé. Un bloc de code ne signifie plus, ni n’implique, la même chose qu’il y a deux ans.
Il y a quelques années, si j’envoyais une PR complexe qui compilait et passait les tests, cela voulait dire que j’y avais investi ce temps et cet effort cognitif. Si je n’avais pas compris la codebase, la fonctionnalité ou le bug, il y a de fortes chances que je n’aurais pas fait cet investissement.
Aujourd’hui, le coût pour acquérir cette compréhension reste globalement similaire à avant, mais l’IA a fortement réduit le coût de production d’un code qui compile et passe les tests.
Les membres de la communauté, probablement de bonne foi, sont volontiers prêts à contribuer la chose devenue bon marché, c’est-à-dire des tokens Claude Code, mais comme cela coûte désormais trop peu, ce n’est plus un bon indicateur qu’ils ont apporté la chose coûteuse, la compréhension humaine.
Je travaille sur un side project avec OpenCode, et j’investis pas mal de temps à écrire des prompts, préparer les bons fichiers, et expliquer le produit que j’essaie de construire ainsi que sa roadmap.
Je mets ensuite en place une boucle de validation serrée, capable d’exécuter beaucoup de contrôles automatiques après chaque changement, puis j’itère après avoir testé manuellement de nombreux cas limites que la fonctionnalité générée pourrait casser. C’est un type de travail différent, mais je peux avancer plus vite qu’en codant à la main. L’élément clé, c’est la boucle de validation.
D’après mon expérience de ces derniers mois, coder avec l’IA est aussi une compétence : on apprend de nouvelles techniques en essayant, et on progresse. Cela veut aussi dire qu’en s’y prenant bien, on peut produire des résultats de valeur.
Donc je ne suis pas d’accord avec la première phrase, mais j’adhère complètement à la seconde. Ce que nous avons perdu, c’est la capacité à distinguer facilement un résultat mûrement réfléchi d’un résultat généré sans réflexion. Ici, se concentrer sur une validation peu coûteuse serait d’une grande aide.
J’ai l’impression que tous les projets vont évoluer dans cette direction. Il est plus logique d’affiner le plan ensemble.
Quand l’IA est apparue, j’ai eu peur qu’un jour elle me fasse perdre mon travail. J’ai eu de la chance, mais beaucoup de gens l’ont réellement perdu, et ça a fait très mal.
Quand quelqu’un perd quelque chose à cause de l’automatisation, indépendamment de la logique économique, on a envie d’être du côté des humains, ou au moins d’espérer que la société reste juste envers celles et ceux qui sont le plus touchés.
Maintenant, je vois les communautés être touchées. Si on tue les PR, ce ne sont pas seulement les contributions de code qui vacillent, mais aussi les contributions invisibles comme les idées, ou le fait d’avoir davantage de regards sur le code. Et ça me paraît bien pire.
Je suis tiraillé, confus, et j’ai peur. Et pourtant, j’utilise Claude et DeepSeek, diverses technologies, des harnesses complexes, du MCP, etc. Mais pour l’instant, tout cela ressemble à une période de transition. Une transition vers quoi exactement, je n’en sais rien.
À beaucoup de ces questions, on ne peut pas répondre si l’on ne donne pas un sens à la vie. Le toucher humain ? Est-ce déjà trop tard ? Et puis, j’aimais bien une chanson, avant d’apprendre que c’était du Suno. Après l’avoir su, j’ai retiré mon like. J’ai l’impression d’être idiot bien trop souvent.
Désolé pour cette digression décousue. J’aime Ladybird, j’ai même un sticker sur mon laptop. J’espère que ça marchera pour eux.
J’ai l’impression d’être au beau milieu d’une tornade. Malgré tout, couper l’écran, s’asseoir à son bureau, se calmer, puis repenser lentement aux premiers principes aide.
Pour reprendre Obama : « la réalité finit toujours par rattraper tout cela ».
On parle beaucoup, mais iOS ne sort pas chaque année dix ans de fonctionnalités et de correctifs. Littéralement personne n’y arrive, et au contraire on entend des plaintes sur des fonctionnalités existantes qui se cassent. Donc l’idée que nous serions à une productivité multipliée par 10 ne peut pas être vraie, et ce fait finira par nous rattraper.
Il faut réfléchir en êtres humains. Il faut aussi se souvenir que beaucoup de gens sont émotionnellement investis. Les juniors veulent que ce soit l’occasion de briller dans un marché qui les a rejetés. Les CEO ont parié sur l’IA et ne veulent pas faire marche arrière. Les seniors veulent envoyer le signal qu’ils ne sont pas devenus inutiles. Les entreprises d’IA vont polluer le débat. Mais cette fumée finira par se dissiper.
En pratique, cela aboutissait le plus souvent à des avis non sollicités, des tentatives de prise de contrôle hostiles, de l’extraction de valeur, du drama en général, et une charge opérationnelle globale qui venait simplement se greffer sur le fait de produire du code.
Cela n’a pas toujours été le cas, mais le modèle GitHub de développement open source libre et la suppression de toutes les frictions ont clairement créé une nouvelle norme par défaut.
Ce modèle n’a jamais été soutenable à l’origine, mais le rythme d’épuisement était suffisamment faible pour qu’on puisse tenir en remplaçant les personnes usées par davantage d’humains.
L’IA a fait passer le rythme d’épuisement au-dessus du rythme de remplacement. Il est donc très probable que davantage de projets adoptent cette position, ou une position proche.
Je suis créateur et programmeur ; je n’aime pas voir ce qui se passe dans certaines communautés, tout en utilisant des agents pour développer. Comme il était difficile d’éviter Google et Stack Overflow lorsqu’ils sont apparus, j’ai l’impression qu’il y a aussi avec les LLM un moment très net d’avant et après.
Je n’ai pas grand-chose d’utile à ajouter, mais je voulais au moins dire que tu n’es pas seul à ressentir ce conflit. Les nouveautés sont souvent comme ça : elles apportent d’immenses gains dans certains domaines, mais semblent retirer de l’humanité ailleurs ; certaines personnes les utilisent pour produire de la frime et des déchets, tandis que d’autres acquièrent de nouvelles capacités et construisent quelque chose de meilleur. Malheureusement, il n’y a pas de vérité universelle.
La lecture de ce billet laisse un arrière-goût étrange. L’auteur a en effet tendance à produire des PR non triviales de plus de 1 000 lignes, parfois plusieurs par jour, puis à les fusionner le jour même sans review.
Même en laissant de côté l’aspect LLM, cela reste problématique. Je ne sais pas quel pourcentage a été aidé, mais même si c’était 0 %, ce n’est pas un rythme de développement avec lequel je me sentirais à l’aise.
« Le point essentiel n’est pas de savoir si le code a été tapé à la main. L’important est de savoir qui en assume la responsabilité une fois qu’il entre dans le navigateur. Ladybird est en train de devenir un navigateur pour de vrais utilisateurs. La personne qui introduit un changement doit décider que ce changement a sa place dans le projet, et être celle qui en répondra. »
Dans mon entreprise, nous utilisons depuis des années une plateforme open source, en version Enterprise payante. Une faille de sécurité assez grotesque a été introduite dans cette plateforme et, en regardant de plus près, il était clair que l’IA avait pris le contrôle du projet.
Que cela soit explicitement indiqué ou non, c’est évident rien qu’au volume et à la fréquence dans les logs de commits. C’était très décevant.
[1] https://github.com/awesomekling
Les LLM sont peut-être l’une des raisons qui ont conduit Ladybird à prendre cette décision, mais ce n’est pas la seule raison possible. Par exemple, SQLite est développé à peu près de cette manière depuis presque le début.
Chacun semble avoir sa propre approche.
La licence est MIT et les mainteneurs apprécient toujours les rapports de bugs, mais tout le code du projet a été écrit par seulement trois personnes.
C’est une décision parfaitement rationnelle pour protéger leur temps et leur projet.
Avis sur Lobste.rs
En ce moment, faire des revues de contributions sur clang est vraiment misérable. Un flot interminable de PR nulles arrive, et les gens cachent mieux les signes évidents, mais on peut encore généralement les repérer, sauf que les filtrer prend du temps
Même quand quelqu’un admet utiliser l’IA et explique comment, il faut encore vérifier si c’est vrai ou si la personne minimise son usage pour faire passer une mauvaise PR
J’ai vu énormément de PR comme ça jusque-là, mais je ne crois pas avoir vu une seule PR de vibe coding qui soit réellement bonne. Certaines sont “correctes” et leur auteur commence lui-même à faire le travail, mais la plupart disparaissent, et pour le reste il est évident, même sans connaissance interne de clang, que les bases mêmes du code sont complètement fausses
Le pire, ce sont les scripts qui automatisent le pipeline fuzzer → bug → LLM → PR, en comprenant gravement de travers le bug réel, en le “corrigeant” de façon cassée, et en ajoutant de mauvais tests, voire sans même inclure le cas d’échec d’origine
Au final, ça réduit même l’envie de consacrer du temps à faire monter de nouveaux contributeurs en compétence. Quand un nom inconnu envoie une PR pour corriger un crash, je commence d’abord par me demander si c’est une perte de temps ou quelqu’un qui pourrait devenir un vrai contributeur
Les gens qui se contentent de jeter des déchets sur un projet ne s’intéressent ni à la contribution ni à l’apprentissage, et pour la plupart on dirait qu’ils veulent surtout pouvoir mettre quelque chose comme « contribution à clang » sur leur CV
Il est revenu plusieurs fois ensuite pour demander : « pourquoi la liste n’est-elle pas mise à jour ? pourquoi je n’y suis toujours pas ? », puis a disparu une fois le site actualisé
Cela dit, moi aussi j’étais idiot de façon comparable quand j’étais plus jeune. J’ai déjà envoyé un mail pour demander qu’on ajoute à une liste un miroir que j’avais créé parce qu’on disait qu’on pouvait mettre en miroir le site web d’une personnalité célèbre de l’open source, et je me suis aussi abonné à la mailing list de développement de nmap pour devenir un 1337 hax0r sans jamais envoyer de patch
La définition du problème est claire pour tout le monde. Depuis des décennies, les projets open source ont appris à qui faire confiance à travers les contributions de code : les gens faisaient le travail, assumaient la responsabilité des changements et restaient, et la confiance naissait du travail lui-même
Mais je pense que cette solution est une version strictement pire que l’interdiction des contributions LLM choisie par le projet Zig
Maintenant que les outils d’IA changent rapidement l’économie du secteur, une PR n’en dit plus autant qu’avant sur son auteur. Un gros patch impliquait autrefois un gros effort et servait d’indicateur indirect de bonne foi, mais cette hypothèse ne tient plus
Ce qui m’inquiète, c’est que l’open source est déjà une activité difficile et qu’il faut exploiter au maximum ses avantages précieux ; or les contributeurs apportent en pratique une valeur énorme presque gratuitement (contributor poker), et ils sont aussi très importants comme vivier de recrutement. Rejeter tout cela en bloc me paraît être un choix insensé
On pourrait soutenir que les LLM peuvent combler ce vide, mais d’abord on aurait pu interdire l’usage des LLM uniquement dans les PR de contributeurs non fiables ; ensuite même les meilleurs LLM ont un coût, le prix des tokens augmente, le code doit de toute façon être relu, et au bout du compte ils ne peuvent pas devenir des contributeurs clés de confiance responsables d’une partie de la base de code
Si on supprime l’apport de code venant des PR, alors avec le temps une petite minorité de contributeurs finira par posséder l’ensemble du code, ce qui rendra un license rugpull plus facile pour le projet. Quand la propriété du copyright est bien répartie, c’est beaucoup plus difficile
Globalement, ça ne sent pas bon. Cela transforme l’open source en modèle économique encore plus problématique qu’il ne l’est déjà, rend le recrutement de contributeurs clés plus difficile et concentre la propriété du code entre quelques mains. C’est une recette évidente pour le désastre, au point de me faire me demander si ce n’est qu’une simple erreur ou si certains sponsors de Ladybird jouent à un drôle de jeu
Je suis vraiment curieux de connaître le fond de ce changement. Pour un projet qui se vantait en tête de ses rapports mensuels du nombre et de la diversité des nouveaux contributeurs, c’est un virage très brusque. L’explication fournie ici semble au minimum incomplète
Zig et Ladybird cherchent tous deux une voie à suivre dans un avenir que nous ne voulions pas. Pendant des années, nous n’avons rien vu venir, et honnêtement je ne pensais pas que cet avenir arriverait. Maintenant, il n’est plus du tout clair de savoir ce qui est la “bonne chose à faire”
Ce que j’aimerais demander à Zig, c’est ceci : on ne peut pas distinguer une PR LLM d’une PR écrite directement par un humain. On peut filtrer les déchets produits sans effort, mais pour faire du “sans IA”, il faut une sorte de test de Turing, et moi avec une licence Claude Pro je peux tout à fait le réussir
Ce que fait réellement le “sans IA”, c’est permettre d’attaquer quelqu’un, ainsi que sa réputation, s’il envoie du code généré avec un LLM en prétendant que c’est du travail manuel et qu’il se fait prendre. Est-ce vraiment à cela qu’on veut consacrer du temps ? On finirait avec une sorte de Karl Jobst chargé de débusquer ceux qui utilisent des LLM en se faisant passer pour des codeurs à la main
Cela n’empêche pas les PR issues de LLM, cela transforme juste le jeu en “attrape-moi si tu peux”. Quand j’ai vu Andreas prendre chez Ladybird une décision proche d’un rugpull, j’ai d’abord eu un frisson dans le dos, puis je me suis dit qu’il avait du culot. L’assistance par LLM et la confiance sont de très gros sujets, et j’aimerais voir Zig comme Ladybird réfléchir hors des cadres habituels
En réalité, il est Designator et, si je lis correctement le texte, cette position lui est garantie à vie sauf démission ou incapacité. Les Designators décident à la majorité, mais comme ils ne sont que deux, ils doivent être d’accord tous les deux ; ce sont eux qui nomment ou révoquent les Directors, et leur accord est aussi nécessaire pour modifier les statuts
En d’autres termes, il dispose de fait d’un droit de veto sans contre-pouvoir sur l’organisation à but non lucratif. Andreas aussi, mais Andreas est quelqu’un qui a produit une grande partie du travail, qui est impliqué dans le projet et qui n’est pas milliardaire. Wanstrath, lui, est milliardaire, s’est engagé à donner une fraction infime de sa fortune et n’est pas impliqué dans l’exploitation, tout en ayant les mêmes pouvoirs
Sauf s’il y a une bonne raison juridique qui m’échappe, cela ne ressemble pas à une bonne structure de gouvernance pour un projet open source
Je m’inquiète de voir ce qu’il adviendra à long terme des projets qui ont récemment fermé les contributions. À un moment, une partie des personnes clés de confiance finira par partir, et sans contributeurs de long terme déjà éprouvés, il risque de ne pas y avoir de successeurs évidents
La trajectoire par défaut pourrait mener au burn-out et à des projets abandonnés, donc j’espère qu’ils trouveront un moyen de surmonter ça
Je ne vois là aucune forme de leadership. Ce n’est pas un pas dans la bonne direction, ni une idée sur la manière dont nous pourrions coexister
Je comprends que la pression soit réelle, mais la réponse semble cynique et défaitiste plutôt que dynamique et porteuse d’espoir, ce qui est décevant
Le passage disant qu’ils vont “fermer toutes les pull requests publiques actuellement ouvertes dans le cadre de ce changement” est choquant
Il y a quelques années, un projet a fermé ma PR en décidant qu’il n’avait pas les ressources pour relire des PR ; ça fait assez mal et ce n’est pas juste pour les contributeurs qui ont investi du travail dans cette PR
Je comprends les raisons avancées, mais la décision m’inquiète. Ce n’est pas forcément une mauvaise chose, et si c’est temporaire, avec un autre compromis trouvé plus tard, ça pourrait aller, mais cela reste préoccupant
Ce n’est pas non plus le premier signal inquiétant. La réécriture Rust assistée par LLM m’a fait la même impression. Contrairement à Bun, cela semblait relativement prudent, avec des composants de taille révisable, des entrées et sorties claires, et une exécution en parallèle avec les composants existants pour repérer les divergences. Malgré cela, ce n’est pas la méthode que j’ai envie de voir dans un moteur de navigateur
J’espère que Ladybird réussira. Je veux qu’un nouveau moteur de navigateur remette en cause la structure oligopolistique. Mais si Ladybird déraille, il est aussi rassurant de voir que Servo, qui stagnait depuis des années, progresse enfin bien
Utiliser du code poubelle généré par IA pour l’implémentation Rust, soutenir DHH, autrement dit sembler du côté du suprémacisme blanc et de l’anti-LGBT, tout en paraissant assez agressif. Je ne pense pas que ce projet ira très loin
S’il n’y a pas de voie d’entrée permettant aux gens de devenir contributeurs depuis l’extérieur, j’ai l’impression qu’ils vont passer à côté de beaucoup de choses. Même si cela demande un engagement plus sérieux que de simplement passer et envoyer une PR
De cette façon, lorsqu’ils voudront ajouter des développeurs, le vivier de personnes connaissant la base de code sera plus large, et des organisations externes pourront aussi résoudre des besoins que l’équipe centrale ne considère pas comme prioritaires. Cela aide aussi à l’adoption et réduit la charge de travail
Je ne pense pas qu’il soit juste d’apposer le tag vibecoding à ce billet. Regrouper les victimes du vibe coding sous le même tag que les gens qui font la promotion de cette pratique me semble fondamentalement étrange