Законно ли использовать reverse engineering в ІТ
Многие ІТ-специалисты практически ежедневно сталкиваются с реверс-инжинирингом. Ведь процесс помогает в обучении, исследовании софта и железа, их составляющих элементов и принципов работы. В некоторых случаях reverse engineering используют для оценки уровня Game Developers и т. д. Кто впервые столкнулся с термином — некоторые статьи в википедии и «лурке».
Если кратко, reverse engineering — законен, но с рядом условий.
В данной статье предлагаю ознакомиться с правовой стороной процесса. Опишу основные принципы реверс-инжиниринга по итогу судебных прецедентов США по делам Nintendo v. Atari, SEGA v. Accolade и Bowers v. Baystate Technologies.
Одни из первых судебных дел по реверс-инжинирингу появились при попытках обойти защиту игровых консолей. К примеру, такие компании как SEGA, Nintendo были заинтересованы в том, чтобы к ним обращались за лицензией, выплачивали вознаграждения «за допуск» к консоли и выпускали игры по их условиям (и достаточно часто — эксклюзивно).
Game Developers не были в этом заинтересованы и искали пути обхода защиты доступа игровых консолей. Так как гораздо выгоднее было найти «доступ к системе», не платить за лицензию и выпускать игры для всех систем сразу. Девелоперы занимались разборкой железа, восстановлением и распечатыванием кода, изучением составляющих систем защиты и т. д. Достаточно часто процессы обратной разработки были успешными и игры становились совместимыми с консолями.
Конечно, не обошлось без нарушений прав и судебных разбирательств. Благодаря «первым реверсам» суды сформировали позиции о принципах такого процесса, которые мы используем и сегодня.
Atari Games Corp. v. Nintendo of America Inc. 975 F.2d 832 (Fed. Cir. 1992)
Nintendo разработало 10NES program, которое не допускало к работе на игровой консоли видеоигры неавторизованных производителей.
Nintendo-10NES-Lockout-Chip. Источник изображения
Atari попыталось найти доступ к консоли. Для этого при реверс-инжиниринге удаляли и исследовали чипы 10NES, копировали и воспроизводили объектный код.
Интересный факт в деле — Atari получили копии кода из офиса по защите авторских прав США под предлогом другого судебного разбирательство, т.е. незаконно для целей реверс-инжиниринга.
Дело: Sega Enterprises Ltd. v. Accolade, Inc. 977 F.2d 1510 (9th Cir. 1992)
SEGA ограничивала совместимость игр со своей консолью Genesis (Sega Mega Drive), а также разработала trademark security system (TMSS). Когда игровой картридж вставлялся в систему, микропроцессор консоли искал код инициации TMSS, который состоял из четырех байтов данных — букв «S-E-G-A». Если система Genesis (Sega Mega Drive) находила код инициализации TMSS в нужном месте, игра запускалась на консоли. Дополнительно TMSS отображал на экране «PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD».
Sega Genesis / Mega Drive. Источник изображения
Accolade, используя реверс-инжиниринг, обеспечила совместимость видеоигр с Genesis. Гейм-девеловеры Accolade также «нашли» код инициации TMSS, установили, что он не влияет на совместимость Genesis II с их играми. Но разработчики предположили, что это некая функция на будущее, в итоге было принято решение скопировать и TMSS код.
После выпуска новой консоли от SEGA — Genesis III, видео игры от Accolade с TMSS, также начали отображать уведомление «PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD», что не соответствовало действительности.
Выход из ситуации Accolade нашли в виде размещения информации на картридже, что торговые марки компаний, как и права, принадлежат разным субъектам. См. надпись ниже:
Принципы, которые сформировали суды, по итогу кейсов:
- автор не получает эксклюзивные права «в целом», так как авторское право не защищает идеи, процессы, операции. Или другими словами — сама идея не допускать к консоли при помощи чипа, программы — не защищается;
- для защиты процессов и методов, следует использовать патентное право;
- реверс-инжиниринг является добросовестным, когда «nature of a work» требует промежуточного копирования для понимания идей и процессов, неохраняемых элементов;
- без реверс-инжиниринга объектного кода владелец произведения фактически будет иметь монополию на функциональные аспекты работы, которые защищаются авторским правом;
- для законного реверс-инжиниринга, должна использоваться копия произведения, полученная законным путем.
Так как в кейсе Atari — Nintendo, копия кода была получена незаконно, то реверс-инжиниринг был признан таким, что нарушает права Nintendo.
А в кейсе SEGA — Accolade, SEGA доказала возможность «доступа» к консоли без
И уже 1998 году в США был принят Digital Millennium Copyright Act, который на законодательном уровне разрешает обратный инжиниринг защищенной программы, чтобы выяснить, как заставить ее взаимодействовать (т.е. обмениваться информацией и использовать ее) с другими программами.
Можно ли запретить реверс-инжиниринг договором
Да, в большинстве лицензионных соглашений реверс-инжиниринг запрещается. Пример ограничений из лицензионного соглашения PS4 — раздел 2, ограничения. Судебная практика США сводится к тому, что договорные ограничения на запрет реверс-инжиниринга имеет высшую силу по сравнению с законом.
В качестве примера можно взять кейс Bowers v. Baystate Technologies (320 F.3d 1317, Fed. Cir. 2003). Нарушение авторских прав Bowers на программу Designer’s Toolkit, а также условий лицензии обошлись Baystate в 5 270 142 $. Так как компания незаконно использовала реверс-инжиниринг для создания своей программы Draft-Pak. Как резюмировал суд — нарушающая сторона должна сопоставить преимущества нарушения с возможными убытками, или «the breaching party must weigh the benefits of breach against the arguably de minimus damages arising from merely discerning non-protected code».
Но стоит обратить внимание, что в зависимости применяемого права, судебной практики, условия подписания — оговорки могут быть признаны недействительными и высшую силу может иметь закон.
В Украине программное обеспечение относится к объектам авторского права и реверс-инжиниринг (или декомпилирование) разрешается.
При реверс-инжиниринге, экземпляр ПО должен быть получен правомерно. Также имеется ряд условий. Например, чтобы информация, необходимая для взаимодействия с другим софтом, не была доступна из других источников. А процесс осуществляется только с той частью программы, которые необходимо для обеспечения взаимодействия. Полный перечень условий по реверс-инжинирингу, а также условий правомерного использования софта (других объектов авторского права) в законе.
Вывод
Реверс-инжиниринг разрешен, так как авторское право не защищает объект полностью, например, «идею» запретить доступ к игровой консоли. Но каждый кейс должен рассматриваться индивидуально — не было ли при помощи реверс-инжиниринга нарушений прав собственника, законно ли получен объект, существовали ли другие инструменты для решения поставленных задач и применимое право.
На сегодня большинство договоров содержат запрет на реверс-инжиниринг (лицензионные соглашения, договоры с ИТ-специалистами, NDA), и такие нормы будут иметь высшую силу по сравнению с законом во многих странах. Рекомендую внимательно относиться к тому, что подписываете и какие обязательства на себя принимаете при разработке ИТ-продуктов и взаимоотношениях с заказчиками.
28 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів