Включите исполнение JavaScript в браузере, чтобы запустить приложение.

Что происходит с лицензиями в open source

26 авг 2024
Рассказываем об основных типах лицензий в открытом ПО, необходимости лицензирования и выборе подходящего варианта для конкретного проекта.

С помощью лицензий в open source можно изучать, дорабатывать и копировать уже готовый код. Свобода действий разработчиков зависит от типа лицензии. В 2024 году их количество превышает 70. У каждого из лицензирований есть особенности, которые отмечены в специальных документах.  Лицензии open source помогают разработчикам свободного ПО устанавливать ограничения для своих проектов. В статье мы расскажем об основных видах лицензий, выборе лицензирования для открытого ПО и связанных с этим проблемах.

Важность лицензирования в open source

Программы с открытым исходным кодом распространяются только под лицензиями. Они нужны опенсорс-проектам для защиты пользователей. Лицензионное соглашение отличается от авторского права, которое позволяет создателю отстаивать свои интересы. Часть лицензий запрещает использовать открытый код для создания коммерческого ПО. 

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

Все лицензии делятся на 2 большие группы:

  • Permissive licenses. Действуют небольшие ограничения на то, как другие могут использовать начальный код, в каком виде могут добавлять его в проект. 
  • Copyleft licenses. Тот, кто выпускает уже измененную под себя программу с открытым кодом, должен разместить ее исходный код. Пользователи могут изменять начальную версию и делать желаемое количество копий. Классический пример — лицензия GNU (GPL). 

В России лицензирование открытого софта регулирует статья 1286.1 ГК РФ.  Условия лицензии должны быть размещены в открытом доступе, чтобы тот, кто приобретает лицензию на право использования, мог изучить их до совершения сделки. В договоре могут быть отмечены такие особенности, как цель приобретения, стоимость (если проект не бесплатный), география действия. 

Основные типы лицензий open source

В 2024 году по всему миру используют множество разных лицензий.  У каждой — свои правила и ограничения. Рассмотрим особенности популярных лицензий — MIT, GNU GPL и Apache.

MIT. Используется в таких приложениях, как Ruby on Rails, jQuery и Node.js. Относится к permissive license, содержит мало ограничений. В этом ее основное отличие от copyleft licenses, таких как GPL v3 и AGPL. Лицензии этого типа требуют, чтобы продукты, разработанные на исходных частях кода, использовали ту же лицензию, что оригинал. При этом лицензиар (приобретающий лицензионное право) может использовать части кода в своей программе. Часть MIT license также включает возможность неограниченного распространения копий кода.

GNU GPL. Это целое правовое семейство, к которому относятся GPL v2 и GPL v3. Изначально разработано для защиты софта от того, чтобы он стал проприетарным или частным. Особенность каждой из версий — в том, что она не соотносится с предыдущей. Первая модификация была создана для работы со специализированными программами. Так она становилась универсальной, при этом открывая возможности для адаптирования. Обладатели GPL могут распространять копии, улучшать и изменять исходный код. Важно, что все производные ИT-продукты также должны быть open source, чтобы пользователи имели к ним доступ. GPL, все ее версии и варианты составляли около 21% всех лицензий FOSS, использованных в 2021 году.

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

Важно выделить MPL — Mozilla Public License. Ее разработчик — Mozilla Foundation, известная по браузеру Mozilla Firefox. Эта свободная license обладает не меньшей популярностью в мире опенсорса. MPL не считается ни permissive license, ни copyleft license: она располагается посередине и называется лицензией со «слабым авторским левом». 

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

Ещё один вид — Berkeley Software Distribution (BSD). Лицензия относится к разрешительным, имеет небольшие ограничения в праве доступа. Вносить изменения в структуру кода и использовать ПО можно свободно. Разработчикам нужно обязательно указывать авторскую версию кода и добавлять лицензионное соглашение к каждой программе (даже бесплатной). Видимым плюсом для компаний может стать возможность разработки ПО с закрытым кодом на базе исходного.

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

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

Как выбрать подходящую лицензию для вашего проекта

От выбора open source лицензии зависят различные бизнес-процессы. Она может повлиять на повышение узнаваемости, привлечение профессионалов в команду, расширение функциональности. Важно обращать внимание на такие особенности:

  • Возможности. Необходимо учитывать цели продукта. Если в приоритете коммерческое использование и широкое распространение проекта, стоит обратить внимание на permissive licenses (это может быть MIT). Когда важна гарантия того, чтобы другие проекты тоже обладали открытым исходным кодом, лучше выбрать лицензию с авторским левом (GPL).
  • Совместимость. Некоторые программы разрабатывают только для использования с другими опенсорс-проектами. Тогда нужно выбирать совместимый вариант лицензии.
  • Безопасность. Существуют лицензии, которые обеспечивают большую юридическую защиту. В Apache добавлено предоставление патентных прав — они могут защитить от исков.
  • Доступность. Стоит выбирать то, что легче понять. Более простой тип может облегчить пользователям доступ к проекту, повысить шансы на его массовое распространение. При этом важно тщательно изучать условия договора, учитывая цели компании.

Часто встречающиеся проблемы с лицензиями open source

Каждая из сторон лицензионного соглашения open source может столкнуться с проблемами. Самые распространенные из них: 

  • Неправильная трактовка обязательств. Многие ошибочно предполагают, что open source licenses — про отсутствие правил. Даже если лицензия бесплатная, в ней могут содержаться требования автора кода.
  • Конкуренция и ухудшение репутации. Встречается намеренное нарушение условий, которое сказывается на репутации компании. Конкуренты могут воспользоваться этим, чтобы повлиять на скорость выхода проекта, финансовое положение.
  • Большое количество лицензий и копий. Любая часть кода может подпадать под разные лицензии. Без тщательного анализа, которым часто пренебрегают, это сложно обнаружить. 

Роль и обязанности сообщества в поддержании лицензионных соглашений

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

Проверкой лицензий для открытого ПО за рубежом занимается Free Software Foundation. В нашей стране такой организации нет, но вопросы лицензирования обсуждаются в сообществе. Его участники не против создания инструмента для регулирования, который мог бы разрешать возникающие споры, устанавливать нормы лицензирования, заниматься одобрением новых видов. 

Примеры знаковых судебных дел в области лицензирования open source

Известно дело, где Software Freedom Conservancy выступает против компании Vizio. Последняя применяет в своих ИT-решениях части открытого кода (он распространяется в соответствии с лицензией GPL). Vizio не стала раскрывать код автора, хотя SFC отправляла соответствующие запросы.  Особенность дела в том, что у Software Freedom Conservancy нет прав на исходный открытый код. Компания подала в суд как третье лицо или последний потребитель, который использовал опенсорс-ПО. Судебный процесс продолжается. Есть подтверждение нарушения положений договора, так что SFC вполне может выиграть дело.В 2018 году Федеральный окружной апелляционный суд США рассмотрел иск Oracle America Inc против Google LLC. Дело касалось применения Google авторского кода, лицензированного Oracle в соответствии с GNU GPL версии 2. Google скопировала 37 пакетов интерфейса прикладного программирования (API) для создания бесплатного программного обеспечения Android, а затем выпустила продукт, который конкурировал с продуктами Oracle.

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

Будущее лицензирования open source и его влияние на разработку ПО

Лицензирование open source имеет важное значение для индустрии программного обеспечения. Всё больше компаний из различных областей обращает внимание на открытое ПО для разработки собственных проектов. Поэтому важно изучать тему лицензий и внимательно читать условия, которые прописаны в договоре. Лицензии дают возможность развивать open source, делая его безопасным как для ИT-специалистов, так и для пользователей.