22 марта 2016 года вошел в историю IT как день, когда мировая паутина едва не рухнула, как карточный домик.
В течение нескольких часов перестали собираться и обновляться Facebook, Netflix, Spotify, сервис Slack и тысячи других корпораций по всей планете. Программисты по всему миру в панике хватали кофе, сервера выдавали красные ошибки, а техподдержка сходила с ума.
Все думали: нас атаковали русские хакеры? Китайская киберармия? Упали магистральные кабели на дне океана?
Реальность оказалась куда абсурднее. Все эти гиганты рухнули из-за обиды одного человека и кусочка кода длиной всего в 11 строчек.
Его звали Азер Кочулу.
Азер был независимым программистом с открытым исходным кодом. Он написал крошечную бесплатную библиотеку под названием Kik и выложил её в глобальное хранилище npm (откуда миллионы разработчиков подтягивают чужие готовые куски кода в свои проекты).
Внезапно Азеру пришло гневное письмо от юристов мессенджера Kik: «У нас зарегистрированная торговая марка. Удалите ваш проект или переименуйте его, иначе мы вас засудим».
Азер ответил в духе вольного интернета: «Я создал проект раньше вашего патента. Ничего отдавать не буду».
Тогда юристы пошли к руководству платформы npm. И площадка, испугавшись судебных исков, просто отобрала у Азера права на его проект без его согласия.
Азер пришел в ярость от такого корпоративного произвола. В знак протеста он зашел в свой профиль и нажал кнопку: «Удалить ВСЕ мои проекты с платформы». Всего он стер около 250 своих мелких скриптов.
Среди них была микроскопическая утилита под названием
left-pad. Что она делала?
Ничего сложного: она просто добавляла пробелы в левую часть текстовой строки, чтобы выравнивать текст. Весь её код состоял из 11 примитивных строк, которые любой студент напишет за 3 минуты.
Но оказалось, что тысячи топовых программистов из Facebook, Netflix и тысяч других компаний... ленились писать эту строчку сами! Вместо этого они брали готовый кирпичик Азера.
А другие популярные библиотеки (например, Babel и React, на которых держалась половина веба) тоже внутри себя ссылались на этот
left-pad.Сложилась безумная пирамида зависимостей: гигантские сервисы стоимостью в миллиарды долларов держались на хрупкой спичке — микро-скрипте парня, которого только что выставили за дверь.
Как только Азер нажал «Удалить», скрипт исчез. Через минуту автоматические сервера сборки сайтов по всему миру обратились по привычному адресу... и получили пустоту.
Мировая веб-инфраструктура встала. Тысячи компаний не могли обновить свои приложения, а в соцсетях началась истерика.
Ситуация была настолько критической, что руководство npm впервые в истории пошло на беспрецедентный шаг: они грубо нарушили свои же базовые правила безопасности и насильно восстановили удаленный чужой код обратно в систему против воли автора.
Интернет ожил только к вечеру.
Эта история стала легендарной притчей о том, насколько современный «высокотехнологичный» цифровой мир на самом деле хрупок и как триллионные корпорации порой держатся на честном слове никому не известного энтузиаста.
Кстати, те самые 11 строк кода, поставившие мир на колени, прикрепил на скриншоте к посту
#история #технологии
