Открыть сервис

Паразитирование на открытом коде

Паразитирование на открытом коде (также «паразитический опенсорс», «открытый исходный код с двойной лицензией», «псевдо-опенсорс») — это практика использования открытого программного обеспечения (open source) с нарушением его лицензионных условий, либо с целью извлечения коммерческой выгоды без внесения равноценного вклада в сообщество, либо с намеренным искажением природы открытого кода для получения конкурентных преимуществ. Термин не имеет строгого юридического определения и чаще используется в публицистике и профессиональном сообществе для описания ряда недобросовестных практик, связанных с эксплуатацией моделей разработки и распространения свободного ПО.

История возникновения термина

Понятие «паразитирование на открытом коде» начало формироваться в конце 1990-х — начале 2000-х годов, одновременно с ростом популярности модели open source. Первые случаи были связаны с компаниями, которые брали код под лицензиями GNU GPL или BSD, включали его в свои проприетарные продукты, но не выполняли требования по раскрытию изменений (в случае GPL) или не указывали авторство (в случае BSD).

В 2001 году Ричард Столлман, основатель проекта GNU, в своих выступлениях впервые употребил термин «паразитические» (parasitic) по отношению к компаниям, которые используют свободный код, но не возвращают его сообществу. В 2005 году термин получил более широкое распространение после публикации статьи «Open Source Parasites» в журнале Linux Journal, где анализировались случаи, когда крупные корпорации (например, Oracle, Microsoft) использовали код Linux и других проектов для создания коммерческих продуктов, не внося существенного вклада в их развитие.

В 2010-е годы, с появлением модели «открытого ядра» (open core) и коммерческих лицензий на основе open source, термин стал применяться к компаниям, которые формально выпускают код под открытой лицензией, но фактически ограничивают его использование в коммерческих целях через дополнительные соглашения или патентные угрозы.

Основные формы паразитирования

1. Нарушение лицензионных условий

Наиболее очевидная форма — использование кода под лицензиями, требующими раскрытия производных работ (например, GPL, AGPL), без выполнения этих требований. Компании включают open source-компоненты в свои проприетарные продукты, не публикуя исходный код изменений. Это нарушает условия лицензии и может привести к судебным искам. Примеры: дела по нарушению GPL против компаний Cisco, VMware, Samsung.

2. «Паразитический опенсорс» (Open Source Parasite)

Термин, введённый в 2018 году аналитиком Стивеном О’Грейди, описывает ситуацию, когда компания создаёт коммерческий продукт на основе открытого кода, но не вносит вклад в его развитие, не спонсирует разработчиков и не участвует в сообществе. При этом она получает все преимущества open source (бесплатный код, тестирование сообществом, документацию), но не возвращает ничего взамен. Классический пример — Amazon Web Services (AWS), которая в 2010-е годы активно использовала код Elasticsearch, MongoDB, Redis и других проектов, создавая на их основе платные сервисы, не делясь доходами с разработчиками.

3. «Открытое ядро» (Open Core) с ограничениями

Модель, при которой компания публикует базовую версию продукта под открытой лицензией, но все ключевые функции, необходимые для коммерческого использования, остаются в проприетарной версии. Критики называют это «паразитированием» на репутации open source, поскольку формально продукт считается открытым, но фактически не даёт пользователям тех свобод, которые предполагает open source. Примеры: GitLab, Sentry, Mattermost.

4. Лицензионные «ловушки» (License Traps)

Некоторые компании выпускают код под открытой лицензией, но включают в неё условия, которые делают невозможным коммерческое использование без покупки дополнительной лицензии. Например, лицензия SSPL (Server Side Public License) от MongoDB, которая требует публикации всех компонентов, взаимодействующих с продуктом, что фактически делает её непригодной для большинства коммерческих проектов. Такие лицензии критикуются сообществом как «паразитические», поскольку они используют риторику open source, но не соответствуют его принципам.

5. Патентное паразитирование

Компания использует открытый код, но одновременно владеет патентами на технологии, которые этот код реализует. Если разработчик open source-проекта использует эти технологии, компания может угрожать патентным иском, требуя лицензионных отчислений. Пример: Microsoft в 2000-е годы активно использовала патентные угрозы против Linux и других open source-проектов, хотя сама использовала их код.

Примеры и случаи

Elasticsearch и AWS

В 2015 году компания Elastic (разработчик поисковой системы Elasticsearch) выпустила продукт под лицензией Apache 2.0. AWS создала на его основе сервис Amazon Elasticsearch Service, который стал прямым конкурентом. Elastic не получала от этого дохода, а AWS использовала открытый код для привлечения клиентов. В 2021 году Elastic изменила лицензию на SSPL, что вызвало критику со стороны сообщества, но также привело к созданию форка OpenSearch под лицензией Apache 2.0.

