Разработчик испортил свой известный проект, чтобы «наказать» корпорации — почему это происходит в open source сообществе Статьи редакции

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

Зачем уничтожают программы

4 января 2022 года разработчик библиотек faker.js и colors.js Марак Сквайрс обновил их так, что они прекратили работать. Его разработки свободно распространялись на GitHub и в менеджере пакетов NPM. faker.js использовали для генерации случайных данных для тестирования приложений, а color.js для окрашивания символов в консоли.

Еженедельно библиотеки скачивали 2,5 и 22,4 млн пользователей соответственно, от них зависела работа более 21 тысячи приложений. После обновления при запуске faker.js и colors.js в консоли у пользователей несколько раз печаталось слово «свобода», после чего в ней генерировалась последовательность символов без смысла.

Атака автора faker.js и colors.js на собственные проекты обратима — в интернете остались предыдущие версии библиотек. Самому Сквайрсу GitHub ограничил доступ к его аккаунту. Журналисты выяснили, что ещё в ноябре 2020 года разработчик писал, что не хочет поддерживать работу коммерческих предприятий бесплатно.

При всём уважении, я больше не собираюсь поддерживать компании из списка Fortune 500 и меньшего размера своей бесплатной работой. Воспользуйтесь этим как возможностью прислать мне годовой контракт с шестизначной суммой или раскошельтесь на проект и попросите кого-нибудь другого поработать над ним.

Марак Сквайрс

В файл с инструкцией к faker.js версии 6.6.6 Сквайрс добавил вопрос «Что на самом деле случилось с Аароном Шварцем?». Он делает отсылку на американского интернет-активиста, который в 14 лет стал соавтором первой спецификации RSS — в январе 2022 года её используют для отображения лент новостей около 30 млн активных сайтов.

Шварц также принимал участие в разработке лицензий Creative Commons и форума Reddit.

Шварц выступал за свободное распространение информации. В январе 2011 года его задержали по обвинению в загрузке 4,8 млн научных статей из онлайн-библиотеки JSTOR. По мнению федеральной прокуратуры, он получил их нелегально, взломав аккаунт MIT. В январе 2013 года он покончил жизнь самоубийством.

Аарон Шварц

По мнению The Verge, разработчик намекнул, что смерть Шварца носила насильственный характер. В своём Twitter он опубликовал ссылку на обсуждение этой теории на Reddit.

Свободный труд и интернет

По оценке The Verge, намеренная атака на faker.js и colors.js со стороны автора показывает, что перед интернетом стоит «моральная и финансовая дилемма» работы с open source ПО. Разработчики таких решений жалуются на выгорание и отсутствие уважения к своему труду, а от их решений зависит работа многих других приложений — как в случае со Сквайрсом.

TechRepublic пишет, что когда у проектов есть платная поддержка, пользователи возмущаются отсутствию бесплатной, а когда её нет, ругают разработчиков за редкие обновления. Авторы open source ПО часто работают безвозмездно, но дают пользователям возможность благодарить их за работу пожертвованиями.

Проблема не в том, что пользователи моего программного обеспечения с открытым исходным кодом не платят за него, не вносят свой вклад или являются коммерческими компаниями. Дело в том, что они меня не любят. Безответная (или недостаточно вознагражденная) любовь + перерасход усилий - границы = выгорание.

Исаак Шлютер, гендиректор npm

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

Активность и энтузиазм программистов позволили создать RSS и множество других проектов. Но когда авторам ПО не хватает сил или времени на продукты, в них могут появиться как ошибки, так и серьёзные уязвимости.

В декабре 2011 года один из разработчиков криптографической библиотеки OpenSSL Стивен Хэнсон начал работать над программной надстройкой Heartbeat. Она позволяла поддерживать соединения активными без необходимости постоянного переподключения с авторизацией. В написании кода Хэнсону помог энтузиаст и программист Робин Сеггельман.

Саму библиотеку применяли для защиты серверов каждых двух из трёх сайтов в интернете, а также электронной почты, чатов, VPN и сетевой инфраструктуры военных, правительственных и финансовых учреждений.

В апреле 2014 года в коде OpenSSL обнаружили уязвимость Heartbleed — она позволяла несанкционированно читать память на сервере или устройстве клиента и расшифровывать данные, которые они передают между собой.

Выяснилось, что уязвимость появилась в обновлении 2011 года. Бывший гендиректор OpenSSL Foundation Стив Маркесс заявил, что причиной ошибки стало выгорание разработчиков и отсутствие финансирования — их бюджет составлял всего $2 тысячи ежегодных пожертвований и менее $1 млн выручки в год от платной поддержки и индивидуальных консультаций.

