Причины поддержки проектов с открытым исходным кодом (OSS)

Причины поддержки проектов с открытым исходным кодом (OSS)
Рассмотрим тезисно аргументы Google с моими комментариями.

Инженерная экономика

Open-source software (OSS) - это не акт благотворительности, в конечном итоге OSS приводит к более высокой отдаче от первоначальных инвестиций по сравнению с закрытым исходным кодом.

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

Одним из примеров является Angular , фреймворк для веб-приложений, который широко используется в Google. Angular был быстро принят веб-разработчиками, которые создавали расширения и инструменты. Google использует эти расширения и инструменты внутри компании.

Сюда же можно отнести TypeScript и PowerShell от Микрософт, и конечно, Python .

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

Закрытые языки умирают.

Создание или поддержка открытого стандарта

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

GNU и Linux черпали вдохновение у Unix и, будучи выпущенными под OSS лицензиями, получили быстрое распространение. В настоящее время Linux является стандартом для серверов, маршрутизаторов и пр. Это побудило крупных поставщиков ПО, типа Микрософт, поддерживать Linux и создавать поддержку Bash в Microsoft Windows.

Выпуск OSS может создать возможность для конкуренции в новой области. Рассмотрим Kubernetes, программное обеспечение для автоматизации управления, развертывания, эксплуатации и масштабирования контейнерных приложений. Kubernetes используется в Google Cloud, Microsoft Azure и Amazon Web Services. Предоставив полезный инструмент, который является уровнем абстракции, Google упростил использование нескольких поставщиков облачных услуг и переключение между ними.

Стимулируйте внедрение с помощью платформы и экосистемы

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

Близкий пример: Яндекс открывает Алису для всех разработчиков. Предусмотрена возможность монетизации для разработчиков. Научиться создавать навыки можно в Школе Алисы .

Смена парадигмы

Выпуск MongoDB, Couchbase и других "NoSQL" баз данных встряхнул классический подход к базам данных. Разработчики начали тратить время на поиск подходящего инструмента для работы, выбирая из реляционных баз данных, хранилищ документов, графовых баз данных и т. д.

Другой пример: в 2008 году JavaScript был синонимом медленности. Когда Google опубликовал Chromium, проект Google Chrome, с открытым исходным кодом, он также выпустил V8 JavaScript Engine , который использует множество методов оптимизации. Это привело к приросту производительности, который в итоге наблюдался во всех браузерах, улучшив работу пользователей с веб-сайтами, позволив использовать JavaScript на стороне сервера. Поскольку V8 был выпущен с открытым исходным кодом, вся экосистема смогла двигаться вперед вместе, а не только Chrome и его пользователи.

Рекрутинг и адаптация

Рекрутинг редко является основной целью выпуска OSS проекта. Это полезный "побочный эффект", особенно когда компания открыто публикует вещи, которые используются внутри нее.

Возьмем, к примеру, Bazel, версию с открытым исходным кодом внутренней системы сборки Google. Выпуская его с открытым исходным кодом, он используется разработчиками во всей отрасли. Как только инструмент становится открытым, сотрудника можно нанять из внешних участников. Адаптация становится намного проще, когда новые сотрудники уже знакомы с технологиями и сообществом, которое их создает и поддерживает.

Создание сообщества — это тяжелая работа. Чтобы создать сообщество , в нем должно быть невероятно легко участвовать. Программное обеспечение необходимо загрузить и собрать до известного протестированного состояния на известной платформе (в идеале на многих), если вы хотите, чтобы разработчики тратили время. В противном случае ваш проект станет еще одним умирающим набором ПО, выброшенным на github, который разочарует разработчиков и, в конце концов, прогонит их.

Основной источник аргументов под лицензией Creative Commons Attribution 4.0 License
Open Source
Alt text

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!

Дима Федоров

Open Source и аналитика данных в ИБ