Рубріки: Мнение

Все проблемы — от культуры опенсорса: разработчица объяснила, почему надо платить за софт

Богдан Мирченко

9 декабря в одной из библиотек Java обнаружили критическую уязвимость, что может стать причиной захвата серверов злоумышленниками. По мнению эксперта по WebAssembly Кристины Додрилл, в произошедшем виновата «культура опенсорса». При чем тут мир исходного кода и как избежать следующих утечек, разработчица рассказала в личном блоге. 

Вот что она написала. 

Культура опенсорса

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

Считаю, что это идеальный пример всех основных проблем экосистемы программного обеспечения с открытым исходным кодом. 

Многое программное обеспечение держится на плечах опенсорс-гигантов. Например, запуск SSH-сервера на Linux. Для выполнения такой базовой задачи, если брать дефолтную конфигурацию Alpine Linux, найдется не менее десяти компаний-поставщиков услуг, то есть существует не менее десяти организаций, которые заработают на программе, которая распространяется бесплатно. 

Alpine Linux — еще один пример проблем в экосистеме опенсорса, потому что дистрибутив также часто используется в контексте Docker для обеспечения работы многих компаний. Как думаете, сколько из них финансируют проект Alpine Linux? Сколько из них хотя бы задумались о об этом?

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

Отсутствие поддержки

Звезды на GitHub, как известно, нельзя использовать для оплаты аренды. Примером тому может служить фиаско с библиотекой core-js, которая печально известна тем, что каждый раз, когда пользователь устанавливает ее в CI, ее автор сообщает, что ищет работу. Вот как это выглядит:

Автор проекта либо все еще находится в тюрьме за непредумышленное убийство, либо недавно вышел на свободу. core-js — зависимость в React. А сколько людей пожертвовали на этот проект? Особенно среди тех, кто использует React.

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

Подачки

До обнаружения уязвимости библиотеку спонсировало три человека. ТРИ! На следующий день их количество резко выросло до 14, но это не показатель. Автор проекта должен финансироваться на уровне, соответствующем тому, насколько log4j2 используется в экосистеме. Проект этого разработчика, которым он увлекается в свободное время, ответственен за то, что теперь половина интернета работает не так, как должна. Уязвимость коснулась такие компании, как Apple, Google, ряд операторов сотовой связи и практически всех, кто использует Java EE в конфигурации по умолчанию. 

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

Мой друг долгое время бескорыстно поддерживает стек онлайн-радиостанций. Пользователи издеваются над ним. Они кидают ему $5 в качестве чаевых, а потом очень злятся, когда он не бросает все свои дела и не решает в мгновение ока их невероятно специфические проблемы. Он пытался найти работу, но каждый раз компании пытаются лишить его права собственности на его собственные проекты, поэтому он вынужден отказываться. А подачки с чаевыми тем временем продолжаются. 

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

Вывод

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

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023