За консультации нам платят $250 в час: не слишком много для юриста или врача, или даже для многих технических профессий, но хотя бы набирается прожиточный минимум.

Стив Маркесс, бывший гендиректор OpenSSL Foundation

В команду OpenSSL постоянно входило 3-4 человека, которые поддерживали продукт из почти полумиллиона строк кода. Из них, по словам Маркесса, Хэнсон был единственным программистом, который работал над OpenSSL полный рабочий день. Он зарабатывал куда меньше, чем мог бы со своими навыками, но ставил развитие open source ПО в приоритет.

Как отмечает Vice, в системе интернета явно что-то нарушилось, когда за безопасность глобальной сети начал отвечать один «перегруженный работой и низкооплачиваемый» программист Хэнсон.

Эти ребята работают над OpenSSL не за деньги. Они делают это не ради славы. Они делают это из гордости за мастерство и ответственности за то, во что они верят. Зная, что их будут игнорировать и недооценивать, пока что-то не пойдет не так.

Стив Маркесс, бывший гендиректор OpenSSL Foundation

По словам Маркесса, правительства и коммерческие компании привыкли применять OpenSSL «как что-то само собой разумеющееся». По данным платформы StackShare, эту библиотеку используют CNN, Alibaba Travels, Fujitsu и ещё около 4 тысяч компаний.

Vice пишет, что уязвимость Heartbleed указала на наличие «системного заболевания» в сообществе open source из-за недостатка финансирования. После её обнаружения OpenSSL Foundation получила около $9 тысяч пожертвований за две недели.

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

Маркесс и Хэнсон покинули проект в 2017 году, с тех пор команда разработчиков увеличилась до шести человек. По информации Vice, в этом OpenSSL помог грант от Linux Foundation Core Infrastructure Initiative — его поддерживают пожертвованиями Amazon, Google, IBM, Microsoft, Facebook и Intel.

Если одни разработчики видят в дополнительных деньгах спасение, другие смотрят на них как на способ разрушить всю идею open source ПО.

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

9 декабря 2021 года новую уязвимость обнаружили в другой популярной open source библиотеке журналирования log4j для языка программирования Java, её разрабатывали программисты-энтузиасты из Apache Software Foundation.

Apache Software Foundation ежегодно проводит конференции ApacheCon для разработчиков

Находке присвоили высший уровень опасности и назвали её «самой крупной и самой критической за последнее десятилетие» — библиотеку использовали в корпоративном ПО, программах с открытым исходным кодом, а также на серверах государственных учреждений по всему миру.

По оценке Financial Times, хакеры запустили с помощью найденной ошибки более 1,2 млн атак, под угрозой оказались серверы Google, Microsoft, Tesla, Cisco, Cloudflare, VMware, Amazon, Twitter, Steam, Tencent, Baidu и многих других.

Как монетизируют ПО

Open source проекты распространяются бесплатно, их может скачать любой человек, а их код доступен для просмотра и изменения. Но большинство крупных образцов такого ПО всё же монетизируются тем или иным способом.

Одним из очевидных вариантов для программистов стала программа добровольных пожертвований — пользователи могут отблагодарить разработчиков любой суммой. Но, как показал пример OpenSSL, таких сборов не всегда достаточно для полноценной работы.

Стив Маркесс (второй слева на заднем плане) покинул OpenSSL в 2017 году

Альтернативным способом заработка становится платная служба поддержки пользователей — такой подход, например, используют разработчики дистрибутива Ubuntu из компании Canonical. Ранее они также продавали сувениры и одежду с символикой своей разработки, но позже закрыли магазин по неназванной причине.

Так магазин Ubuntu выглядел в 2007 году

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

Иногда компании также пользуются методом двойного лицензирования. Например, система управления базами данными MySQL распространяется по лицензии GPL, то есть свободно и бесплатно, но если разработчики хотят использовать MySQL в своих программах, они должны публиковать их по той же open source лицензии. В других случаях создатели предлагают оплатить коммерческую лицензию с сервисной поддержкой.

Если какая-то компания напишет продукт для себя, но не будет его продавать, платить за использование кода ей не придётся.

Разработчики веб-сервера и почтового прокси-сервера nginx распространяют его как проект с открытым исходным кодом, но предлагают компаниям платную поддержку. Они также разработали платную версию Plus, для которой при оплате подписки действует круглосуточная поддержка и присутствуют дополнительные функции, недоступные в open source версии.

По оценке автора библиотеки обработки изображений .NET ImageSharp Джеймса Саута, иногда пользователям кажется, что отдельные проекты имеют финансовый успех из-за количества загрузок или отзывов.

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

