- 1. Правовая охрана программ для ЭВМ
- 2. Исходный текст программы для ЭВМ
- 3. Объектный код программы для ЭВМ
- 4. Этапы создания и изменения программы для ЭВМ
- 5. Изменение исходного и объектного кодов программы для ЭВМ в свете правовой охраны авторских прав
- Обратимся к российским нормативным документам и судебной практике
Автор: Гинодман Е.Н., кандидат юридических наук.
1. Правовая охрана программ для ЭВМ
В соответствии с действующим законодательством программа для ЭВМ является результатом интеллектуальной деятельности (п. 2 ч. 1 ст. 1225 ГК РФ) и объектом авторских прав (ст. 1259 ГК РФ). Авторские права на все виды программ для ЭВМ (в том числе на операционные системы и программные комплексы), которые могут быть выражены на любом языке и в любой форме, включая исходный текст и объектный код, охраняются так же, как авторские права на произведения литературы (ст. 1261 ГК РФ).
Согласно п. 1 ст. 1266 ГК РФ не допускается без согласия автора внесение в его произведение изменений, сокращений и дополнений. В пп. 9 п. 2 ст. 1270 ГК РФ закреплено право автора или иного правообладателя на переработку произведения, под которой понимается создание нового, производного произведения. В отношении программы для ЭВМ законодатель в данной норме употребляет наряду с переработкой понятие модификации.
Модификация программы для ЭВМ – это любые ее изменения, в том числе перевод такой программы с одного языка на другой язык, за исключением ее адаптации.
Адаптация программы для ЭВМ – это внесение изменений исключительно в целях функционирования программы для ЭВМ или базы данных на конкретных технических средствах пользователя или под управлением конкретных программ пользователя.
Как следует из системного анализа пп. 9 п. 2 ст. 1270 и пп. 1 п. 1 ст. 1280 ГК РФ, адаптация программы для ЭВМ является частным случаем изменения программы для ЭВМ, но при этом изменения, не требующего разрешения правообладателя (то есть легального).
В соответствии с пп. 1 п. 1 ст. 1280 ГК РФ лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения осуществлять действия, необходимые для функционирования программы для ЭВМ или базы данных (в том числе в ходе использования в соответствии с их назначением), включая запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), внесение в программу для ЭВМ или базу данных изменений исключительно в целях их функционирования на технических средствах пользователя, исправление явных ошибок, если иное не предусмотрено договором с правообладателем.
Кроме того, п. 3 ст. 1280 ГК РФ предоставляет пользователю право без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении определенных условий.
Таким образом, из содержания ст. 1261 ГК РФ следует, что правовая охрана предоставляется как самой программе для ЭВМ, так и средствам ее выражения — исходному тексту и объектному коду.
Для определения правомерности действий лица, не являющегося правообладателем, при использовании программы для ЭВМ интересным представляется вопрос о том, что признается изменением программы для ЭВМ: изменение только исходного кода или также изменение объектного кода.
Чтобы ответить на этот вопрос, необходимо дать определение указанных понятий.
2. Исходный текст программы для ЭВМ
Гражданский кодекс РФ использует понятие «исходный текст», однако определения данного понятия не содержит.
При этом в ГОСТах можно встретить определение понятия «исходный код». Исходный код — это код, написанный на исходном языке программирования, таком как язык ассемблера и/или язык высокого уровня, в машиночитаемой форме, пригодной для ввода в ассемблер или компилятор (п. 3.19 ГОСТ Р 51904-2002 «Государственный стандарт Российской Федерации. Программное обеспечение встроенных систем. Общие требования к разработке и документированию», утв. и введен в действие Постановлением Госстандарта России от 25.06.2002 N 247-ст, далее — ГОСТ Р 51904-2002).
В другом ГОСТе дано более простое определение исходного кода – это компьютерная программа в текстовом виде на каком-либо языке программирования (п. 3.4 ГОСТ Р 54593-2011 «Национальный стандарт Российской Федерации. Информационные технологии. Свободное программное обеспечение. Общие положения», утв. и введен в действие Приказом Росстандарта от 06.12.2011 N 718-ст, далее — ГОСТ Р 54593-2011).
Из анализа указанных определений следует вывод о том, что, поскольку исходный код представляет собой текстовый вид программы для ЭВМ, понятия «исходный код» и «исходный текст» являются равнозначными.
В юридической литературе высказывалась точка зрения, согласно которой именно тот факт, что исходный код программы сохраняется в текстовом файле, доступном для прочтения человеком, послужил основанием для законодателя приравнять компьютерную программу к литературным произведениям [1].
Запись исходного кода представляет собой оригинал произведения. Код в виде текста может отображаться на экране монитора, а может быть написан от руки. Однако исходный код доступен для понимания людьми, но недоступен для понимания компьютером. Для того чтобы программа для ЭВМ заработала, исходный код необходимо превратить в исполняемый файл (объектный код) [2].
3. Объектный код программы для ЭВМ
Объектный код – это представление компьютерной программы на низком уровне, обычно не в форме, непосредственно пригодной для объектного компьютера, а в форме, включающей в себя, помимо информации о процессорных командах, информацию о размещении программы (п. 3.31 ГОСТ Р 51904-2002).
Есть и иное определение объектного кода – это код, который является непосредственно пригодным для использования центральным процессором объектного компьютера, и является, следовательно, загружаемым в аппаратные средства или систему ПО (п. 12.20 ГОСТ Р 51904-2002).
Таким образом, для того чтобы исходный код стал доступен для понимания конкретным устройством, он компилируется специальными программами (компиляторами), вследствие чего происходит его преобразование в форму, понятную компьютеру. Следовательно, объектный код — это результат компиляции исходного текста программы [3].
Объектный код также называют исполняемым кодом, так как в результате компиляции исходного кода получается файл, при запуске которого на компьютере начнут исполняться команды, заложенные в исходном коде, программа будет решать задачи, для которых она разработана. Так, при запуске исполняемого exe-файла для конкретной программы на экране компьютера появляется окно с этой программой, после чего пользователь может с ней работать: например, формулировать поисковые запросы в карточке поиска, просматривать результаты поиска, открывать документы, экспортировать файлы и так далее.
4. Этапы создания и изменения программы для ЭВМ
При анализе практики современного программирования выделяют несколько этапов создания и изменения программы для ЭВМ:
- Написание исходного кода с делением его файлов на закрытую часть исходного кода – это файлы, которые в дальнейшем не могут быть декомпилированы и изменены кем бы то ни было, кроме самого разработчика, — и будущие открытые файлы — которые по сути являются открытой/изменяемой и при этом неотъемлемой частью исходного кода для дальнейшей адаптации и модификации.
- Обработка (компиляция) исходного кода, в результате которой получается исполняемый (объектный) код, который также представляет собой комплекс файлов двух вышеописанных групп – закрытой и открытой.
- По сути, настройка возможности внесения изменений в программу. В дальнейшем изменения может вносить как сам разработчик программы или обладатель исключительных прав на данный программный продукт, так и иные лица, производящие модификацию (переработку) программы с разрешения разработчика (правообладателя) либо адаптацию для работы на своем устройстве, для которой разрешение не требуется. [4].
Вопрос о том, в какую часть программы для ЭВМ могут вноситься изменения для правильной квалификации их правомерности – только в исходный код, или также в исполняемый/объектный код, — обсуждается в юридической литературе.
5. Изменение исходного и объектного кодов программы для ЭВМ в свете правовой охраны авторских прав
К вопросу об изменении исходного и объектного кодов можно встретить два подхода.
Первый подход основывается на утверждении, что специфика программ для ЭВМ такова, что изменение программы — это изменение именно исходного кода. Если встроенными в программу инструментами, предусмотренными разработчиком для применения пользователем, изменяются только результирующие данные, которые выдает программа, то такие изменения нельзя назвать изменением самой программы. Когда создан объектный код (исполняемый файл), его нельзя изменить, декомпилировать и превратить обратно в исходный код. В теории и практике это возможно, но является хакерством (кроме случаев, перечисленных в п. 3 ст. 1280 ГК РФ). В обычной практике это невозможно. Когда речь идет об изменении программы, человек может изменять только исходный код. [5].
Второй подход основывается на мнениях о том, что изменения в программу для ЭВМ следует квалифицировать независимо от того, куда были внесены изменения: в исходный код/текст программы или в исполняемый/объектный код программы для ЭВМ [6].
Некоторые авторы отмечают, что в современном программировании одни и те же изменения в программу могут вноситься различными способами, на разных этапах и разными инструментами как в исходный код/текст, так и в исполняемый/объектный код программы для ЭВМ. И именно этот критерий — внесение изменений как в исходный код/текст, так и в исполняемый/объектный код — предлагается авторами брать за основу определения изменений в программу для ЭВМ [7].
Такая логика вполне закономерна: поскольку изменение исходного кода программы неизбежно ведет к изменению исполняемого/объектного кода, следовательно, с точки зрения правовой охраны изменением программы для ЭВМ признаются как изменения исходного кода, так и изменения исполняемого/объектного кода. Здесь представляет особый интерес квалификация изменений исполняемого/объектного кода пользователем, эксплуатирующим программный продукт на своем устройстве. Обычный пользователь не видит исходный код, но видит результат его преобразования в исполняемом коде – благодаря данному преобразованию или внесенным изменениям могут появиться новые возможности работы с программой.
В юридической литературе приводятся критерии разграничения оригинального и производного произведений на основании судебной практики зарубежных стран. Например, в США для сравнения компьютерных программ и объектов, от них образованных, на предмет выявления факта переработки используют специальный тест Abstraction-Filtration-Comparison test (AFC).
При применении данного теста сравниваются основные элементы программы: основное назначение, структура или архитектура программы, модули, алгоритмы и структуры данных, исходный код и объектный код. Затем происходит выделение неохраняемых элементов, которые есть в программе из-за использования открытой лицензии, и сравнение уже основных охраняемых элементов. Таким образом, не только исходный, но и объектный коды сравниваются на предмет внесения изменений в программу для ЭВМ [8].
Обратимся к российским нормативным документам и судебной практике
В соответствии с п. 3.11 ГОСТ Р 51904-2002 под изменением программного обеспечения понимаются модификация исходного кода, исполняемого объектного кода или сопутствующих документов относительно их базовой линии.
В соответствии с другим ГОСТом определенные языки программирования формально не проводят различия между исходным текстом программ и исполняемыми файлами, поскольку исполняемые файлы создаются в то время, когда они активированы (п. 12.4 ГОСТ Р ИСО/МЭК 27002-2012 «Национальный стандарт Российской Федерации. Информационная технология. Методы и средства обеспечения безопасности. Свод норм и правил менеджмента информационной безопасности», утв. и введен в действие Приказом Росстандарта от 24.09.2012 N 423-ст).
Признание в качестве объектов авторских прав исходного текста/кода и объектного/исполняемого кода и предоставление им правовой охраны (ст. 1261 ГК РФ) также свидетельствуют о том, что изменения могут вноситься как в исходный, так и в объектный код.
Кроме того, в п. 3 ст. 1280 ГК РФ закреплено право пользователя на декомпиляцию программы ЭВМ, если она необходима для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении определенных условий.
Декомпиляция, как следует из п. 3 ст. 1280 ГК РФ, представляет собой воспроизведение и преобразование объектного кода в исходный текст.
В практике отечественных судов для определения, имела ли место переработка программы для ЭВМ, а значит – нарушение исключительных прав, также сравнивают не только исходные, но и объектные коды. Для этого обычно назначается компьютерно-техническая экспертиза, и на разрешение эксперта ставятся вопросы о том, является ли исходный текст и/или объектный код одной программы производным (созданным на основе) исходного текста и/или объектного кода другой программы, являются ли данные программы идентичными (см., например, Постановление Суда по интеллектуальным правам от 21.11.2016 N С01-328/2016 по делу N А56-21040/2015, Решение Арбитражного суда Архангельской области от 27.05.2020 по делу N А05-12896/2018 (Постановлением Четырнадцатого арбитражного апелляционного суда от 04.09.2020 N 14АП-5315/2020, 14АП-5658/2020 по делу N А05-12896/2018 данное решение оставлено без изменения)).
В случае если суд установит, что ни в исходный, ни в объектный код изменения не вносились, будет сделан вывод о том, что программа для ЭВМ не подверглась изменению.
Напротив, если в результате исследования установят изменение исходного и объектного кода, будет сделан вывод о переработке программы. Так, Суд по интеллектуальным правам удовлетворил исковые требования о признании исключительных прав на программы для ЭВМ, поскольку истцом было доказано, что в результате переработки исходный и объектные коды первоначальной программы существенным образом изменились, в результате чего у пользователя появилась возможность решать дополнительные задачи (Постановление Суда по интеллектуальным правам от 21.03.2017 N С01-1269/2016 по делу N А40-154016/2014).
Изложенное подтверждает высказанное в литературе мнение, согласно которому различия между изменениями в исходный код/текст и в исполняемый/объектный код программы для ЭВМ в настоящее время весьма условны и изменения в программу следует квалифицировать независимо от того, куда были внесены изменения: в исходный код/текст программы или в исполняемый/объектный код программы для ЭВМ [9].
Следовательно, и при разрешенной правообладателем (разработчиком) модификации либо легальной адаптации программы для ЭВМ, и при ее незаконной переработке оба ее элемента – исходный код/текст и исполняемый/объектный код — могут быть подвергнуты изменению.
Данный вывод имеет не только теоретическое, но и практическое значение для выбора варианта правомерного поведения при работе с программными продуктами. На практике регулярно возникают ситуации, когда лицу, использующему программу, требуется внести в нее изменения в той или иной форме.
В литературе приводится пример, когда программа для ЭВМ, переданная облачному провайдеру, технически не приспособлена к тому, чтобы пользователи работали с ней удаленно, и облачному провайдеру требуется внести в нее изменения. Для того чтобы данная программа приобрела новое существенное свойство – возможность предоставляться удаленно, – провайдеру необходимо изменить и исходный, и объектный коды. В соответствии с законом подобные изменения признаются модификацией. Такой переработанный программный продукт будет считаться самостоятельным объектом охраны (производным произведением), а облачный провайдер становится обладателем авторских прав на него. Для правомерного использования переработанной программы и распоряжения исключительным правом на нее облачному провайдеру необходимо получить разрешение правообладателя на переработку (модификацию) программы в соответствии с пп. 9 п. 1 ст. 1270 ГК РФ [10].
Таким образом, и простым пользователям, и специалистам IT-индустрии важно не допускать нарушений исключительных прав на программы для ЭВМ, поскольку данные нарушения влекут как гражданско-правовую, так и в предусмотренных законом случаях уголовную ответственность. Чтобы оставаться в рамках правового поля, необходимо четко следовать установленным законом правилам и при этом отдавать себе отчет в том, как именно могут квалифицироваться соответствующие действия и их результаты.
Примечания:
[1] Девлятшина М. Защита прав на компьютерную программу // ЭЖ-Юрист. 2017. N 25. С. 13.
[2] Саулин И.Н. Практика признания исключительных прав на производные программы для ЭВМ // ИС. Авторское право и смежные права. 2018. N 10. С. 43 — 56.
[3] Соколов Д.В., Шишенина И.В. К вопросу определения критериев изменений программы для ЭВМ // Ассоциация поставщиков программных продуктов: сайт. 2020. URL: http://www.appp.ru (дата обращения: 29.10.2020).
[4] Соколов Д.В., Шишенина И.В. К вопросу определения критериев изменений программы для ЭВМ // Ассоциация поставщиков программных продуктов: сайт. 2020. URL: http://www.appp.ru (дата обращения: 29.10.2020).
[5] Саулин И.Н. Практика признания исключительных прав на производные программы для ЭВМ // ИС. Авторское право и смежные права. 2018. N 10. С. 43 – 56.
[6] Дюков А.В. Проблема правомерной адаптации программы для ЭВМ // СПС КонсультантПлюс.
[7] Соколов Д.В., Шишенина И.В. К вопросу определения критериев изменений программы для ЭВМ // Ассоциация поставщиков программных продуктов: сайт. 2020. URL: http://www.appp.ru (дата обращения: 29.10.2020).
[8] Айрапетов Н.А. Критерии разграничения оригинального и производного произведения // ИС. Авторское право и смежные права. 2020. N 9. С. 52 — 58.
[9] Соколов Д.В., Шишенина И.В. К вопросу определения критериев изменений программы для ЭВМ // Ассоциация поставщиков программных продуктов: сайт. 2020. URL: http://www.appp.ru (дата обращения: 29.10.2020).
[10] Рагозина В.В. Правообладатель программы для ЭВМ и облачный провайдер: особенности соглашений в сфере облачных технологий // ИС. Авторское право и смежные права. 2019. N 6. С. 53 – 62.