Код
#новости

Linux-разработчик пообещал заплатить каждому, кто удалит свои модули из npm

Сумма могла достичь 1 тысячи долларов на человека, но потом выяснилось, что это был розыгрыш

Linux-разработчик, соавтор графического протокола Wayland и окружения Sway Дрю Деволт опубликовал объявление в личном блоге:

«Я заплачу всем, кто удалит свой модуль из npm. Чем больше у модуля скачиваний и меньше строк кода — тем больше денег вы получите. Важное условие: модуль нужно удалить без предупреждения, чтобы пользователи проснулись с повреждённой сборкой».

Дрю предупредил, что итоговая сумма не может превышать 1 тысячи долларов и даже привёл схему расчёта:

Источник: скриншот с личного сайта Дрю

Разработчик пообещал, что будет самостоятельно проверять количество скачиваний, размер пакетов, наличие накруток и искусственное сокращение кода. А ещё он предупредил, что может попросить владельца подождать с удалением модулей, чтобы «растянуть хаос от каждого удаления на несколько недель».

Те, кто дочитал объявление до конца и кликнул «Click here to apply», поняли, что это был розыгрыш. Дрю надеется, что шутка вызовет страх у разработчиков Node.js и у всех, кто перешёл на npm. По его мнению, сотни и тысячи зависимостей от разных поставщиков, которыми обросли веб-приложения, угрожают глобальной безопасности. Разработчики привыкли скачивать готовые модули для решения даже самых тривиальных задач, хотя могли бы справиться сами за несколько минут:

«Многие разработчики понятия не имеют, из чего состоят их деревья зависимостей. В большинстве из них тысячи записей, которые никогда не подвергались аудиту. Пора бы уже остановить это безрассудство».

Впервые об угрозе, которую несёт npm, заговорили в 2016 году. Тогда разработчик и автор 272 модулей Азер Кочулу удалил все свои пакеты из репозитория и заблокировал сборку в npm множества проектов. Больше всего проблем возникло из-за пакета left-pad: он содержал функцию, которая дополняет строку нулями и пробелами. Она использовалась в Node.js и Babel.

Надо отметить, что не все дочитали пост до конца. Вот как отреагировали пользователи Reddit:

«npm — это дерьмовая вещь. Но так его исправить точно не получится. Лучше провести аудит бесполезных пакетов, хоть он и потребует кучу времени. А просто вырывать ковёр из-под ног разработчиков, не предлагая альтернативы, — уж слишком токсично».

Источник: скриншот с Reddit

«С управлением пакетами в JavaScript действительно всё плохо. Деревья зависимостей не должны разрастаться до тысячи узлов.

Я думаю, так случилось из-за того, что у JavaScript нет стандартной библиотеки, как у Java, C#, C++ и так далее. Многие служебные функции переданы на аутсорсинг тысячам сторонних библиотек, каждая из которых заставляет разработчиков запускать свой миниатюрный пакет. Пришло время создать стандартную библиотеку для JavaScript с общим пространством имён. Правда, тут, скорее всего, возникнут проблемы с обратной совместимостью.

Источник: скриншот с Reddit

«Как найти Дрю в Reddit? Я готов скинуть немного наличных на его инициативу…

Я никого не троллю и подозреваю, что Дрю тоже. У меня уже началась бессонница из-за того, насколько ужасна экосистема JavaScript. Даже у моих простых приложений огромное дерево зависимостей. Люди заслуживают лучшего, чем тот мусор, который мы им продаём.

UPD: Неловко как-то вышло. Оказывается, это шутка. Посижу здесь в одиночестве с мыслью о том, что у меня есть родственная душа в лице Дрю… LOL».

Источник: скриншот с Reddit


Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована