XFCE Is Vibecoded Now

Cette vidéo analyse le port Wayland de XFCE (Xfwm4) et le rôle des LLM dans son développement, en explorant les implications juridiques, éthiques et pratiques de l'utilisation de l'IA dans les projets open source.

Voir la source

SYNTHÈSE STRUCTURÉE

État actuel du port Wayland de XFCE

Le port Wayland de XFCE, mené par Brian Tarricone, est encore en phase alpha mais plus avancé que prévu. L’intervenant note : “It crashed in the video. It’s an alpha. And that’s fine, because this is very far away from actually being something they ship to users.” Les versions X11 et Wayland coexisteront au moins pour un certain temps, sans date précise pour l’abandon de X11. Il recommande d’essayer la version Wayland pour constater son état, même si elle n’est pas prête pour une utilisation quotidienne.

Les trois arguments classiques contre les LLM

L’intervenant identifie trois catégories de critiques récurrentes concernant l’utilisation des LLM dans le développement :

  • Conditions de licence non testées : qui possède réellement la sortie d’un LLM ? Est-elle dans le domaine public, sous licence originale, ou sous une nouvelle licence propriétaire ?
  • Dépendance excessive et perte de compétences : l’utilisation systématique des LLM dès le début de la carrière pourrait empêcher le développement des compétences fondamentales.
  • Perturbation communautaire : le bruit généré par les centres de données et les revendications sur la consommation d’eau.

L’intervenant précise : “It’s a tool like any other. It has good parts and bad parts.”

Le problème de l’open washing

Le concept d’open washing consiste à prendre du code d’un projet, le “laver” via un LLM, puis à produire une sortie qui prétend être exempte de toute contrainte de licence. L’intervenant explique : “You are taking code from a project and then sort of like, you know, washing it around, jumbling it around, and then out the other side, you get something which at least claims to be clean of any of those license attachments.” Ce terme préexistait à l’IA et désignait déjà des entreprises qui prétendaient faussement que leur code était open source.

Le flou juridique autour des données d’entraînement

La question de savoir si l’entraînement d’un LLM sur du code GPL constitue une violation de copyright reste juridiquement non résolue. L’intervenant souligne : “US law seems to suggest that training is fair game as long as the entity doing the training has legal access to data they are training on. As for the rest of it, I’m not sure that’s legally settled.” Il note également que la situation varie selon les États américains et les pays, avec des approches potentiellement très différentes en Europe ou en Australie.

L’impact sur le matériel PC

L’intervenant établit un lien entre la montée de l’IA et la pénurie de matériel : “If you could still buy GPUs, RAM, all this good stuff at a regular price, I feel like a lot less people would actually care.” Il mentionne une action collective contre les fabricants de RAM pour pratiques anticoncurrentielles présumées, bien qu’il ne sache pas comment cela va évoluer.

L’utilisation pragmatique de Claude par Brian Tarricone

Brian utilise Claude principalement pour la recherche et la planification, pas pour l’écriture de code. L’intervenant cite son approche : “One common prompt of mine looked at the Xfwm4 source in detail and determine everything there is to know about features, write up a plan for how to implement it in Xfwm4 to the note feature.md.” Cette méthode lui permet de comprendre les fonctionnalités existantes de Xfwm4 (version X11) avant de les implémenter dans la version Wayland.

La validation par phases et la revue de code

Brian travaille par phases : il écrit l’implémentation à la main, puis demande à Claude de valider son travail. Il précise : “Often while I’m working, I’ll decide to deviate from the plan and I’ll have to tell Claude to do the validation based on the outcome I want, not based on the adherence to the plan.” Il utilise ensuite la revue de code avec des sous-agents pour une analyse complète, et recommande de répéter ce processus jusqu’à ce qu’il ne reste plus de problèmes.

L’utilisation ciblée pour le code répétitif

Brian utilise Claude pour générer du code boilerplate ou des modifications mécaniques : “When it’s like a new problem, depends on what you’re trying to do. But, if it’s something that like, ‘Hey, I have a structure, just go and modify this to fit in all of these different places,’ at least from my experience, it has been quite good.” Il garde généralement Claude en mode manuel pour approuver chaque modification, mais peut le laisser en mode automatique pour des changements purement mécaniques.

