Разделы

ПО Свободное ПО Техника

Программист испортил разработанные им свободные библиотеки, чтобы они не достались крупным ИТ-корпорациям

Создатель свободных библиотек colors.js и faker.js, умышленно испортил свои разработки, опубликованные на хостинге Github, таким образом выведя из строя тысячи использующих их сторонних приложений. По всей видимости, с помощью данного перфоманса он хотел подать мегакорпорациям, внедряющим открытый код в свои проекты, сигнал, о том, что нельзя просто пользоваться результатами чужого труда – нужно что-то отдавать взамен. Сигнал был истолкован, вероятно, не так, как того ожидал разработчик – его аккаунт на Github, представляющий высокую ценность для программиста, был оперативно заблокирован.

Сомнительная акция

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

По сообщению портала Bleeping Computer, программист Марак Сквайрз (Marak Squires) на прошлой неделе внес вредоносные изменения в библиотеки colors.js и faker.js с открытым исходным кодом, предназначенные для платформы Node.js.

В результате крайне популярные подключаемые модули нарушили нормальную работу целого ряда ИТ-проектов, в том числе программных продуктов крупных международных корпораций, в частности, Amazon.

Github назаказал программиста-энтузиаста за попытку саботажа

К примеру, из-за поправок к коду за авторством Сквайрза библиотеки «уходят в бесконечный цикл» и выводят в консоль Node.js несколько раз подряд слово “LIBERTY” (свобода в переводе с англ.; – прим. CNews), а затем последовательность символов, которая не несет смысловой нагрузки (так называемый Zalgo-текст).

Данная последовательность, по задумке автора, вероятно, должна была напоминать наблюдателю изображение флага США. На это, к примеру, указывает тот факт, что одна из правок, совершенных программистом, была озаглавлена как “Adds new American flag module”, то есть как добавляющая модуль американского флага.

Специалисты Bleeping Computer считают это сознательным шагом программиста, своего рода местью крупным корпорациям и другим коммерческим потребителям ПО с открытым исходным кодом. Те якобы бесплатно пользуются плодами труда программистов-энтузиастов, но взамен не приносят никакой реальной пользы сообществу разработчиков.

В ноябре 2020 г. Сквайрз предупредил о том, что более не собирается дотировать крупный бизнес за счет собственных трудовых затрат. По его мнению, коммерческие структуры, использующие его наработки, представленные в colors.js и faker.js, должны либо развивать собственные форки (самостоятельные проекты-ответвления, использующие кодовую базу этих двух библиотек), либо ежегодно присылать ему банковский чек на «сумму с пятью нулями» в качестве зарплаты.

Стоит отметить, что крупные технологические компания нельзя однозначно назвать нахлебниками, сидящими на шее у программистов-энтузиастов. ИТ-гиганты вносят более чем ощутимый вклад в развитие таких проектов как ядро Linux, которое лежит в основе ряда популярных операционных систем. К, примеру Intel внесла около 8% от всех изменений в Linux 5.10, а Huawei – почти 9%.

Реакция на перфоманс

Спорный шаг Сквайрза вызвал неоднозначную реакцию участников сообщества разработчиков открытого ПО. Некоторые из них сочли действия достойными похвалы, другие – безответственными.

Так, специалист по информационной безопасности под никнеймом VessOnSecutiry заявил в Twitter, что, действуя подобным образом, Сквайрз наносит ущерб всем пользователям этих библиотек, а не только крупному бизнесу. Такой подход, по его мнению, опасен, поскольку приучает людей избегать установки обновлений, в том числе закрывающих опасные уязвимости, из-за страха «что-нибудь сломать».

«Не хотите, чтобы бизнес использовал ваш свободный код – не выкладывайте его», – отметил ИБ-специалист.

Николай Шуткин, ВТБ: Основной фокус в ближайшие годы мы сделаем на автоматизации и самообслуживании
ИТ в банках

По сообщению самого Сквайрза в Twitter, после предания ситуации огласке его учетная запись в Github была заблокирована за нарушение условий использования платформы. Со слов программиста, он лишился доступа к более чем сотне собственных проектов. В случае с NPM-репозиторием проекта colors.js администраторы ограничились «откатом» вредоносных правок.

Эта новость, в свою очередь, также вызывала неоднозначную реакцию комьюнити.

«Удаление собственного кода расценивается как нарушение условий использования? Что за хрень, – задается вопросом программист под псевдонимом Sergio Gomez в комментариях к твиту Сквайрза. – Нужна децентрализация хостинга исходного кода свободного ПО».

Другой разработчик, известный в Twitter под ником Piero, заметил, что странно было бы ожидать иного результата, после того как акт саботажа со стороны Сквайрза привел к выходу из строя огромного числа приложений.

Зачем нужны colors.js и faker.js

Библиотека colors.js добавляет поддержку вывода в консоль Node.js цветного и форматированного текста, faker.js предназначена для генерации большого объема произвольных данных, которые могут оказаться полезными при тестировании приложений.

Импортозамещение SIEM: что важно учесть
Импортозамещение

За последнюю неделю при помощи менеджера пакетов NPM colors.js загрузили 23,1 млн раз. Спрос на faker.js среди программистов значительно ниже – ее скачали около 2,9 млн раз за аналогичный период времени.

Node.js – свободная среда исполнения кода, написанного на языке программирования JavaScript, вне браузера. Нередко используется при разработке скриптов для генерации динамических веб-страниц, работающих на стороне сервера. В числе корпоративных пользователей инструмента – AWS, IBM, Microsoft, Netflix, Paypal и др.

По данным npmjs.com, colors.js и faker.js задействованы в 19 тыс. и 2,5 тыс. проектов соответственно. Среди них, например, AWS Cloud Development Kit – это открытая платформа для разработки облачного ПО, принадлежащая компании Amazon.

Исходный код обеих библиотек опубликован на хостинге ИТ-проектов Github, который с июня 2018 г. принадлежит корпорации Microsoft. Примечательно, что исходники распространяются на условиях свободной лицензии MIT, которая прямо разрешает безвозмездно использовать их всем желающим без каких-либо существенных ограничений.

Дмитрий Степанов