Когда речь идет о мелких производителях программного обеспечения, их имена часто тонут в потоке крупных новостей. А когда открытое ПО создают крупные игроки, на рынке его часто ошибочно принимают за проприетарное. На самом же деле буквально каждое важное событие не обходится без применения Open Source. Даже полет в космос. Но в деталях нужно разбираться.
Open Source — это сочетание слов, знакомое не только программистам. Даже простые пользователи смартфонов отлично знают, чем «открытый софт» отличается от того, который создается с закрытым кодом. Например, Apple предпочитает закрытую экосистему и так называемое проприетарное программное обеспечение. Его трудно взломать, но и открытого доступа к модификации как с юридической, так и с фактической точки зрения не предоставляется. Противоположный пример — компания Mozilla Foundation. Ее решения создаются на основе открытого кода. Подобно тому как это происходит со статьями в Wikipedia, такой код может изменить любой желающий, и создать на его основе что-то новое, либо доработать уже существующее решение. Часто создатели решений на основе открытого ПО отдают приоритет свободным экосистемам, при этом прибыль идет уже на втором месте. Однако под угрозой в отдельных случаях может оказаться как безопасность, так и авторские права. В целом спор о том, какой подход к коду лучше, ведется уже много лет. Но сегодня мы поговорим о том, какую роль открытое ПО играет в современном мире.
Исследование Synopsys показало, что в 98% баз кодов присутствует код типа open source. Открытый код можно найти в ПО от Google, Microsoft и Facebook. Еще более внушительные данные приводит GitHub: 12 тысяч разработчиков, работающих с открытым кодом, приняли участие в проекте, итогом которого стал запуск «марсианского вертолета» 19 апреля 2021 года. Издание VentureBeat отмечает, что многие создатели открытого ПО могли даже не знать, что их разработки применены таким образом.
Кроме того, такое огромное количество разработчиков и отдельных продуктов нередко становится серьезной проблемой для заказчика. Приходится иметь дело с широким набором лицензионных соглашений, ведь даже открытый код не всегда можно применить с конкретной коммерческой целью.
По сути понятие Open Source кажется емким и точным лишь на первый взгляд. По факту же это «зонтичный» термин, объединяющий различные типы решений, многие из которых не являются, например, бесплатными. Продукты, которые продвигаются как Open Source, могут по факту быть примерами удачно выбранной маркетинговой стратегии, по факту являясь платными и достаточно закрытыми с точки зрения модификации путем применения различных лицензий.
По этой причине важно знать, что в наше время есть более точное понятие, определяющее именно открытый и бесплатный софт — Free and open source software (FOSS). То есть, «свободное программное обеспечение с открытым кодом». Это значит, что код ПО полностью открыт, все новые решения на его основе должны быть доступны для всех пользователей, и любой пользователь или разработчик, получивший ПО в свое распоряжение, может распространять его.
Другой тип софта, Freeware, является бесплатным, но вот все остальные условия могут не соблюдаться. То есть, бесплатную программу могут и не позволить модифицировать или распространять. Иными словами, многозначное слово free в первом случае указывает на свободу, во втором же — на бесплатность.
Существует также понятие Source Available. Такое ПО будет позволять модифицировать свой код, но это вовсе не означает, что его можно будет распространять.
Сегодня крупные разработчики часто прибегают к использованию модели Source Available, хотя нередко его путают с полностью свободным софтом. Так, игровые «движки» Unreal Engine от Epic Games и Lumberyard от Amazon может скачать любой желающий, но дальше начинаются сложности. Ни одна из компаний не дает права интегрировать свой код в «движок» сторонней разработки. Такие игры как Star Citizen могут разрабатываться на модифицированной версии Lumberyard, но даже такие аффилированные с Amazon проекты четко прописывают, что используется именно Lumberyard, а не разработанное на его основе иное ПО с другим названием.
Но и в случае, когда мы говорим об абсолютно свободном и бесплатном программном обеспечении, все чаще возникают миниэкосистемы, способные зарабатывать деньги даже на таком виде ПО. Например, потребителю, обычно, крупной компании, продается не сам код, а сервисы, необходимые для правильной работы программ. Например, деньги берут за аналитику или обеспечение безопасности.
Есть много примеров и среди крупных разработчиков. Так система работы с базами данных от Oracle, MySQL, распространяется с двумя типами лицензий. По сути, ПО распространяется одновременно как открытое и как проприетарное в зависимости от запросов клиента. Если MySQL скачивается под лицензией GPL, то оказывается доступным как свободное ПО, однако с ограничением типа Copyleft. Оно подразумевает, что любые дальнейшие разработки будут также выпускаться под вышеобозначенной лицензией, что мешает из коммерциализации. Превращение открытого кода в проприетарный невозможно. Второй же тип лицензии, созданный для нацеленной на корпоративных клиентов MySQL Enterprise Edition, позволяет создавать проприетарное ПО на базе разработки от Oracle и продавать его. Также Oracle предоставляет пакет услуг — от полностью обслуживаемой базы данных — до защиты информации и хранилища документов. Доступна также система шифрования.
Среди лицензий, позволяющих на основе открытого ПО создавать проприетарное — MIT License, GNU All-permissive License, и Apache license.
Таким образом, рынок свободного ПО обеспечивает компаниям максимальную гибкость. Здесь и мелкие игроки и гиганты могут выбрать удобный для них подход. Иногда отдельные решения продвигаются как открытый продукт с целью привлечь максимальную аудиторию. В других случаях цель разработки изначально не является коммерческой. Она может быть научной, образовательной и так далее. В результате шаг за шагом Open Source захватывает рынок программного обеспечения, но всегда нужно разбираться, о каком типе «открытости» мы говорим.