Изучение того, как монетизируется открытый исходный код

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

Нам нужно заплатить

Кто будет платить тебе зарплату?

У людей есть разные ответы на бизнес-модели с открытым исходным кодом, например, «консультации» или расплывчатое «поддержка». Мне всегда интересно, пробовали ли такие люди продавать консультации. Или, может быть, «поддержать».

Люди не покупают эти вещи. Особенно в условиях экономического спада. То, как продавцы обычно продают эти вещи, намекает на то, что вы можете нарушить лицензию, и было бы намного проще, если бы вы заплатили и получили коммерческую лицензию. Я даже в "поддержку" подкину бесплатно.

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

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

Sun Microsystems выплачивала мне зарплату во время моей работы в OSS. Они разорились и упали с оценки в 200+ миллиардов долларов, в конечном итоге продав около 7 миллиардов. Конечно, это не потому, что они были с открытым исходным кодом. Это просто анекдот, и это не помогло.

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

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

Приманка и переключатель

Плохая вещь — корпоративный цинизм. Возьми Гугл. Они открыли исходный код Android, когда у него не было пользователей. Компании построили на его основе, и разработчики тоже. Вокруг него сформировалась адвокация, потому что «это открытый исходный код». Затем они выпустили сервисы Google Play с закрытым исходным кодом, которые позже добавили требование SaaS Firebase для некоторых важных функций (на данный момент это бесплатно), и теперь у нас есть глубокие зависимости от поставщика с закрытым исходным кодом, маскирующиеся под открытый исходный код.

Нам не нужно использовать сервисы Google Play, если мы хотим создать приложение для Android. Конечно. Но это значительно усложняет создание приложения для Android, и если вы не используете его для каких-либо целей (например, для продвижения, покупки и т. д.), вас забанят на крупнейшем рынке Android. Подавляющее большинство разработчиков «просто используют его». Любой, кто хочет стереть Google Play со своего Android-устройства в пользу решения со 100% открытым исходным кодом, обнаружит, что у него очень мало вариантов программного обеспечения для приложений.

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

Случай с Java немного отличается. Java не был открытым исходным кодом и был сделан открытым исходным кодом позже. Он по-прежнему держал IP над языком. Так что я получаю часть жесткого контроля Oracle над проектом и принимаю это. Хорошо, что твердая рука на корабле способствовала успеху Java. Проблема с иском Google заключалась в том, что Oracle пыталась расширить свою интеллектуальную собственность, включив в нее API. Это была ошибка.

GPL — лучшая лицензия

Около десяти лет назад стартап под названием RoboVM выпустил компилятор с открытым исходным кодом, который транслировал Java в нативные приложения для iOS. Это было довольно круто, и я немного поговорил с основателем JavaOne. Тогда мы рассматривали возможность создания собственной виртуальной машины или выбора решения, такого как RoboVM. Мы остановились на первом и построили свою виртуальную машину, которая была намного проще и лучше подходила под наши нужды (она тоже с открытым исходным кодом).

Это решение было основано на технических достоинствах, и я думаю, что оно окупилось, но я до сих пор с огромным уважением отношусь к команде RoboVM. Меня беспокоила Apple. Они много чего ломают… Создание низкоуровневой виртуальной машины — это опасная игра в кошки-мышки, когда Apple вдруг что-то изменит, и мы застрянем. Второстепенной проблемой была монетизация. Я понимал, что команде RoboVM придется как-то платить зарплату своим сотрудникам и учредителям. Как можно заработать на компиляторе с открытым исходным кодом? Обратите внимание, что это было десять лет назад, и не было таких прецедентов, как Zig, на которые мы могли бы смотреть как на шаблон.

В какой-то момент мои опасения по поводу политики Apple материализовались, и Apple добавила требование битового кода при нацеливании на некоторые платформы. RoboVM потратил огромное количество времени на поддержку биткода и решил закрыть свой исходный код. Они понимали, что без этого не смогут финансировать дальнейшее развитие. Не воспринимайте это как осуждение их решения. Я полностью понимаю это. Как я уже сказал, монетизировать OSS очень сложно.

GPL защитила сообщество, заставив RoboVM выпустить код для окончательной версии перед миграцией битового кода. Это позволило несколько разветвлений кода в последующие годы, но он все еще не поддерживается. Компания была куплена Xamarin и сразу же прекращена, поскольку последняя была куплена Microsoft. Без GPL код мог быть недоступен. Это также вынуждало третьи стороны публиковать свой код.

В этом отношении я больше верю в GPL, а не в более разрешительные лицензии, такие как MIT, BSD, Apache и т. д. Я думаю, что мы, как сообщество, должны предпочесть лицензию, которая сохраняет права сообщества, а не корпоративные права. Это также предоставляет хороший вариант монетизации для создателя проекта. Просто повторно лицензируйте как проприетарную лицензию и взимайте плату за это.

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

Что-то изменилось?

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

Означает ли это, что весь открытый исходный код должен быть хобби или мега-всеохватывающим проектом?

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

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

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

Они разоряются, а крупная розничная компания поднимает цены. Поначалу казалось, что мы получили огромную выгоду от конкурентов, но в итоге проиграли. Из-за этого некоторые регулирующие органы запрещают такую ​​практику, поскольку в конечном итоге она разрушает рынок.

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

TL;DR

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

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

  • Используйте GPL — она предназначена для защиты прав сообщества. Неудивительно, что корпорациям это не нравится.
  • Не будьте пуританином OSS — маленькие компании должны зарабатывать деньги. Они будут предлагать SaaS, расширения с закрытым исходным кодом и т. д. Это нормально.
  • Крупные корпорации не проявляют благожелательности — пропаганда, которую я вижу вокруг проектов OSS со стороны компаний FAANG (MAANG), проблематична. Они не поддерживают OSS. Они используют и усиливают это. Не поймите меня неправильно, я благодарен за их код, и замечательно, что они его выпускают. Но нам нужно быть осторожными. У них есть фидуциарные требования, которые могут противоречить «правильным действиям» по стандартам OSS.

Я не знаю, буду ли следующей вещью, которую я сделаю, OSS. Я не знаю, выберу ли я GPL, поскольку, как я уже сказал, у людей есть с ней проблемы. Но я знаю одно: если вы сторонник открытого исходного кода, приглушите риторику. Это бесполезно.