Реверс-инжиниринг: правовое регулирование

Новости и аналитика
При разработке нового программного обеспечения (далее – «ПО») и, в частности, мобильных приложений иногда требуется прибегать к таким техническим приемам, как декомпиляция и дизассемблирование существующих программ. Эти приемы представляют собой преобразование объектного кода уже существующих программ в понятный для разработчика язык (исходный текст) с целью последующего его изучения. Но насколько правомерны такие действия? Какие условия необходимо соблюсти, чтобы изучить программу для ЭВМ, не нарушая прав правообладателя?

Основные термины статьи:
Реверс-инжиниринг (реинжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на них с целью понять принцип его (ее) работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового. Процесс реверс-инжиниринга включает в себя декомпиляцию, дизассемблирование и др. [1]

Декомпиляция – технический прием, посредством которого происходит преобразование объектного кода программы в исходный текст.

Законодательное регулирование реверс-инжиниринга

Критерии правомерности осуществления декомпиляции содержатся в ст. 1280 Гражданского Кодекса РФ. Согласно данной норме проведение реинжиниринга возможно при соблюдении следующих условий:

1) Лицо, осуществляющее декомпиляцию, должно владеть ПО на законных основаниях.

Приобрести ПО, получить разрешение на его использование – это первый шаг к правомерному реверс-инжинирингу. Приобретение «пиратской» версии ПО и последующее его декомпилирование является правонарушением согласно ст. 7.12 Кодекса об административных правонарушениях РФ (КоАП РФ). Также правонарушением является использование для декомпиляции взломанных или иных испорченных версий ПО. Это подтверждает Постановление Пленума Верховного Суда РФ N 5, Пленума ВАС РФ N 29 от 26.03.2009: «Судам следует учитывать, что право совершения в отношении программы для ЭВМ или базы данных действий, предусмотренных статьей 1280 ГК РФ, принадлежит только лицу, правомерно владеющему экземпляром такой программы для ЭВМ или базы данных (пользователю)».

Правомерность владения экземпляром ПО определяется наличием у лица оснований владения, установленных договором (например, приобретение экземпляра ПО по договору купли-продажи).

2) Единственно возможная легальная цель декомпиляции – достижение способности к взаимодействию независимо разработанной лицом программы для ЭВМ с другими программами, которые, в том числе, могут взаимодействовать с декомпилируемой программой.

Изучение программы конкурента с целью создания собственной аналогичной программы, по общему правилу, будет считаться незаконным. Также попытка устранить найденные программные ошибки самостоятельно, то есть без привлечения правообладателя, может привести к появлению ответственности
Постановление Федерального Арбитражного Суда Северо-Западного округа от 07 июня 2013 года по делу N А13-6254/2012): «Исследовав и оценив представленные лицами, участвующими в деле, доказательства по правилам статей 65 и 71 АПК РФ, в том числе заключенные Обществом в 2010-2011 годах договоры на оказание услуг по сопровождению программного обеспечения <…>, судебные инстанции установили, что внесение изменений в программное обеспечение, <…> исправление выявленных ошибок в программном обеспечении <…> без согласия правообладателя <…> приведет к нарушению исключительного права <…> на результат интеллектуальной деятельности».

3) Информация, необходимая для достижения способности программы для ЭВМ к взаимодействию, ранее не была доступна лицу, осуществляющему декомпиляцию, из других источников.

Данные об исходном тексте программы могут находиться в открытом доступе и в этом случае нет необходимости в проведении декомпиляции. Под «другими источниками» понимаются официальный интернет-сайт компании-разработчика или руководство к пользованию программой и прочее.

4) Декомпиляция не должна противоречить обычному использованию программы для ЭВМ или базы данных и не должна ущемлять необоснованным образом законные интересы автора или иного правообладателя.

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

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

Разрешенная декомпиляция на практике

В пользовательских соглашениях / договорах разработчики ПО часто устанавливают запрет на реверс-инжиниринг. Многие правообладатели хотят ограничить действия пользователя в части исследования полученной по лицензии программы, чтобы избежать копирования кода. Приведем типичный пример подобного запрета, взятый из реального лицензионного соглашения: «4.1. За исключением использования в объёмах и способами, прямо предусмотренными настоящей Лицензией или законодательством РФ, Пользователь не имеет права изменять, декомпилировать, дизассемблировать, дешифровать и производить иные действия с объектным кодом и исходным текстом Программы, имеющие целью получение информации о реализации алгоритмов, используемых в Программе, создавать производные произведения с использованием Программы, а также осуществлять (разрешать осуществлять) иное использование Программы, любых компонентов Программы, хранимых Программой на мобильном устройстве Пользователя картографических материалов, иных изображений и прочих данных, без письменного согласия Правообладателя».

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

Проведем анализ судебной практики с целью получения ответа на вопрос: возможна ли декомпиляция в рамках, установленных статьей 1280 ГК РФ, в случаях, когда лицензионное соглашение запрещает реверс-инжиниринг вообще и декомпиляцию, в частности?

Постановление Одиннадцатого арбитражного апелляционного суда от 25 октября 2012 года по делу № А55-13189/2012: «Заключение лицензионного договора означает, что пользователь программы вправе совершить в отношении нее действия, предусмотренные ст. 1280 ГК РФ, а также иные действия, обусловленные договором и связанные с эксплуатацией программы. <…> На этот договор в отличие от иных лицензионных соглашений не распространяются правила, установленные пунктами 2-6 ст. 1235 ГК РФ».

