Прошло почти пять месяцев с тех пор, как стало известно о взломе SolarWinds, вызвавшем множество криков об уязвимостях в цепочке поставок программного обеспечения.

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

Компании, платящие коммерческому поставщику за свое программное обеспечение, обычно могут оказывать на них давление, требуя исправления ошибки, и маловероятно, что коммерческое предприятие исчезнет в одночасье. Это менее верно для проектов программного обеспечения с открытым исходным кодом (OSS), которые часто обслуживаются в одиночку случайным человеком где-то в качестве хобби.

Все скреплено липкой лентой

Коммерческая зависимость от программного обеспечения с открытым исходным кодом (OSS) огромна. Компания по обеспечению целостности программного обеспечения Synopsys, которая регулярно публикует отчет о безопасности и рисках с открытым исходным кодом, обнаружила, что количество компонентов с открытым исходным кодом на коммерческое приложение подскочило с 84 в 2016 году до 528 в прошлом году. Тем не менее, деньги, которые разработчики ПО с открытым исходным кодом получают за работу над этим программным обеспечением, часто в свободное время, не сильно выросли, если вообще выросли.

Финансирование проектов OSS обычно ужасно. В 2019 году разработчик Андре Стальц собрал данные из Open Collective и GitHub для оценки доходов проекта. Свыше 50 процентов проектов не смогли удержать своих сопровождающих выше черты бедности, в то время как 31 процент генерировал достаточно, чтобы заработная плата считалась неприемлемой в отрасли.

Читайте также:
Папки ZIP изначально были побочной работой инженеров Microsoft, пока начальство не выяснило, что он работает на Microsoft.

Размер выборки был небольшим (58), но это сделало эти результаты еще более яркими. Он включал в себя относительно крупные проекты, в большинстве из которых участвовал хотя бы один постоянный участник. Для каждого из них есть тысячи других проектов, которые меньше, но все же важны как минимум для одной компании.

Проекты, лежащие в основе здоровья Интернета, часто получают недостаточную поддержку. В своем отчете об устойчивости открытого исходного кода для Фонда Форда за 2016 год Надя Эгбал задокументировала тяжелое положение проекта OpenSSL, на который полагаются тысячи компаний и приложений.

Он зарабатывал не более 2000 долларов в год в виде пожертвований до своего Уязвимость системы безопасности Heartbleed появились в 2014 году, при этом большая часть другого финансирования поступила от консалтинговых и контрактных работ. Также у него был всего один постоянный разработчик.

«Сразу после Heartbleed и в течение нескольких лет после этого практически все наше финансирование шло за счет спонсорства / пожертвований», — говорит Мэтт Касвелл, член Правления OpenSSL.

Пожертвования проекту и сегодня небольшие. OpenSSL Software Foundation имеет всего двух сторонников в рамках своей корпоративной спонсорской программы, каждый из которых выделяет около 5000 долларов каждый. Он также собирает пожертвования от спонсоров GitHub.

Хотя Касвелл не называет цифр, он говорит, что практически все финансирование поступает из контрактов на поддержку.

С точки зрения персонала, сейчас у организации лучше здоровье, чем в 2014 году: сейчас в ней четыре штатных разработчика. Это лучше, но все равно вызывает беспокойство, если вспомнить, насколько большая часть Интернета зависит от этого программного обеспечения.

Читайте также:
Теперь Google Play Можно установить на Windows

Неисправность проекта: Сопровождающий не отвечает

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

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

Увеличение нагрузки

Это может иметь серьезные последствия для сопровождающих, которые внезапно обнаруживают, что исправляют ошибки, которые им не интересны, занимаются политикой сообщества, проводят контроль качества небрежных вкладов и имеют дело с токсичными комментариями людей, использующих их программное обеспечение бесплатно. Все настолько плохо, что Linux Conf AU, проходящая в родной для Хантли Австралии, решила предоставить на месте разработчикам OSS психолога.

В апреле Gitpod выделил 30 000 долларов в Фонд устойчивого развития с открытым исходным кодом, чтобы помочь разработчикам. Компания, которая также сделала Gitpod бесплатным для сообществ с открытым исходным кодом, стремится дать деньги проектам с открытым исходным кодом, на которые она опирается.

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

Читайте также:
Мы не можем больше этого избежать. Вот история о мании NFT ... иначе, кто-то купил JPEG за 69 миллионов долларов в эфире • Реестр

В то время как такие люди, как Хантли, выступают, многие компании просто используют OSS, не давая ничего взамен. По словам Аарона Станнарда, проблема заключается в несовпадении мировоззрений. Он является генеральным директором и основателем Petabridge, компании, которая перенесла набор инструментов одновременных приложений Java Akka на .NET в качестве проекта с открытым исходным кодом.

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

Покажи мне деньги