La préservation des compétences de débogage

Brian insiste sur l’importance de ne pas laisser ses compétences s’atrophier : “Whenever there’s a bug, I’ll start looking into the code myself. I want to keep my debugging skills from atrophying.” Il demande néanmoins en parallèle à Claude d’analyser le problème, et admet que Claude trouve souvent la solution plus rapidement que lui, parfois en 10 minutes là où il aurait mis des jours.

Les tests générés par LLM

Xfwm4 n’a pas beaucoup de tests unitaires, et ceux qui existent ont été écrits par Claude. L’intervenant note : “Claude’s tests are generally much more comprehensive than tests I’d write myself.” Il mentionne toutefois un risque avec les anciens modèles qui pouvaient écrire des tests codés en dur pour passer, mais cela ne s’est pas produit dans son expérience.

L’importance du template pour les tests

Pour les tests Wayland, Brian a utilisé son premier test comme modèle pour les suivants : “I told Claude to write them for me using my first test as a template.” Cette approche permet de donner un style et une structure cohérente au LLM, plutôt que de lui demander de générer du code sans contexte.

Le choix du modèle et les limites d’utilisation

Brian utilise Opus 5 (via un abonnement Max 5X à 100 $/mois) sans stratégie particulière ni automatisation supplémentaire. L’intervenant explique : “I started out with the Pro plan, but very quickly started hitting limits in the first 1 to 2 hours of the 5-hour windows, so I eventually upgraded.” Il ne dépasse jamais ses limites hebdomadaires avec le plan Max 5X.

L’inquiétude pour la prochaine génération de développeurs

L’intervenant exprime une préoccupation majeure : “I am really concerned about what happens when the current generation of developers sort of fades out and the next generation developers who are entirely LLM reliant end up taking those roles.” Il compare cela à la disparition des compétences en assembleur, mais souligne que cette fois, c’est l’ensemble des compétences fondamentales de développement qui pourrait s’atrophier.

Le bilan global de l’utilisation des LLM

L’intervenant conclut que l’utilisation des LLM par Brian est raisonnable : “I don’t think XFCE is now vibe coded, XFWM4 is vibe coded. Everything I’ve read here doesn’t indicate that. What I’m seeing is someone who is making use of this tech as a way to augment their workflow without necessarily just abandoning the idea of being an engineer.” Il estime que Brian a gagné des mois de travail grâce à ces outils, principalement dans la recherche de problèmes et l’analyse de code.

CONCEPTS CLÉS

  • Open washing : pratique consistant à “laver” du code via un LLM pour prétendre qu’il est exempt de contraintes de licence, alors qu’il provient de projets sous licence spécifique.
  • Paperclip maximizer : expérience de pensée où une IA optimise une tâche simple (fabriquer des trombones) jusqu’à transformer toute la matière de l’univers en trombones, illustrant les risques d’une optimisation sans contraintes.
  • Vibe coding : pratique de développement où l’on laisse l’IA générer le code sans le comprendre ni le revoir, souvent critiquée pour la qualité du résultat.
  • Mode manuel vs mode automatique : dans Claude Code, le mode manuel exige une approbation pour chaque modification, tandis que le mode automatique laisse l’IA agir sans supervision.
  • Compilation coffee break : référence à l’époque où compiler un programme prenait suffisamment de temps pour aller chercher un café, concept que l’intervenant compare à l’attente pendant que Claude analyse le code.

CONCLUSION

L’utilisation des LLM dans le développement open source est devenue incontournable, comme le montre le projet Xfwm4. L’approche de Brian Tarricone est exemplaire : il utilise l’IA comme un outil d’augmentation de ses capacités, pas comme un substitut à ses compétences. Il préserve ses compétences de débogage, valide chaque modification, et utilise l’IA pour les tâches répétitives ou l’analyse de code. L’intervenant conclut : “We are not in 2022 any longer. This is not the launch of chat GPT where you could look at it and say, ‘This is garbage.’ We’re at a point now where it’s actually useful.” La question centrale reste la formation de la prochaine génération de développeurs et la préservation des compétences fondamentales face à une dépendance croissante aux outils d’IA.

Du même canal

Tout voir