Разработчик испортил свой известный проект, чтобы «наказать» корпорации — почему это происходит в 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 года разработчик писал, что не хочет поддерживать работу коммерческих предприятий бесплатно.
В файл с инструкцией к 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 ПО часто работают безвозмездно, но дают пользователям возможность благодарить их за работу пожертвованиями.
Выдвигая требования и не поддерживая разработчиков, пользователи забывают, что многие из сервисов и технологий в интернете работают за счёт бесплатного труда, пишет Vice.
Активность и энтузиазм программистов позволили создать RSS и множество других проектов. Но когда авторам ПО не хватает сил или времени на продукты, в них могут появиться как ошибки, так и серьёзные уязвимости.
В декабре 2011 года один из разработчиков криптографической библиотеки OpenSSL Стивен Хэнсон начал работать над программной надстройкой Heartbeat. Она позволяла поддерживать соединения активными без необходимости постоянного переподключения с авторизацией. В написании кода Хэнсону помог энтузиаст и программист Робин Сеггельман.
В апреле 2014 года в коде OpenSSL обнаружили уязвимость Heartbleed — она позволяла несанкционированно читать память на сервере или устройстве клиента и расшифровывать данные, которые они передают между собой.
Выяснилось, что уязвимость появилась в обновлении 2011 года. Бывший гендиректор OpenSSL Foundation Стив Маркесс заявил, что причиной ошибки стало выгорание разработчиков и отсутствие финансирования — их бюджет составлял всего $2 тысячи ежегодных пожертвований и менее $1 млн выручки в год от платной поддержки и индивидуальных консультаций.
В команду OpenSSL постоянно входило 3-4 человека, которые поддерживали продукт из почти полумиллиона строк кода. Из них, по словам Маркесса, Хэнсон был единственным программистом, который работал над OpenSSL полный рабочий день. Он зарабатывал куда меньше, чем мог бы со своими навыками, но ставил развитие open source ПО в приоритет.
Как отмечает Vice, в системе интернета явно что-то нарушилось, когда за безопасность глобальной сети начал отвечать один «перегруженный работой и низкооплачиваемый» программист Хэнсон.
По словам Маркесса, правительства и коммерческие компании привыкли применять 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.
Например, если в поддержку решений начнут больше вкладываться крупные компании, они могут нарушить принципы управления сообщества и попытаться повлиять на его развитие, отмечает Vice. В то же время без денег на постоянную работу с ПО проектам сложно привлечь профессиональных программистов.
9 декабря 2021 года новую уязвимость обнаружили в другой популярной open source библиотеке журналирования log4j для языка программирования Java, её разрабатывали программисты-энтузиасты из Apache Software Foundation.
Находке присвоили высший уровень опасности и назвали её «самой крупной и самой критической за последнее десятилетие» — библиотеку использовали в корпоративном ПО, программах с открытым исходным кодом, а также на серверах государственных учреждений по всему миру.
По оценке Financial Times, хакеры запустили с помощью найденной ошибки более 1,2 млн атак, под угрозой оказались серверы Google, Microsoft, Tesla, Cisco, Cloudflare, VMware, Amazon, Twitter, Steam, Tencent, Baidu и многих других.
Как монетизируют ПО
Open source проекты распространяются бесплатно, их может скачать любой человек, а их код доступен для просмотра и изменения. Но большинство крупных образцов такого ПО всё же монетизируются тем или иным способом.
Одним из очевидных вариантов для программистов стала программа добровольных пожертвований — пользователи могут отблагодарить разработчиков любой суммой. Но, как показал пример OpenSSL, таких сборов не всегда достаточно для полноценной работы.
Альтернативным способом заработка становится платная служба поддержки пользователей — такой подход, например, используют разработчики дистрибутива Ubuntu из компании Canonical. Ранее они также продавали сувениры и одежду с символикой своей разработки, но позже закрыли магазин по неназванной причине.
Создатели WordPress распространяют свою систему управления содержимым сайтов бесплатно. Сторонние разработчики зарабатывают на продаже дополнительных коммерческих модулей — например, расширяющих функции для онлайн-магазинов. Сама компания платно предоставляет услуги хостинга, ставит на его бесплатных версиях рекламу и собирает пожертвования.
Иногда компании также пользуются методом двойного лицензирования. Например, система управления базами данными MySQL распространяется по лицензии GPL, то есть свободно и бесплатно, но если разработчики хотят использовать MySQL в своих программах, они должны публиковать их по той же open source лицензии. В других случаях создатели предлагают оплатить коммерческую лицензию с сервисной поддержкой.
Разработчики веб-сервера и почтового прокси-сервера nginx распространяют его как проект с открытым исходным кодом, но предлагают компаниям платную поддержку. Они также разработали платную версию Plus, для которой при оплате подписки действует круглосуточная поддержка и присутствуют дополнительные функции, недоступные в open source версии.
По оценке автора библиотеки обработки изображений .NET ImageSharp Джеймса Саута, иногда пользователям кажется, что отдельные проекты имеют финансовый успех из-за количества загрузок или отзывов.
Разработчик генератора статического контента .NET Statiq и сайта Discover.NET Дейв Глик считает, что авторам open source проектов нужно искать новые модели продаж и альтернативные лицензии распространения своих продуктов.
В качестве примера он привёл два варианта посредников: платформу Tidelift, через которую можно продавать подписку на обновления и поддержку приложений, и Sdkbin — через неё можно автоматизировать продажи и формирование чеков, что должно облегчить работу с отделами закупок компаний.
Если разработчики open source приложений не найдут новые способы монетизировать свою работу, проблемой в ближайшем будущем может стать не только намеренное отключение и удаление ПО. Разработчики могут отказаться дорабатывать свои программы.
Как отмечает The New Stack, когда энтузиасты покидают проекты или редко их обновляют, те оказываются беззащитны перед новыми уязвимостями и ошибками. В таком случае, исправлять их приходится уже самим пользователям и компаниям, и это явление может стать массовым.
Тут всех вокруг заколотишь, когда создал мировой продукт, которым все пользуются, а тебе даже копейки не заплатили и не упомянули. В статье есть несколько акцентов на этом — каким бы ты не был самаритянином, тебя будет перекрывать от этого.
ну блин, зачем тогда выкладывать. У него ж этот "продукт" не украли.
Как-то очень странно же, выложить в общий доступ, а потом обижаться, что это кто-то использует
Шиза какая-то
Ну а если вспомнить вот такую историю годичной давности - https://habr.com/ru/company/vdsina/blog/560116/
А что там в этой истории про другого человека? читать тонну текста с какой целью?
Ну если не хочется читать тонну текста, то не читай.
Мне откровенно лениво что-то писать человеку, который не разобравшись во всем начинает навешивать ярлыки.
Ну не пиши
Я комментирую реальный случай, ты даешь ссылку на другую историю другого чувака. Да хоть его президентом выбрали какое отношение его история имеет к моему камменту?
Если ты не согласен или согласен, так и напиши с чем согласен или с чем не согласен.
Какой ты реальный случай комментируешь, лол?
в заголовке написан
смех без причины, признак дурачины
То есть ты комментируешь случай удаления faker.js и внесения бага в color.js, да?
Я просто сейчас уточняю, чтобы ты потом не смог отмазаться, что ты не этот случай комментировал, а какой-то другой
хоспади, нахрена мне отмазываться от какого-то мимокрокодила в интернете
умерь эго
Ну то есть ты просто не умеешь читать и сразу мчишься навешивать ярлыки на людей.
Ясно-понятно.
Потому что если бы ты умел читать, то увидел бы по моей ссылке в первом же предложении, что эта статья была написана автором faker.js, тем самым чей нынешний поступок ты комментируешь, год назад
Ну я за тебя рад, что тебе ясно и понятно. Хоть кому-то ясно и понятно
А я что, ходил по твоей ссылке? а зачем? Я тебе сразу сказал, что если есть что сказать, пиши, а не кидай ссылки
Ну я же сказал, что для таких как ты, навешивающих ярлыки, мне просто лениво писать.
Кто захочет - пройдет, прочитает и сделает выводы.
ну так и не пиши
ага, ща как ломанутся простыни читать
Т.е даже заголовок было тяжело прочитать?
читать тонну текста с какой целью?С целью понять ситуацию полнее.
Вообще это моветон. Отвечать человеку ссылкой без пояснений нафига это надо
А я разве озвучивал цель "хочу понять ситуацию полнее" ? вроде нет. Мне срать на этого чувака с высокой колокольни. Имеющейся инфы достаточно
Ну и что? Нельзя продать программистам хрень, которую они сами напишут за выходные.
У меня так руководство узнаю мою идею отдало её на развитие другому сотруднику.
Поначалу прифигел, потом уволился, а потом еще на меня начали бочку катить чтобы я не занимался теми же вещами, что в прошлом месте делал.. Дичь полная.
ну вообще идеи не охраняются авторским правом
Вас нанимали, чтобы Вы приносили пользу. Идею видимо тоже посчитали полезной
Ну вообще это нормально, когда сотрудник делает свою работу не просто "я сделаль", а лучше, чем было до него
Когда я пришел мне сказали найти чем заниматься, я нашел, идея оказалась хорошей. У меня забрали и снова предложили по искать хорошую идею.
Может дело в том что руководство п-ры?)
Ну Вам там виднее их ориентация
Раз Вам предлагают искать хорошие идеи, значит Ваш потенциал оценили по достоинству
через 10 лет в отчетах тех товарищей видел свою работу и ржал, что они не смогли за 10лет придумать что-то еще, кроме того что придумал 23 летний работник за 1 год (причем чувак которому отдали так и не сделал ничего больше)...
так что с ориентацией я почти уверен — п-сы.
Ну это прекрасно, что ваши труды не ушли в мусорку. Пусть даже это была идея
Гораздо обидней, когда делаешь, а это уходит в мусорку
ну они откровенно запороли хорошую идею и взяли просто минимальную реализацию которую возможно, до ума они не довели.
Ну и делал бы по коммерческой лицензии.
Сделал по MIT лицензии продукт и ноет что ему не платят.