Про­читав статью, ты узна­ешь, как законо­датель­ство смот­рит на дизас­сем­бли­рова­ние чужого кода и как не попасть под наруше­ние DMCA. Мы изу­чим юри­дичес­кую прак­тику на при­мере таких про­ектов, как Wine, ReactOS, ScummVM, а так­же вос­создан­ного игро­вого движ­ка GTA 3.
 

Юридические лазейки

В каж­дой стра­не свои законы об автор­ском пра­ве. Мы будем говорить пре­иму­щес­твен­но о США, так как в Шта­тах такие законы пре­дель­но стро­гие. Если уда­лось обой­ти их там, веро­ятно, это сра­бота­ет и в стра­нах с куда более сво­бод­ным законо­датель­ством.

Обыч­ный реверс‑инжи­ниринг под­разуме­вает вос­ста­нов­ление исходно­го кода, то есть доработ­ку руками того, что не смог сде­лать авто­мати­чес­кий деком­пилятор. На выходе получа­ется близ­кий к ори­гиналь­ному код. Проб­лема в том, что деком­пилиро­ван­ный код под­ходит под опре­деле­ние «про­изводных про­изве­дений» (derivative work), которые нель­зя, не нарушая закон, исполь­зовать без раз­решения вла­дель­ца ори­гиналь­ных автор­ских прав.

Раз­работ­ка в «чис­той ком­нате» (clean room design) — легаль­ный метод кло­ниро­вания чужого прог­рам­мно­го или аппа­рат­ного про­дук­та. Это юри­дичес­кая стра­тегия, которая в боль­шинс­тве слу­чаев успешно защища­ет от любых обви­нений в наруше­нии автор­ских прав.

Для это­го раз­работ­чики делят­ся на две незави­симые коман­ды. Пер­вая иссле­дует ори­гиналь­ный код при помощи дизас­сем­бле­ра или любых дру­гих инс­тру­мен­тов. На осно­ве про­веден­ного иссле­дова­ния она пишет спе­цифи­кацию — набор докумен­тов, которые опи­сыва­ют, как работа­ет про­дукт.

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

Учас­тни­ки вто­рой коман­ды раз­рабаты­вают новый про­дукт по пре­дос­тавлен­ной спе­цифи­кации. Их работа не может нарушить автор­ские пра­ва, так как они не видели исходно­го кода даже в дизас­сем­бле­ре. Иног­да такой спо­соб раз­работ­ки называ­ют chinese wall: две груп­пы раз­работ­чиков раз­делены меж­ду собой как бы китай­ской сте­ной. Нель­зя «украсть» то, что ты никог­да не видел, это пра­вило соб­люда­ется в работе вто­рой груп­пы.

Од­но из пер­вых при­мене­ний «чис­той ком­наты» про­изош­ло в 1983 году. Архи­тек­тура IBM PC активно заво­евы­вала рынок. Про­изво­дите­ли кло­нов IBM PC были вынуж­дены покупать лицен­зион­ный ROM BIOS. Тог­да ком­пания Phoenix решила выкинуть на рынок свой BIOS, сов­мести­мый с IBM PC. Что­бы избе­жать судеб­ных исков, одна коман­да иссле­дова­телей разоб­рала исходный код IBM и написа­ла докумен­тацию для BIOS API. А вто­рая занима­лась непос­редс­твен­но раз­работ­кой BIOS, пол­ностью сов­мести­мого с име­ющим­ся железом. Метод сра­ботал, и Phoenix уда­лось избе­жать юри­дичес­ких пос­ледс­твий.

Су­щес­тву­ют пог­ранич­ные ситу­ации, находя­щиеся в серой пра­вовой зоне, нап­ример реим­пле­мен­тация ори­гиналь­ного кода на язы­ке более высоко­го уров­ня. Если игру, написан­ную на ассем­бле­ре, пор­тиру­ют на C++, то в теории чужие автор­ские пра­ва наруше­ны не будут. Впро­чем, и о судеб­ных раз­биратель­ствах по таким делам мне неиз­вес­тно. Под­робней про такой слу­чай читай в раз­деле ScummVM.

 

RE3

Ши­роко извес­тный про­ект RE3 пред­став­ляет собой вос­создан­ный с помощью реверс‑инжи­нирин­га дви­жок GTA 3. На нем игру уда­лось не толь­ко соб­рать и запус­тить, но и перенес­ти на плат­формы, которые она изна­чаль­но не под­держи­вала, нап­ример Nintendo Switch и PSP.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии