- Las bibliotecas utilitarias pequeñas de JavaScript se están volviendo gradualmente innecesarias debido a la capacidad de los LLM para generar código
- Por ejemplo,
blob-util es un paquete de npm con 10 años de antigüedad, una colección de herramientas para manejar Blobs, pero ahora la IA puede generar código similar al instante
- Este cambio permite menos dependencias y desarrollo más rápido, pero también provoca la pérdida de oportunidades para aprender y comprender
- Tras la expansión de las funciones integradas de Node.js y del navegador, los LLM están acelerando el fin de las bibliotecas pequeñas
- En adelante, es probable que el valor del open source se mantenga en ámbitos creativos, de gran escala y especializados
El declive del open source pequeño y el impacto de los LLM
blob-util, creado hace 10 años, es una colección simple de utilidades para convertir objetos Blob de JavaScript en cadenas o ArrayBuffer, y supera los 5 millones de descargas semanales
- El autor lo creó al ver que los usuarios de PouchDB tenían dificultades para manejar
Blob
- Actualmente, cerca del 80% de los desarrolladores usa IA en su trabajo, y por eso los utilitarios simples ahora pueden ser reemplazados por LLM
- Como ejemplo, Claude genera al instante una función en TypeScript para convertir un
Blob en ArrayBuffer
- El resultado de Claude es similar a
blob-util, pero más verboso y con validaciones de tipos excesivas, aunque el manejo de errores está mejorado
- El autor menciona que este cambio puede verse como una reducción de dependencias y una mejora en la solidez del código
Pérdida de valor del open source centrado en el aprendizaje
- El README de
blob-util incluía un tutorial con el personaje Kirby y no solo buscaba ofrecer funcionalidad, sino también ayudar a aprender JavaScript
- En un entorno de desarrollo centrado en LLM, las respuestas inmediatas pasan a estar por encima de la comprensión y la educación, por lo que disminuye la necesidad de este tipo de open source orientado al aprendizaje
- Intentos como
llms.txt para automatizar la documentación están redefiniendo el significado mismo de la documentación
La nueva dirección del open source
- El autor sigue haciendo open source, pero cree que la era de las bibliotecas pequeñas y de bajo valor ya terminó
- Ya venían en descenso por la expansión de funciones integradas de Node.js y del navegador (
node:glob, structuredClone, etc.)
- Los LLM aceleraron decisivamente esa tendencia
- También disminuye la necesidad de bibliotecas con función educativa, como Underscore.js
- Funciones como agrupar arreglos de forma simple ahora pueden resolverse con APIs estándar
Condiciones para que el open source siga teniendo valor
- El valor se concentra en proyectos grandes, creativos y especializados que los LLM no pueden generar con facilidad
- Como ejemplo, el proyecto
fuite y la investigación sobre detección de fugas de memoria representan un trabajo creativo que los LLM difícilmente pueden reproducir
- En adelante, el significado del open source estará en las ideas nuevas y la creatividad humana
- Como ejemplo, menciona el framework Ripple.js desarrollado por Dominic Gannaway y destaca el espíritu de experimentación humana
Conclusión
- Los LLM han vuelto obsoleto parte del open source, pero aun así siguen existiendo oportunidades para nuevas formas de creación open source
- La creatividad y el espíritu experimental de los desarrolladores humanos se presentan como factores clave para la sostenibilidad del ecosistema open source en la era de la IA
4 comentarios
Creo que está bien, siempre y cuando podamos evitar solo esas rarezas del ecosistema como
left-pad.Parece que, a medida que entramos en una era donde la satisfacción obtenida por el esfuerzo invertido es cada vez menor, las pequeñas utilidades terminarán siendo ignoradas al considerarse que no valen lo suficiente en comparación con el trabajo de mantenimiento que requieren.
Opiniones de Hacker News
Hoy en día, alrededor del 80% de los desarrolladores usan IA en su trabajo
Utilidades como
blob-utilahora en su mayoría se pueden generar directamente con un LLMPero este enfoque es un arma de doble filo. El código no verificado deja una carga de mantenimiento y también puede fallar en casos límite
Por eso, en el ecosistema de Java se consolidaron colecciones estándar de utilidades confiables como Apache Commons
En cambio, el código generado por LLM parece lógico a simple vista, pero tiene altas probabilidades de esconder bugs extraños
Hemos entrado en una era en la que la IA genera código y tutoriales en masa, acelerando la caída de calidad y la saturación de spam
Disminuye la motivación para crear blogs personales o bibliotecas pequeñas
Los textos hechos por LLM están en un nivel parecido, así que hasta siento que ahora es más fácil filtrarlos
Yo pruebo el verdadero valor de un tutorial ejecutando el código dentro de un devcontainer. Si funciona, vale la pena verlo; si no, lo descarto
El infierno de las microdependencias en JS fue una pesadilla
Ahora parece que esa época se está acabando, y ojalá volvamos a una era en la que los desarrolladores aprendan a programar otra vez
Surgió la pregunta de si de verdad existe el problema de invertir un árbol binario
Hay acuerdo con la afirmación de que “se acabó la era de las bibliotecas pequeñas y de poco valor”
El lenguaje Go desde el principio no tuvo infierno de dependencias, y el problema de npm se debió a factores culturales
Ahora tiene más valor y también es más divertido hacer productos que realmente funcionen que utilidades
Yo creo que las microdependencias en sí no tienen sentido
Preferiría que simplemente pusieran la lista de funciones en Markdown para que uno las copie
El enfoque de C con bibliotecas pequeñas basadas en archivos de encabezado es más práctico
Se planteó la pregunta de qué forma de open source seguirá teniendo sentido ahora
Porque el código publicado al final termina absorbido como datos de entrenamiento para IA
Por eso se ve que, en lugar de FOSS completo, el modelo source-available podría ser una alternativa
El autor subraya que el sentido de contribuir es más grande que simplemente ver tu nombre mencionado
Yo creo que el open source no va a desaparecer, sino que se va a fortalecer aún más
Desarrolladores realmente creativos van a usar IA para crear innovaciones que las empresas no pueden construir
El open source sigue siendo un espacio real de validación de valor, y con la IA es un lugar para aprender superando límites
Pero se predice que los gobiernos y las grandes empresas intentarán regular los sistemas de IA locales, y que pronto aparecerá una frontera de lo que será “IA que los ciudadanos pueden usar”
Se pierde más tiempo en revisiones y discusiones de políticas, y en áreas complejas como los compiladores la IA no ayuda en absoluto
Algunos enfatizan que, aunque no se agregue como paquete, el simple acto de publicar código sigue teniendo valor
Si un LLM escribe el código en tu lugar, baja la carga de aprendizaje y puedes concentrarte en temas más profundos
Por ejemplo, alguien contó que mantuvo rubygems.org durante 14 años y luego se fue, decepcionado por la estructura corporativizada
Se señaló que escribir código con IA al final también es una forma de dependencia
Pegar y usar sin verificar no es distinto de agregar una biblioteca externa
A inicios de 2024, mientras hacía un proyecto pequeño,
le pedí a Claude 3.5 que me hiciera un módulo de estado tipo store que pudiera usarse en pure JavaScript,
y recuerdo que me sorprendió porque escribió un código conciso que incluso contemplaba situaciones de migración.
Cuanto más pequeña es una librería, más probable es que ya haya mucho código público hecho por personas que pensaron algo parecido, así que si se piensa que a la IA le resulta fácil convertir eso en una estructura estandarizada, me parece un fenómeno natural.
Como copyparty, proyectos que cualquiera puede imaginar, pero que son difíciles de mantener durante mucho tiempo por una sola persona.
Me da algo de pena pensar que en adelante puede volverse más difícil ver esos proyectos pulidos y refinados que salen de empujar ese tipo de ideas hasta el final.