Redis и Redis Labs

В 2018 году компания Redis Labs (разработчик базы данных Redis) объявила о смене лицензии для некоторых модулей с AGPL на проприетарную, мотивируя это тем, что облачные провайдеры (в первую очередь AWS) «паразитируют» на их коде. Это привело к расколу сообщества и созданию форка KeyDB.

MongoDB и AWS

MongoDB, выпущенная под лицензией AGPL, также активно использовалась AWS в сервисе Amazon DocumentDB. В 2018 году MongoDB изменила лицензию на SSPL, что вызвало споры о том, является ли это защитой от паразитирования или формой самого паразитирования.

Критика и контраргументы

Концепция «паразитирования на открытом коде» не является общепринятой и вызывает критику. Основные контраргументы:

  • Открытый код по определению предполагает свободное использование. Если код выпущен под лицензией, разрешающей коммерческое использование, то любое его применение, включая создание конкурирующих сервисов, является законным и не может считаться «паразитированием».
  • Паразитирование — это субъективное понятие. Компании, которые используют open source, часто вносят вклад в сообщество через патчи, спонсорство, участие в конференциях. Граница между «паразитированием» и «нормальным использованием» размыта.
  • Модель open source изначально предполагает конкуренцию. Разработчики, публикующие код под открытой лицензией, должны осознавать, что он может быть использован конкурентами. Попытки ограничить это использование через лицензионные «ловушки» противоречат духу open source.
  • Паразитирование как маркетинговый инструмент. Некоторые компании используют обвинения в паразитировании для оправдания перехода на проприетарные лицензии и увеличения доходов.

Влияние на сообщество open source

Практики, описываемые как «паразитирование», привели к нескольким значимым изменениям в экосистеме open source:

  • Рост числа лицензий с ограничениями. Появились лицензии SSPL, BSL (Business Source License), Elastic License, которые формально не являются open source по определению OSI (Open Source Initiative), но используются для защиты коммерческих интересов разработчиков.
  • Создание форков. В ответ на изменение лицензий или недобросовестное использование кода сообщество создаёт форки проектов, которые остаются под открытыми лицензиями. Примеры: OpenSearch (форк Elasticsearch), KeyDB (форк Redis), LibreOffice (форк OpenOffice).
  • Усиление роли организаций по управлению open source. Фонды (Apache Software Foundation, Linux Foundation, Eclipse Foundation) стали играть более активную роль в защите прав разработчиков и предотвращении паразитирования.
  • Развитие моделей «открытого ядра» с чёткими границами. Компании всё чаще публикуют чёткие критерии, какие функции являются открытыми, а какие — проприетарными, чтобы избежать обвинений в паразитировании.

Правовые аспекты в России

В Российской Федерации практики, связанные с паразитированием на открытом коде, регулируются общими нормами гражданского и авторского права. Согласно Гражданскому кодексу РФ (часть 4), программное обеспечение, выпущенное под открытыми лицензиями (например, GNU GPL, MIT, Apache), рассматривается как объект авторских прав, использование которого допускается на условиях лицензионного договора. Нарушение этих условий (например, нераскрытие изменений в коде под GPL) может быть основанием для судебного иска.

В 2022 году в России был принят закон о «принудительном лицензировании» (Федеральный закон № 323-ФЗ), который позволяет использовать программное обеспечение без согласия правообладателя в случае, если оно используется для нужд государства или в условиях санкций. Это может быть применено к open source-проектам, если их разработчики (например, из США или ЕС) ограничивают использование кода в России. Однако этот закон не касается непосредственно паразитирования, а скорее создаёт правовые рамки для использования open source в условиях внешних ограничений.

Российские компании, такие как «Яндекс», «Сбер», «Лаборатория Касперского», активно используют open source-компоненты в своих продуктах. В ряде случаев они подвергались критике за недостаточный вклад в сообщество, однако систематических обвинений в паразитировании в российской практике не зафиксировано.

Источники

  1. Stallman R. Free Software, Free Society. — GNU Press, 2002.
  2. O'Grady S. Open Source Parasites // RedMonk, 2018.
  3. Fitzgerald B. The Transformation of Open Source Software // MIS Quarterly, 2006.
  4. Rosen L. Open Source Licensing: Software Freedom and Intellectual Property Law. — Prentice Hall, 2004.
  5. Гражданский кодекс Российской Федерации. Часть четвёртая (ст. 1225–1551).
  6. Федеральный закон № 323-ФЗ от 14.07.2022 «О внесении изменений в отдельные законодательные акты Российской Федерации».
  7. Linux Journal. Open Source Parasites. — 2005, № 134.
  8. OSI (Open Source Initiative). The Open Source Definition. — Version 1.9, 2007.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →