Estas 11 líneas de código casi rompieron el internet.
Cómo un programador rompió Internet eliminando un pequeño trozo de código.
Un hombre en Oakland, California, interrumpió el desarrollo web en todo el mundo la semana pasada al eliminar 11 líneas de código.
- ¿Cuál es el mejor país para buscar asilo?
- ¿Cuál es la contribución de la Argentina al mundo?
- ¿Qué significaría para otros países del mundo si la economía estadounidense colapsa?
- ¿Cómo y por qué un país espía a los principales funcionarios de otros países?
- Según Einstein, vivimos en un mundo curvo que parece ser recto?
La historia de cómo Azer Koçulu, de 28 años de edad, rompió brevemente Internet muestra que la escritura de software para la web se ha vuelto dependiente de un mosaico de código que, a su vez, se basa en la benevolencia de otros programadores. Cuando el sistema falla, como ocurrió la semana pasada, las consecuencias pueden ser vastas e impredecibles.
Koçulu había estado publicando un código que escribió a npm, un servicio popular que se usa ampliamente para encontrar e instalar software de código abierto escrito en JavaScript. Se ha convertido en una herramienta esencial en el desarrollo web, invocada miles de millones de veces al mes, gracias a la facilidad de uso de npm y su enorme biblioteca de paquetes de código libre aportados por la comunidad de código abierto.
Uno de los paquetes de código abierto de JavaScript que Koçulu había escrito era kik
, que ayudó a los programadores a configurar plantillas para sus proyectos. No era ampliamente conocido, pero compartía un nombre con Kik, la aplicación de mensajería con sede en Ontario, Canadá.
Kik se estaba preparando para lanzar su propio paquete y le preguntó a Koçulu si podía cambiarle el nombre. “¿Podemos hacer que kik
el nombre de tu paquete kik
?”
La conversación se intensificó rápidamente, y amenazaron con emprender acciones legales: “No pretendemos ser un imbécil al respecto, pero es una marca registrada en la mayoría de los países del mundo y si realmente libera un proyecto de código abierto llamado kik
, nuestros abogados de marcas registradas Estaremos golpeando tu puerta y derribando tus cuentas y cosas así, y no tendremos más remedio que hacer todo eso porque tienes que hacer cumplir las marcas registradas o las pierdes “.
“Hahah, en realidad estás siendo un imbécil”, respondió Koçulu. “Entonces, vete a la mierda. No me devuelvas el correo electrónico.
El registro más grande de estos módulos de Javascript es una plataforma de código abierto llamada npm, que funciona como una tienda de aplicaciones para desarrolladores. Buscan la funcionalidad que desean y, con suerte, financian un módulo que lo hace por ellos.
El director ejecutivo de npm, acordó pasar el nombre a la compañía y al lado de los individuos corporativos
En su respuesta, Koçulu dijo que quería que todos los paquetes que había registrado en npm se retiraran. “Ya no quiero ser parte de NPM”, escribió.
Esta situación me hizo darme cuenta de que NPM es el terreno privado de alguien donde las empresas son más poderosas que las personas, y lo hago de código abierto porque, Power to The People .
Dos días después del último correo electrónico de Koçulu a npm, el 22 de marzo, los programadores de JavaScript de todo el mundo comenzaron a recibir un extraño mensaje de error cuando intentaron ejecutar su código. El problema era lo suficientemente grave como para evitar que algunos desarrolladores actualizaran las aplicaciones y los servicios que ya se estaban ejecutando en la web. El error escupió muchas líneas, pero una destacó:
Significaba que el código que intentaban ejecutar requería un paquete llamado left-pad
, pero el registro npm no lo tenía.
Uno de los paquetes npm más grandes y más utilizados se rompió repentinamente. Uno de los paquetes afectados, React, es utilizado por los principales sitios web como Facebook, que lo creó, y por una amplia variedad de sitios más pequeños como el Atlas de Quartz. Solo en el último mes, más de un millón de personas han descargado React de npm. React no requería estas 11 líneas de código directamente, por supuesto. Dependía de un conjunto de paquetes, y cada uno de ellos dependía de otro conjunto, etcétera, y una de esas ramas eventualmente conducía al left-pad
. Y ahora, left-pad
se había ido.
El software que dependía del panel izquierdo incluía Babel, que ayuda a Facebook, Netflix y Spotify a ejecutar el código más rápido, y React, que también ayuda a los desarrolladores a construir mejores interfaces
Que mis amigos, es el poder de una pequeña pieza de código.