Причины поддержки проектов с открытым исходным кодом (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
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Квантовый кот Шрёдингера ищет хозяина!

Живой, мертвый или в суперпозиции? Узнайте в нашем канале

Откройте коробку любопытства — подпишитесь

Дима Федоров

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