Разработчик генератора статического контента .NET Statiq и сайта Discover.NET Дейв Глик считает, что авторам open source проектов нужно искать новые модели продаж и альтернативные лицензии распространения своих продуктов.

В качестве примера он привёл два варианта посредников: платформу Tidelift, через которую можно продавать подписку на обновления и поддержку приложений, и Sdkbin — через неё можно автоматизировать продажи и формирование чеков, что должно облегчить работу с отделами закупок компаний.

Интерфейс Tidelift

Если разработчики open source приложений не найдут новые способы монетизировать свою работу, проблемой в ближайшем будущем может стать не только намеренное отключение и удаление ПО. Разработчики могут отказаться дорабатывать свои программы.

Как отмечает The New Stack, когда энтузиасты покидают проекты или редко их обновляют, те оказываются беззащитны перед новыми уязвимостями и ошибками. В таком случае, исправлять их приходится уже самим пользователям и компаниям, и это явление может стать массовым.

0
449 комментариев
Написать комментарий...
Николай Владимирович Грудинин

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

Детишки ноют что их не носят на руках

Читать лицензию gnu или mit они, видать, не захотели

Хотите денег - делайте проприоритарку изначально
Поздно делать проприоритарное по? Меняйте лицензию, делайте подписку, раз либа настолько публичная - подписчики появятся, если фичи в новой версии будут лучше чем в старой под открытой лицензией

Ответить
Развернуть ветку
Аполлон Степанов

Я смотрю вы не уважаете труд людей, которые бесплатно создают продукты, которыми пользуются миллионы.

Дело не в истерике одного человека. Такое ощущение, что вы первые десять строчек в статье прочитали.

Автор пишет о СИСТЕМНОЙ проблеме. Когда в условиях недофинансирования, в массовых технологиях на значимых сервисах появится ошибки и уязвимости.

Ответить
Развернуть ветку
Антон

Эта ситуация не подходит даже под самое ленивое определение "СИСТЕМНОЙ проблемы".
Ситуация "Много коммерческих продуктов используют бесплатные элементы, не развивая собственную экспертизу и контроль в них" решается не "СИСТЕМНО", а просто корректировкой практик компаний при лучшем понимании рисков.
"СИСТЕМНОЙ" проблемой могут стать пальцы фаанга/регуляторов в опен-сорсе.

Ответить
Развернуть ветку
Аполлон Степанов

Вы хоть видели одну компанию, которая бы являлась идеальной с точки зрения вашей логики??

Невозможно охватить взглядом всё. Разделение труда и совместная кооперация нормальны. Каждый делает что-то своё, и нет никакого смысла каждому развивать одну и ту же технологию.

С точки зрения ИТ именно подобные проекты являются значительным бустингом. Что будет, если каждый будет использовать свою уникальную библиотеку?? Каждый раз обучаться новому?? Смысл??

Далее, никто нигде не говорил о регулировании.

Также хочу отметить, что открытые продукты и технологии это нормально и оно всегда ложилось в различные системы.

Если вы не заметили, то за открытия Ньютона, Фарадея и др. учёных вы не платите их потомкам. Открытые технологии это основа развития мира. И совершенно нормально, когда они такими и остаются.

Если каждая шкура будет развивать свою закрытую технологию и продавать ее за деньги, то мир войдёт в логический тупик.

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

К слову говоря, на западе есть такое, что ты 15% времени можешь тратить на сторонние проекты. В том числе open source. Это тоже, своего рода, развивает и поддерживает направление.

Ответить
Развернуть ветку
Антон

Начиная с первого и до последнего предложения этот комментарий спорит с кем-то, кто не я, с утверждениями, которых я не делал. Это талант, восхищаюсь со стороны, включаться в перфоманс было бы невежливо.

Ответить
Развернуть ветку
Аполлон Степанов

Причём здесь дело в споре??

Дело в позиции, которую вы не понимаете. Уберите завтра все открытые технологии, во всём их многообразии, и поставьте ВСЕ разработки на коммерческие рельсы. У вас темпы роста упадут до 0.

Стартапы не смогут развиваться. Наука встанет.

Дело совершенно не в споре, дело в том, что такие как вы, своими предложениями рубят сук на котором сидят.

Что будет, если КАЖДАЯ компания, как вы сказали, будет развивать собственную экспертизу и будет делать свои библиотеки??

Там где ты пошел и потратил 0 рублей, тебе нужно будет держать не одну команду разработки. Что автоматически удорожает всё.

