Тысячи приложений были выведены из строя во вторник после того, как программист из Окленда Азер Кочулу (Аzer Koçulu) снял с публикации критический модуль в npm — пакетном менеджере node.js, пишет zdnet.com.
Бесчисленные проекты оказались в подвешенном состоянии из-за конфликта между программистом Азером Кочулу, администрацией сервиса npm и мессенджером Kik.
По словам разработчика, всё началось с обращения адвокатов мессенджера, которые потребовали удалить один из его модулей в npm, названный Kik. После отказа удовлетворить требования мессенджера адвокаты компании обратились уже к CEO npm Айзеку Шлютеру, который и внёс изменения в модуль «без разрешения» Кочулу.
В отместку разработчик снял с публикации 250 собственных модулей в npm. В их числе оказался 11-строчный модуль left-pad, на основе которого функционируют тысячи Node.js-программ. Только за последнюю неделю пользователи загрузили left-pad 575 тысяч раз, а количество загрузок за последний месяц превысило 2,5 млн.
В числе пострадавших от этого действия проектов оказался и популярный JavaScript-транскомпилятор Babel, который используют в своих проектах такие ИТ-гиганты, как Facebook, Netflix и Spotify.
Получив тысячи неработающих проектов, администрация npm предприняла беспрецедентный для себя шаг — отменила снятие с публикации критического модуля, сообщил CTO и сооснователь менеджера Лори Восс.
Un-un-publishing is an unprecedented action that we're taking given the severity and widespread nature of breakage, and isn't done lightly.
— Laurie Voss (@seldo) March 22, 2016
«Эта акция противопоставила широкие интересы сообщества пользователей npm пожеланиям одного автора, и мы сделали выбор в пользу потребностей многих», — написал Восс. Он добавил, что в администрации npm не было единого мнения относительно правильности такого шага, однако «это удалось починить несколько тысяч проектов с открытым кодо, и сегодня вечером я буду спать спокойно».
Программист Стив Лабник объяснил на Reddit, что технически администрация npm не переиздавала модуль left-pad, а опубликовала его старую версию, идентичную «поваленной».
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.