Открытая лицензия (Open Source) для программного обеспечения — это лицензионный договор, который дает пользователю право на свободное использование, изменение и распространение программного обеспечения и его исходного кода.
Как идея, открытые лицензии появились еще в 70-х годах прошлого столетия. Более того, коммерческие версии программ на тот момент еще не существовали, а их зарождение и активное использование привели к недовольству некоторых разработчиков: платные лицензии противоречили сложившимся в академической среде принципам доступности исходного кода. В дальнейшем это повлияло на создание отдельных организаций (FSF и OSI), которые ратовали за свободный доступ к коду всего сообщества программистов (См. Савельев, Александр Иванович. Правовые аспекты разработки и коммерциализации программного обеспечения / А. И. Савельев. - Москва : Статут, 2024. - 618, [1] с. - 200 экз. - ISBN 978-5-8354-2029-2).
Изначально суть Open Source сводилась к следующим постулатам:
1. Свобода запуска программы для любых целей;
2. Свобода изучения устройства программы и ее адаптации для собственных нужд (для чего нужен доступ к ее исходному коду);
3. Свобода распространения копий программы;
4. Свобода внесения улучшений в программу и их распространения на пользу сообщества;
Однако такие условия обязывали программистов, использующих открытые лицензии, реализовывать свои программные продукты в соответствии с условиями данных лицензий - открыто и свободно для остальных разработчиков, которые могут воспользоваться их программой в своих целях. Получалась некая «матрешка» программ с открытым исходным кодом, использование любой из которых заставляло программиста также стать частью цепочки свободных к распространению программ.
Позднее были сформулированы «обновленные» принципы открытых лицензий, предполагающие расширенные права разработчика на созданный продукт:
1. Предоставление любым лицам максимально возможного объема прав использования программы, то есть возможность использования для любых целей в любом объеме;
2. Возможность свободной модификации и распространения модифицированных версий;
3. Доступ к исходному коду такой программы;
4. Безвозмездный характер;
Отличием от предыдущих принципов была возможность распространения программы, созданной с использованием Open Source компонента, на коммерческой основе. Такие принципы причисления лицензии к открытой закреплены по настоящий момент.
Этапы развития открытых лицензий повлияли на появление их различных видов.
Основной принцип деления - по существующим лимитам на модернизацию и распространение. Для удобства условно обозначим их цветами в соответствии со степенью налагаемых ограничений:
1. Разрешительные (или пермиссивные от англ. “permissive”) лицензии (условно «зеленые»):
- Открытое использование с уведомлением об авторстве при распространении;
- Высокая сочетаемость с другими видами лицензий;
- Возможность коммерциализировать продукт, созданный на их основе;
Классическими примерами «зеленых» лицензий являются: BSD, MIT, Apache 2.0.
2. Слабовирусные лицензии (условно «желтые»):
- Открытое использование с упоминанием авторства на каждом экземпляре;
- Высокая сочетаемость с другими видами лицензий;
- Возможность коммерциализировать общий продукт, созданный на их основе, но невозможность коммерциализировать компоненты, созданные на условиях такой лицензии.
Примеры «желтых» лицензий: LGPL, Mozilla Public License.
3. Сильновирусные (или копилефт от англ. «copyleft») лицензии (условно «красные»):
- Открытое использование с упоминанием авторства на каждом экземпляре;
- Выборочная сочетаемость с другими видами лицензий;
- Невозможность коммерциализировать продукт, созданный на их основе;
Примеры “красных” лицензий: GNU GPL v2, GPL v3.
Если с «зелеными» лицензиями все просто - они соответствуют действующим принципам Open Source и могут свободно использоваться, то «желтые» и «красные» лицензии требуют более внимательного подхода к их использованию.
1) «Красные» лицензии представляют собой соответствие всем постулатам, изначально предполагаемых при отнесении лицензии к свободной: та самая «матрешка», обязывающая разработчика распространять свой продукт на некоммерческой основе. Создатели таких лицензий заложили в их основу некую идеологию справедливости: свободно воспользовался сам - предоставь свободное использование и другим. По мнению авторов, если пользователь модифицированной программы в результате не может получить тех же прав, что предоставляет первоначальный автор, это ведет к злоупотреблению своими правами и нарушению принципов свободы распространения исходного кода.
Также «красная» лицензия налагает ограничения на сочетание с другими лицензиями: она может быть сопряжена только с тем кодом, который лицензируется на менее ограничительных условиях, чем она сама. Так, она не сочетаема с лицензиями IBM Public License, Mozilla Public License, Common Public License, Microsoft Public License и др.
Легко догадаться, что подобная почти «коммунистическая» идея использования Open Source не вызвала большого ажиотажа среди разработчиков программ: немногие стремились впоследствии подарить свое детище всем желающим. Именно GNU GPL v2 и GPL v3 являются самыми «каверзными» лицензиями, существующими на данный момент ввиду ограничений.
2) «Желтые» лицензии предполагают, что разработчик имеет право распространять общий созданный продукт на платной основе, но при этом отдельные компоненты продукта, основанные на “желтой” лицензии, должны распространяться свободно. Появление такого вида лицензий стало результатом поиска баланса между справедливостью для Open Source сообщества и востребованностью у создателей программ. Это сработало: сегодня разработчики всё чаще выбирают компоненты, использующие лицензии LGPL и Mozilla Public License.
Невнимательное отношение к «желтым» и «красным» лицензиям влечет риски судебных разбирательств. Так, могут быть предъявлены требования:
● Прекратить использование программного обеспечения в коммерческих целях;
● Выплатить компенсацию за нарушение исключительных прав в размере от 10 000 рублей до 5 000 000 рублей;
● Раскрыть исходный код вашей программы (в случае нарушения GPL);
Все это - крайне нежелательные моменты для любого правообладателя программного обеспечения.
Как грамотно использовать «каверзные» лицензии, не нарушая их принципов?
Единственный способ – соблюдать все требования:
● Если вы используете GPL-библиотеку, убедитесь, что понимаете, как она влияет на лицензию вашего проекта: четко пропишите это в лицензионном соглашении и предоставьте доступ к исходному коду.
● Если вы хотите в дальнейшем распространять продукт, то избегайте использования GPL-кода.
Для «желтых» лицензий все чуть проще:
● Ваша программа должна использовать такую библиотеку, как внешний модуль (по примеру динамической линковки), то есть внутри кода самой программы содержаться она не должна. Библиотека остаётся отдельным компонентом, который пользователи могут заменить.
● Вы должны уведомить пользователей о том, что в вашем проекте используется LGPL-библиотека или MPL-файлы, обозначить их и предоставить доступ к исходному коду такой библиотеки.
Чтобы не оказаться в ситуации сложного выбора между экстренным «перекраиванием» продукта и рисками судебного разбирательства, важно заранее минимизировать проблемные моменты. Для этого необходимо:
● Проинформировать разработчиков о существующих ограничениях на некоторые виды Open Source или убедиться, что разработчики такие ограничения соблюдают;
● Вести документацию по всем используемым библиотекам и их лицензиям;
● Использовать специальные инструменты для анализа зависимостей и автоматической проверки лицензий;
● Обращаться к юристам, специализирующимся в сфере IT, для получения консультаций и помощи в решении сложных вопросов.
Соблюдение условий открытых лицензий – это не просто юридическое требование, но и вопрос этики и уважения к сообществу разработчиков Open Source. Небрежность в этом вопросе может обернуться серьезными проблемами и рисками для Вашей компании, но грамотное использование открытых лицензий открывает большие возможности для развития компании, снижения затрат на разработку и повышения качества итогового программного продукта. Такой инструмент, как Open Source, уже прошел проверку временем и по праву может считаться одним из «китов», на которых стоит система современной разработки программного обеспечения.
Если у Вас остались вопросы или же Вы задумались о том, не нарушаете ли Вы условия открытых лицензий, то оставляйте заявку на нашем сайте и получите бесплатную консультацию.