Также, важно качество. Пример СССР таких как вы не учит жизни. Одно дело, когда развивает десяток человек проект, а другое дело, когда его развивает десяток тысяч человек со всего мира. Вы разницу ощущаете??

На мой взгляд, совершенно очевидно, что проще и выгоднее дать разработчику критически важного проекта тысячу долларов доната, нежели тратить миллионы на разработку своего ПО. Это примитивная и очевидная математика и логика.

Ответить
Развернуть ветку
Александр

Вы видимо смысл слова - БЕСПЛАТНО - не понимаете....
Пытаетесь заумными словами объяснить-то, что за любую работу нужно платить деньги...
Но если человек делает сам, по своей инициативе - БЕСПЛАТНО - то после сделанного просить за эту работу деньги - это не корректно!

Ответить
Развернуть ветку
Аполлон Степанов

Open source проекты это не просто по своей инициативе делать бесплатно.

Там есть всё сложно и есть разная логика.

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

Есть иная логика. И с оплатой и коммерциализацией в рамках данных проект всё также сложно.

Далее есть совсем логичные вещи. Если честно работал по своей инициативе, но продукт пользуется миллионами клиентов от мала до велика, то совершенно логично в условиях недостатка финансирования попросить денег.

Вы представляете себе сколько стоит разработка технологий??

У вас банально есть выбор. Вы можете не поддерживать. Но вы теряете технологию. А вскоре, за ней вы будете вынуждены разрабатывать свою и потеряете намного больше.

Ответить
Развернуть ветку
Александр

Если человек сделал БЕСПЛАТНО, по своей инициативе, проект которым вдруг стали пользоваться миллионы - то этот человек альтруист! - и в данном случае просить деньги за свою уже сделанную работу деньги - не логично!
Но если Вы делаете проект в надежде заработать, но делаете проект бесплатно, а корпорации на Вашем продукте зарабатывают миллионы, то Вы - Лох.
А уж про стоимость разработок Вы лучше совсем ни чего не пишите - те деньги, что корпорации зарабатывают, с лихвой хватает на покрытие любых начинаний, иначе не было бы столько миллиардеров и миллионеров появляющихся каждый год.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Александр

Так человек делает бесплатно не претендуя ни на деньги ни на другие благодарности... А если человек в замен требует либо деньги, либо признание - то это умысел с целью получения выгоды - либо материальной, либо ещё какой....
Бесплатно это значит - не получая ни чего взамен!
А так получается, что человек сделал бесплатно, а теперь мучается и не спит по ночам из-за того, что его не благодарят за сделанное... - так если бесплатно не про его сознание - так пусть все делает за деньги и проблем с внутренней совестью не будет!

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Александр

Нет бесплатно это именно, что бесплатно - не получая ни чего в замен!
Т. е. ни денег, ни спасибо...
А если Вам нужны благодарности, донаты - то это уже явно не бескорыстно.... И спасибо в данном случае это предлог, что бы пожаловаться на то, что какие-то люди смогли на Вашем бесплатном - заработать много денег!
И почему в сети нельзя написать спасибо - элементарно - на форумах, по Эл. почте, в личном сообщении...

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Максим Дудин

поддерживаю

Ответить
Развернуть ветку
Александр

Так это уже совсем про другое.

Ответить
Развернуть ветку
Fatum

"Если ты за добро благодарности ждёшь - ты не даришь добро, ты его продаешь". =)

Ответить
Развернуть ветку
Елена Шестакова

Когда разработчик начинает, он ещё не знает, что получится. Он делает для себя, по приколу, из интереса, потом начинает тестировать, потом развивать, кому-то это начинает нравится, появляется гордость. А потом хлобысь - полмира пользуется и даже спасибо не говорит.
А ведь он это не для мира делал, а для себя.
С какой стати миру дарить

Ответить
Развернуть ветку
Александр

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Александр

В любом случае - это уже не бесплатно.

Ответить
Развернуть ветку
Антон
с точки зрения вашей логики
Если вы не заметили, то за открытия Ньютона...
позиции, которую вы не понимаете
КАЖДАЯ компания, как вы сказали, будет...
Пример СССР таких как вы не учит жизни...

Братан, выдыхай, ты месишь ногами соломенное чучело, оно в турху уже XD

Я просто сказал, что проблема не системная, т.е. не требует системного решения, а достаточно, например, лучшего понимания отвественности пользователей перед благосостоянием энтузиастов опен-сорса, и/или лучшего понимания рисков, связанных с беспечным использованием опен-сорса в энтерпрайзе.

Ответить
Развернуть ветку
446 комментариев
Раскрывать всегда