En marzo de 2016 ocurrió un suceso insólito que puso en evidencia la fragilidad de nuestra infraestructura digital: un sencillo y poco conocido paquete 'open source' compuesto de tan sólo 11 líneas en JavaScript, fue eliminado por su autor del repositorio NPM (una referencia para los programadores web de todo el mundo), y eso bastó para que buena parte del ecosistema de desarrollo web colapsara durante varias horas. ¿Cómo fue posible que algo tan pequeño tenga consecuencias tan enormes?
La historia del paquete left-pad lo explica todo. El paquete left-pad tenía una función muy simple: agregar caracteres a la izquierda de una cadena de texto para que alcanzara una longitud específica: por ejemplo, convertir el número '7' en '007', una tarea trivial que cualquier programador podría escribir en minutos.
Sin embargo, precisamente por su trivialidad, tenía sentido prescindir de reescribir las mismas 11 líneas una y otra vez, por lo que el paquete que las contenía fue ampliamente adoptado como dependencia en otros proyectos, muchos de ellos fundamentales en el ecosistema JavaScript: Babel, Webpack, React... entre muchos otros.
En la práctica, el correcto funcionamiento de millones de proyectos terminó dependiendo, directa o indirectamente, de este pequeño fragmento de código.
El detonante: una disputa por un nombre
Azer Koçulu, el desarrollador que mantenía left-pad (y otros muchos paquetes), se vio envuelto en una disputa con la empresa Kik Messenger: ésta reclamaba para sí el nombre del paquete 'kik' en NPM, pese ser anterior a la …