Лицензионным договором (пользовательским соглашением) нельзя ограничить лицо в праве осуществлять те действия в отношении ПО, которые предусмотрены статьей 1280 ГК РФ (в том числе и декомпиляцию). Следовательно, положения лицензионных договоров, ограничивающие права лиц на реверс-инжиниринг, не должны признаваться законными.

Нормы законодательства не дают точный ответ на вопрос, должно ли лицо, имеющее интерес в декомпиляции ПО, осуществлять такую декомпиляцию только лично или для этого можно привлечь третьих лиц?

Прямого запрета на осуществление реинжиниринга одним лицом в интересах другого не содержится в нормах Гражданского Кодекса. По смыслу ст. 1274 ГК РФ и п. 2 ст. 1280 ГК РФ исследование программы для ЭВМ, как и любого другого объекта исключительных прав, может быть проведено как пользователем самостоятельно, так и любым иным лицом, обладающим специальными знаниями, но в интересах пользователя, с его ведома и по его согласию.[2] Это подтверждает Решение Арбитражного суда города Москвы от 29 мая 2013 г. по делу № А40-10750/2013: «По смыслу ст. 1274 ГК РФ и п. 2 ст. 1280 ГК РФ исследование программы для ЭВМ, как и любого другого объекта исключительных прав, может быть проведено как пользователем самостоятельно, так и любым иным лицом, обладающим специальными знаниями, но в интересах пользователя, с его ведома и по его согласию. Это объясняется тем, что само по себе исследование в силу ст. 1270 ГК РФ не указано в качестве способа использования объекта исключительных прав и не предполагает его возмездное отчуждение или иное введение в оборот».

На настоящий момент судебная практика по вопросу реверс-инжиниринга в России не так обширна, как в странах Запада, где есть громкие и известные судебные прецеденты (например, дело Blizzard v. BnetD [3] и др.). Суды США в большинстве судебных решений отмечали, что реверс-инжиниринг был добросовестным и не нарушающим права правообладателя ПО. Например, в деле Sega Enterprises v. Accolade [4] компания Sega подала иск против издателя игр (Accolade) после того, как издатель произвел реверс-инжиниринг консоли Sega в целях создания совместимых с нею игр. Благодаря реверс-инжинирингу Accolade получила информацию об объектном коде, которая позже была собрана в письменное руководство, которое использовали программисты для создания своих игр. Код самой компании Sega при этом не был скопирован в игры от Accolade — код Accolade был полностью оригинальным. Такое «промежуточное» копирование было признано судом законным.

Выводы
  • Реверс-инжиниринг будет неправомерен в случае, если владение программой/мобильным приложением, которые подвергаются реверс-инжинирингу, незаконно. Данный вывод подтверждает практика Верховного Суда РФ. За нарушение прав правообладателя ПО возможно привлечение к административной ответственности.
  • Декомпиляция ПО, проводимая в соответствии с правилами, предусмотренными ст. 1280 ГК РФ, правомерна, даже если это нарушает установленный лицензионным соглашением с правообладателем такого ПО запрет на осуществление декомпиляции. Свободный реинжиниринг должен соответствовать одной из целей его проведения, разрешенных статьей 1280 ГК РФ, например, цели достижения способности взаимодействия ПО, разработанного одним лицом, с ПО других лиц.
  • Неправомерно копирование исходного кода декомпилируемой программы в создаваемую (новую) программу, поскольку такое копирование нарушает авторские права правообладателя декомпилируемой программы. Отметим, что копирование может включать в себя одновременно как имитацию нефункциональных элементов, так и буквальное копирование.
  • Декомпиляция в законных целях может проводиться как самим лицом, которому необходима такая декомпиляция, так и привлеченными им специалистами, если они действуют исключительно в интересах привлекшего их лица.
  • Российское законодательство и российская судебная практика по вопросу реверс-инжиниринга не дают ответы на все вопросы, которые возникают у лиц, имеющих интерес в его проведении.

Мы рекомендуем в любом случае получать разрешение на проведение реверс-инжиниринга от собственника ПО, а для этого — сначала подробно разъяснять ему цели проведения реверс-инжиниринга. Если ПО распространяется вместе с лицензионным/пользовательским соглашением, рекомендуется обращать внимание на имеющиеся в текстах данных соглашений формулировки запретов на проведение реверс-инжиниринга и согласовывать с правообладателем право на изучение ПО и его границы.

Александр Нечаев, Анна Андрусова

[1] Словари и энциклопедии на Академике // http://dic.academic.ru/dic.nsf/ruwiki/1070713
[2] «Реверс-инжиниринг ПО и российское право» Д. Доротенко
https://zakon.ru/blog/2016/10/11/reversinzhiniring_i_rossijskoe_pravo
[3] дело Blizzard v. BnetD
https://scholar.google.com/scholar_case?case=5463280175310353497&q=422+F.3d+630&hl=en&as_sdt=2002
[4] дело Sega Enterprises v. Accolade
http://web.archive.org/web/20081014131559/http:/bulk.resource.org/courts.gov/c/F2/977/977.F2d.1510.92-15655.html

01.10.2017