Ранее Методическими рекомендациями был установлен запрет на включение в реестр российских программ ПО, ключевыми компонентами которых являются программы с открытым исходным кодом (open source), распространяющиеся по открытой (свободной) лицензии (GPL, MPL и пр.):
На сегодняшний день упомянутое условие выглядит следующим образом:
То есть использование в составе своего ПО ключевых компонентов с открытым исходным кодом, распространяемых по открытой лицензии типа GPL, MPL и пр., допускается, но с условием, что такое использование и дальнейшее их распространение в составе своего ПО будет осуществляться с соблюдением требований указанных лицензий.
Открытые лицензии не всегда свободные
В настоящее время насчитывается более 69 видов открытых лицензий, которые в свою очередь можно разделить на "разрешительные" типа BSD, MIT, Apache и "взаимные", например такие как GPL.
Разрешительные лицензии зачастую позволяют модифицировать ПО и распространять результат такой модификации без ограничений и на любых условиях, указав лишь автора при последующем распространении и сведения об исключении гарантий и ответственности.
В то время как например взаимная GPL-лицензия предоставляет права создания модифицированной версии программы и дальнейшей передачи права на ее использование, при условии, что передача прав использования будет осуществляться на условиях такой же GPL-лицензии и без оплаты лицензионного вознаграждения за право использования модифицированной версии ПО (не имеется ввиду физическое распространение копий исходного кода программы, которое допускается за плату). Под модифицированной версией программы GPL-лицензией понимается любое ПО, в котором использована программа или ее часть, как в первоначальном виде, так и с изменениями.
Как включить в "реестр" программу с компонентами, лицензируемыми на условиях GPL, MPL и пр.
В первую очередь необходимо определить способ использования компонента.
Если мы используем к примеру операционную систему (прямо не запрещенную Методическими рекомендациями) как программную среду для развертывания нашего ПО, не меняя при этом ее исходный код, то это является использованием такого компонента по его прямому назначению. Для такого использования открытые лицензии зачастую не содержат каких-либо ограничений.
Если мы на базе указанной операционной системы создаем новое ПО ("модификация", "производное ПО"), то есть изменяем функциональность программы, в результате которых появляются новые свойства и возможности программы, автоматизируются неавтоматизированные ранее ручные операции, то это уже будет считаться как модификация ПО. Предусмотренное в открытой лицензии право модификации и распространения могут содержать условия, только при соблюдении которых, такое право предоставляется.
Определив способ использования компонента и то, какое место он занимает в нашем ПО, необходимо изучить лицензию, на основании которого он распространяется и определить, имеем ли мы право на такое использование и какие требования она возлагает для этого. Далее следует привести информацию, содержащуюся в коде, документацию к программе, информацию на сайте правообладателя в соответствие требованиям указанных лицензий.
Следует иметь ввиду, что несоблюдение условий открытых лицензий может являться основанием для прекращения права использования ПО с открытым кодом, что в свою очередь означает что заявляемое ПО введено в гражданский оборот незаконно, а значит не подлежит включению в реестр российских программ.