Open-Source в программных продуктах: как использовать без юридических рисков

Практически любой современный программный продукт содержит open-source компоненты. Для бизнеса это означает доступ к зрелым технологиям, для юристов - отдельное направление управления рисками.


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


К примеру, в США в деле Jacobsen v. Katzer (Federal Circuit, 2008) суд подтвердил, что условия open-source лицензии являются юридически обязательными, а их нарушение может рассматриваться как нарушение авторских прав. В Германии в серии дел Welte v. D-Link, инициированных Харальдом Вельте, немецкие суды неоднократно подтверждали возможность требовать соблюдения GPL и прекращения распространения продуктов при нарушении лицензионных условий.

Как определить лицензию open-source


1) Проверить репозиторий


Первым шагом является проверка платформы для размещения исходного кода (например, GitHub), где определяется и отображается тип лицензии проекта.


2) Проверить файл LICENSE


Основным источником информации является файл LICENSE, COPYING или аналогичный документ в корневом каталоге проекта. Именно он содержит юридически значимый текст лицензии.


3) Изучить метаданные проекта


Сведения о лицензии часто указываются в файлах конфигурации и сборки, например, package.json (JavaScript), pyproject.toml или setup.py (Python). Однако такие данные носят вспомогательный характер и приоритет имеет текст лицензии.


4) Изучить историю лицензирования


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

Какие бывают open-source лицензии


Все open-source лицензии можно условно разделить на 2 группы:

  1. разрешительные (permissive);
  2. копилефтные (copyleft).


Копилефтные лицензии можно условно классифицировать на слабые копилефтные (weak copyleft) и сильные копилефтные (strong copyleft).


Разрешительные лицензии – минимум ограничений.

К данной категории относятся, например: MIT License, BSD License (2-Clause, 3-Clause), Apache License 2.0, ISC License.


Главная особенность таких лицензий заключается в том, что они позволяют использовать, модифицировать и распространять программное обеспечение практически без ограничений. Как правило, обязанности лицензиата заключаются в сохранении текста лицензии и добавлении уведомлений об авторских правах.


С точки зрения бизнеса разрешительные лицензии представляют минимальный риск. Они редко создают конфликт между использованием открытого кода и коммерческой моделью монетизации продукта.


Слабые копилефтные лицензии – менее ограничительные.


К такой категории обычно относят:  LGPL,  MPL 2.0, Eclipse Public License.


Как правило, любая копилефтная лицензия (слабая или сильная) могут устанавливать следующие условия:

  1. раскрытие исходного кода;
  2. распространение кода под той же лицензией;
  3. запрет коммерческого использования.


Суть слабых копилефтных лицензий заключается в том, что требования по раскрытию кода распространяются только на сам лицензированный компонент или его модификации, но не обязательно на весь продукт целиком.


Например, при использовании библиотеки под LGPL-лицензией через динамическое связывание коммерческое приложение может оставаться закрытым. Однако изменения самой LGPL-библиотеки должны предоставляться на условиях той же лицензии. MPL 2.0 реализует еще более мягкий подход, распространяя копилефтные требования преимущественно на отдельные файлы, которые были изменены разработчиком.


Сильные копилефтные лицензии – т.н. «вирусные» лицензии.


Наиболее известные сильные копилефтные лицензии: GPL v2,  GPL v3, AGPL v3.


Такие лицензии могут требовать, чтобы производные произведения целиком распространялись на условиях той же лицензии. Именно здесь возникает так называемый «вирусный эффект»: при определенных способах интеграции GPL-компонента может возникнуть обязанность раскрытия исходного кода всего производного программного продукта. Также в качестве примера, лицензия AGPL, в отличие от классической GPL, распространяет требования по раскрытию исходного кода на случаи использования программного обеспечения через сеть, включая SaaS-модели.

Поэтому использование как слабых, так и сильных копилефтных лицензий требует тщательного предварительного анализа.


Как минимизировать риски использования copyleft-компонентов


На практике компании нередко сталкиваются с ситуацией, когда необходимая технология доступна только под копилефтной лицензией. Это не означает автоматический отказ от использования компонента. Однако требуется правильно спроектировать архитектуру решения.


1) Использовать copyleft-компонент изолированно от основного продукта
Например, вынести copyleft-компонент в отдельный сервис с четко определенным интерфейсом взаимодействия. При таком подходе существенно снижается риск признания всего решения единым производным произведением.


2) Избегать модификации copyleft-компонента
Если есть возможность использовать компонент в неизмененном виде, объем потенциальных обязательств обычно оказывается ниже.


3) Проверять наличие двойного лицензирования
Многие проекты используют модель двойного лицензирования. То есть open-source может предлагать 2 варианта лицензирования на выбор: копилефтную или разрешительную лицензию, копилефтную или коммерческую. В ряде случаев покупка коммерческой лицензии оказывается значительно дешевле, чем последующее устранение лицензионных рисков.


4) Рассматривать альтернативные решения
Перед внедрением copyleft-компонента следует проверить наличие аналогов под разрешительными лицензиями (MIT, Apache 2.0, BSD и др.). Так можно найти несколько технически сопоставимых библиотек, но с разным лицензионным профилем риска.

Практические рекомендации по Open-Source Compliance


1) Open-Source Inventory


Мы рекомендуем компаниями иметь актуальный реестр всех используемых open-source компонентов. Такой реестр может содержать:

  • наименование компонента;
  • лицензию и ее версию;
  • способ использования;
  • ссылку на репозиторий;
  • статус юридической проверки.


2) Регулярные аудиты


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

Open-source является важным компонентом современной разработки программного обеспечения, однако его использование требует такого же системного подхода, как управление интеллектуальной собственностью, персональными данными или информационной безопасностью.


Для бизнеса основной задачей становится не отказ от open-source, а построение прозрачной системы управления лицензиями. Составление реестра компонентов, регулярные аудиты, соблюдений требований лицензий позволяют получать преимущества открытого программного обеспечения.

Команда REVERA консультирует IT-компании по вопросам использования open-source программного обеспечения, проведения лицензионных аудитов и выстраивания процессов Open-Source Compliance. Мы готовы помочь оценить лицензионные риски и разработать подходы к их эффективному управлению. 

Напишите нашему юристу, чтобы узнать подробности

Написать юристу