- Les petites bibliothèques utilitaires JavaScript deviennent progressivement superflues à cause des capacités de génération de code des LLM
- Par exemple,
blob-util, un paquet npm vieux de 10 ans, est une boîte à outils de traitement des Blob, mais l’IA peut désormais générer à la volée un code similaire
- Cette évolution permet moins de dépendances et un développement plus rapide, mais entraîne aussi la perte d’occasions d’apprentissage et de compréhension
- Après l’extension des fonctionnalités intégrées de Node.js et des navigateurs, les LLM accélèrent la fin des petites bibliothèques
- À l’avenir, la valeur de l’open source pourrait se maintenir dans des domaines créatifs, à grande échelle et spécialisés
Le déclin du petit open source et l’impact des LLM
blob-util, créé il y a 10 ans, est un ensemble simple d’utilitaires qui convertit l’objet Blob de JavaScript en chaîne de caractères ou en ArrayBuffer, et il est téléchargé plus de 5 millions de fois par semaine
- L’auteur l’a créé en voyant que les utilisateurs de PouchDB avaient du mal à manipuler les
Blob
- Environ 80 % des développeurs utilisent aujourd’hui l’IA dans leur travail, ce qui permet aux LLM de remplacer des utilitaires simples
- Exemple : Claude génère instantanément une fonction TypeScript qui convertit un
Blob en ArrayBuffer
- Le résultat produit par Claude ressemble à
blob-util, mais il est plus verbeux, avec une validation de types excessive, tandis que la gestion des erreurs est améliorée
- L’auteur note que cette évolution peut apparaître comme une réduction des dépendances et une amélioration de la robustesse du code
La perte de valeur de l’open source centré sur l’apprentissage
- Le README de
blob-util inclut un tutoriel mettant en scène le personnage Kirby ; au-delà de la simple fourniture de fonctionnalités, il visait aussi à aider à apprendre JavaScript
- Dans un environnement de développement centré sur les LLM, les réponses immédiates passent avant la compréhension et l’enseignement, ce qui réduit le besoin de ce type d’open source pédagogique
- Des initiatives comme
llms.txt pour automatiser la documentation finissent par redéfinir le sens même de la documentation
Une nouvelle direction pour l’open source
- L’auteur continue à faire de l’open source, mais estime que l’époque des petites bibliothèques à faible valeur est terminée
- La tendance était déjà au recul avec l’extension des fonctionnalités intégrées de Node.js et des navigateurs (
node:glob, structuredClone, etc.)
- Les LLM ont décisivement accéléré ce mouvement
- Même les bibliothèques qui jouaient un rôle pédagogique (comme Underscore.js) deviennent moins nécessaires
- Une fonction simple comme le groupement de tableaux peut désormais être résolue avec les API standard
Les conditions de l’open source qui conserve de la valeur
- La valeur se concentre sur des projets vastes, créatifs et spécialisés que les LLM ne peuvent pas générer facilement
- Par exemple, le projet
fuite et les recherches sur la détection des fuites de mémoire relèvent d’un travail créatif difficile à reproduire pour un LLM
- À l’avenir, le sens de l’open source résidera dans les idées nouvelles et la créativité humaine
- L’article mentionne par exemple le framework Ripple.js développé par Dominic Gannaway, en soulignant l’importance de l’esprit d’expérimentation humain
Conclusion
- Les LLM ont rendu une partie de l’open source obsolète, mais il existe toujours de nouvelles possibilités de création open source
- La créativité et l’esprit d’expérimentation des développeurs humains sont présentés comme les éléments clés de la pérennité de l’écosystème open source à l’ère de l’IA
4 commentaires
Je pense que c'est acceptable, tant qu'on peut empêcher les habitudes étranges de l'écosystème, comme left-pad.
À mesure que l'époque offre un rapport effort/satisfaction de plus en plus faible, il semble que les petits utilitaires finiront par être délaissés, jugés sans assez de valeur au regard du travail (des efforts) nécessaire à leur maintenance.
Avis Hacker News
En ce moment, environ 80 % des développeurs utilisent l’IA dans leur travail
Des utilitaires comme
blob-utilpeuvent désormais souvent être générés directement par un LLMMais cette approche est à double tranchant. Du code non vérifié laisse un fardeau de maintenance et peut échouer sur des cas limites
C’est pourquoi, dans l’écosystème Java, des collections d’utilitaires standard fiables comme Apache Commons se sont imposées
À l’inverse, le code généré par un LLM semble logique en apparence, mais a de fortes chances de cacher des bugs étranges
Nous sommes entrés dans une époque où l’IA génère du code et des tutoriels à grande échelle, ce qui accélère la baisse de qualité et la spamification
La motivation à créer un blog personnel ou une petite bibliothèque diminue
Les textes produits par les LLM sont d’un niveau similaire, donc j’ai même l’impression qu’ils sont devenus plus faciles à filtrer
Je teste la vraie valeur d’un tutoriel en exécutant le code dans un devcontainer. Si ça marche, ça vaut le coup ; sinon, je jette
L’enfer des micro-dépendances en JS était un cauchemar
Maintenant que cette époque touche à sa fin, j’espère qu’on reviendra à une période où les développeurs réapprennent à coder
Une question est posée : le « problème d’inverser un arbre binaire » existe-t-il vraiment ?
Certains adhèrent à l’idée que « l’ère des petites bibliothèques peu précieuses est terminée »
Le langage Go n’a de toute façon jamais connu l’enfer des dépendances, et le problème de npm vient de facteurs culturels
Désormais, il est plus utile et plus amusant de créer des produits qui fonctionnent réellement plutôt que des utilitaires
Je pense que les micro-dépendances elles-mêmes n’ont aucun sens
Il vaudrait mieux écrire la liste des fonctions dans un fichier Markdown pour que les gens les copient
L’approche des petites bibliothèques en C basées sur des fichiers d’en-tête est plus pratique
La question se pose alors : quelle forme d’open source a encore du sens aujourd’hui ?
Parce que le code publié finit de toute façon par être absorbé comme données d’entraînement pour l’IA
Certains pensent donc qu’au lieu d’un FOSS complet, un modèle source-available pourrait être une alternative
L’auteur souligne que le sens de la contribution va bien au-delà d’une simple mention de nom
Je crois que l’open source ne disparaîtra pas et deviendra au contraire encore plus fort
De vrais développeurs créatifs utiliseront l’IA pour produire des innovations que les entreprises ne savent pas créer
L’open source reste le lieu de validation de la vraie valeur et un espace où l’on repousse ses limites grâce à l’IA pour apprendre
Mais il prédit aussi que les gouvernements et les grandes entreprises tenteront de réguler les systèmes d’IA locaux, et qu’une frontière apparaîtra bientôt autour de « l’IA que les citoyens peuvent utiliser »
Le temps perdu en revue et en discussions de politique augmente, et surtout dans des domaines complexes comme les compilateurs, l’IA n’aide absolument pas
Certains soulignent que « même sans être ajouté comme package, le simple fait de publier du code reste précieux »
Si un LLM écrit le code à ma place, la charge d’apprentissage diminue et je peux me concentrer sur des sujets plus profonds
Par exemple, quelqu’un explique avoir maintenu rubygems.org pendant 14 ans avant de partir, déçu par une structure devenue trop corporatisée
Certains font remarquer qu’« écrire du code avec l’IA est au fond une autre forme de dépendance »
Faire du copier-coller sans vérification ne diffère pas vraiment de l’ajout d’une bibliothèque externe
Au début de 2024, en créant un petit projet,
j’avais demandé à Claude 3.5 de me fabriquer un module de gestion d’état utilisable en pur JavaScript,
et je me souviens avoir été surpris qu’il produise un code à la fois concis et capable de gérer jusqu’aux situations de migration.
Je pense que c’est un phénomène assez naturel si l’on considère que, plus une bibliothèque est petite, plus il existe de code publié par des gens ayant eu des idées similaires, et plus il est facile pour l’IA de le formaliser dans une structure standardisée.
Comme copyparty : quelque chose que tout le monde peut imaginer, mais qu’il est difficile pour une seule personne de maintenir sur la durée.
Je trouve un peu regrettable l’idée qu’il pourrait devenir plus difficile, à l’avenir, de voir émerger ces projets propres et soigneusement affinés, nés de personnes qui poussent ce type de projet jusqu’au bout.