Как разработчики с открытым исходным кодом могут противостоять тенденции и начать получать деньги за свое время? Люди могут обращаться к индивидуальным пожертвованиям через такие платформы, как Patreon или GitHub Sponsors, но некоторые настроены скептически. Разработчик OSS Дрю ДеВолт — третий по значимости разработчик wlroots, набора модулей для создания композиторов для протокола связи с сервером отображения Wayland. По его словам, этот проект принимал пожертвования, но не принес больших результатов.

«Этого никогда не было даже близко к тому, чтобы заработать на жизнь даже одному разработчику», — говорит он. «Если вы придерживались этой стратегии и надеялись, что сможете зарабатывать на жизнь этим, вы должны понимать, что это чрезвычайно сложно». Тем не менее, это принесло ему несколько плодотворных консультаций, в том числе с Valve, по созданию поддержки виртуальной реальности на базе Linux.

Читайте также:
Bell Labs передает авторские права на влиятельную ОС Plan 9 новому фонду °

Деловое чутье?

Подобно Хантли и Стэннарду, ДеВолт превратил свой собственный проект с открытым исходным кодом в бизнес. Он управляет SourceHut, который объединяет различные инструменты разработки OSS в платформу разработки программного обеспечения, которая может быть размещена на собственном хостинге или которую SourceHut будет размещать для вас. В настоящее время проект приносит около 10 000 долларов в месяц, хотя он еще не заставляет людей платить за счета.

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

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

Лицензирование программного обеспечения с открытым исходным кодом не было правильным путем для Petabridge. Его программное обеспечение призвано стать основой для других вещей. По словам Стэннарда, лицензирование его для встраивания в собственное программное обеспечение повышает риск его принятия для клиентов. Вместо этого он делает программное обеспечение бесплатным.

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

Читайте также:
Научные лаборатории хотят создать аналог Amazon Web Services

Еще один вариант заработка для разработчиков OSS — это лицензия на поддержку, которая гарантирует, что вы исправите ошибки компании, что делает и компания Стэннарда. Это не означает, что он не будет исправлять ошибки, отправленные неплательщиком, если они имеют смысл для общего состояния проекта.

«На самом деле вы не покупаете нашу способность исправлять ошибки», — говорит он. «То, что вы покупаете, — это наша гарантия, что мы исправим ошибки, когда они вам понадобятся».

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

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

Сделайте так, чтобы открытый исходный код работал на вас

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

Читайте также:
Вирус с Google Play заразил миллионы устройств

Появилось несколько сайтов-посредников, помогающих собирать и распределять краудсорсинговые или корпоративные спонсорские фонды, в том числе сайт краудфандинга LFX Linux Foundation и Open Collective. Последняя представляет собой онлайн-платформу, которая объединяет проекты с открытым исходным кодом и спонсоров через свое юридическое лицо, некоммерческую организацию Open Source Collective. «Проекты OSS не являются иерархическими или юридическими структурами», — объясняет соучредитель Open Collective Пиа Манчини. Она объясняет, что коллектив не столько поддерживает отдельных людей, сколько сообщество, которое строится вокруг проекта с открытым исходным кодом.

«Мы считаем, что сообщество наиболее эффективно, когда оно может пережить своих основателей», — добавляет она.

Предоставляя сообществам с открытым исходным кодом интерфейс для сбора и распределения средств, Open Collective также имеет инструменты для спонсоров. Его инструмент Back Your Stack позволяет компаниям анализировать зависимости своего программного обеспечения с открытым исходным кодом, проверять манифесты проектов для составления ведомости материалов OSS, описанной Хантли.

Что если вы разработчик, который просто хотел бы заработать немного денег, работая над проектами с открытым исходным кодом? Такие инструменты, как Bountysource, предлагают компаниям возможность создавать вознаграждения за определенные функции или исправления ошибок, относящихся к проектам с открытым исходным кодом. Затем отдельные разработчики могут заняться их исправлением. У DeVault также есть изящная идея: запустить короткий скрипт для оценки доменов, которые зафиксированы в репозитории проекта за последние 100 000 коммитов. Затем свяжитесь с ними, чтобы узнать, будут ли они заинтересованы в разговоре. Просто убедитесь, что у вас уже есть приличная история коммитов. Пусть расцветут сто миллионов цветов.

Читайте также:
Microsoft подтверждает отсутствие визуального дизайнера для WinUI 3.0 при запуске • Реестр

То, что делает открытый исходный код таким успешным, также усугубляет проблему устойчивости. Он процветает благодаря низкому входному порогу и привлекает новых разработчиков, стремящихся принять участие в карьерном росте, самообразовании, поддержке сообщества или просто для того, чтобы почесать собственный зуд. Это привело к массовому увеличению количества проектов. В 2008 году у GitHub было около 33 000 репозиториев. Десять лет спустя он отметил, что количество репозиториев превысило 100 миллионов.

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