미국에서는 소프트웨어 리버스엔지니어링(Reverse
Engineering, 프로그램역분석)의 저작권 침해 여부에 대하여 다툼을 벌여 오다가, 1990년대에 공정이용의 항변이 받아들여져 리버스엔지니어링을 허용하게 되었습니다. Atari v. Nintendo 사건, Sega v. Accolade 사건, Sony v. Connectix 사건 등에서 공정이용의 원칙에 따라 리버스엔지니어링이 인정된 사안들입니다.
Atari
v. Nintendo 사건에서
Atari는 NES칩의 목적코드의 해독을 시도했습니다. 닌텐도 콘솔의 보안용칩은 사용허가를 받지 않은 카트리지를 감지해 작동을 막는 10NES
programming 프로토콜이 내장되어 있습니다. Atari는 10NES 목적코드를 Binary code로 필사하고 미국 저작권청(US Copyright Office)에서 얻은 10NES 원시코드를 이용하여 위 필사본의 에러를 보완하였습니다. Atari는 최종 완성된 코드를 디스어셈블하고 분석하였습니다. Atari는 10NES를 해킹하기 위해 Rabbit을 개발했는데, Rabbit은 10NES와 호환되도록 기능합니다. Atari는 닌텐도의 NES 시스템에서 Atari사의 게임이 동작할 수 있도록 한 것입니다.
연방항소법원은 Atrai가 미국 저작권청에서 부정하게 얻은 프로그램에 대해 공정이용의 원칙이 적용되지 않고 저작권 남용의 형평법 항변을 주장할 수 없다고 판단하였지만, 소프트웨어 프로그램에 대한 리버스엔지니어링은 공정이용에 해당될 수 있음이 확인되었습니다.
Sega
v. Accolade 사건에서
Accolade는 Sega의 Genesis 콘솔의 호환조건을 확인하기 위해 Sega의 게임프로그램을 리버스엔지니어링한 것이 문제가 되었습니다. Accolade는 판매중인 Sega의 게임 카트리지에 포함된 목적코드를 디스어셈블 또는 디컴파일을 통해 원시코드를 확보하고 이를 분석하여 Genesis 콘솔의 호환요건 등에 대한 매뉴얼을 작성하였습니다. 매뉴얼에는 인터페이스를 위한 설명만을 포함하고 Sega의 목적코드, 소스코드 등은 포함되지 않았습니다.
CAFC는 공정이용의 원칙에 대한 구체적인 판단 기준을 제시하면서 Accolade의 리버스엔지니어링을 공정이용으로 판단하였습니다. 법원은 디스어셈블은 프로그램에서 보호받지 않는 부분들에 접근할 수 있는 유일한 방법이고 Accolade가 Genesis 콘솔의 호환되는 프로그램의 제작을 위한 리버스엔지니어링에 합법적인 이유가 있고 공정이용에 해당한다고 인정한 것입니다.
Sony
v. Connectix 사건에서
Connectix는 VGS(Virtual
Game Station) 에뮬레이터를 개발하기 위하여 PlayStation 하드웨어와 Bios 펌웨어를 모두 에뮬레이션한 것이 문제가 되었습니다. Connectix는 PlayStation 하드웨어의 에뮬레이션을 위해서, PlayStation내의 칩에서 BIOS 펌웨어를 추출하고 이것을 컴퓨터의 RAM에 복제한 후에 VGS 하드웨어 에뮬레이션 과정에서 디버깅 프로그램 통해 BIOS의 기능을 확인하고 BIOS 펌웨어를 이용하여 에뮬레이션 소프트웨어를 디버깅하였는데, Connectix는 이 과정에서 Connectix는 BIOS 펌웨어를 복제하고 디스어셈블한 것입니다.
연방순회법원은 Connectix의 BIOS 펌웨어의 복제 및 이용을 Sony 프로그램의 보호받지 않는 요소들에 접근할 목적의 공정이용이라고 판결했습니다. 이 법원은 Sega v.
Accolade 사건을 인용하여 디스어셈블이 저작권이 있는 컴퓨터프로그램에 내재된 아이디어와 기능 요소들에 대해 접근하는 유일한 방법이고 그런 접근에 합법적인 이유가 있는 경우에, 디스어셈블은 저작물의 공정이용이라고 판단하였습니다. 또한 공정이용의 원칙은 컴퓨터프로그램에 포함된 아이디어와 기능적 요소들에 대한 공중의 접근을 보장한다고 판시하였습니다.
우리나라 저작권법에도 위와 같은 사안을 위하여 프로그램의 복제와 리버스엔지니어링에 대한 공정이용 규정을 두고 있습니다.
저작권법 제101조의3(프로그램의 저작재산권의 제한) ① 다음 각 호의 어느 하나에 해당하는 경우에는 그 목적상 필요한 범위에서 공표된 프로그램을 복제 또는 배포할 수 있다. 다만, 프로그램의 종류·용도, 프로그램에서 복제된 부분이 차지하는 비중 및 복제의 부수 등에 비추어 프로그램의 저작재산권자의 이익을 부당하게 해치는 경우에는 그러하지 아니하다.
6.
프로그램의 기초를 이루는 아이디어 및 원리를 확인하기 위하여 프로그램의 기능을 조사·연구·시험할 목적으로 복제하는 경우(정당한 권한에 의하여 프로그램을 이용하는 자가 해당 프로그램을 이용 중인 때에 한한다)
제101조의4(프로그램코드역분석) ① 정당한 권한에 의하여 프로그램을 이용하는 자 또는 그의 허락을 받은 자는 호환에 필요한 정보를 쉽게 얻을 수 없고 그 획득이 불가피한 경우에는 해당 프로그램의 호환에 필요한 부분에 한하여 프로그램의 저작재산권자의 허락을 받지 아니하고 프로그램코드역분석을 할 수 있다.
|
위 저작권법 규정과 같이 호환을 목적으로 하지 않는 경우에는 리버스엔지니어링이 허용되지 않는다고 해석되므로 저작권법 제101조의3 제1항 제6호와 제101조의4 규정은 미국에 비해 리버스엔지니어링의 허용 범위가 좁을 수 있다는 점은 주의가 필요합니다. 다만, 저작권법 제35조의3의 공정이용 일반규정을 이용한다면 호환 이외에 아이디어와 기능 등을 확인하기 위한 리버스엔지니어링도 허용될 수 있는 여지는 있습니다.
저작권법 제35조의3(저작물의 공정한 이용) ① 제23조부터 제35조의2까지, 제101조의3부터 제101조의5까지의 경우 외에 저작물의 통상적인 이용 방법과 충돌하지 아니하고 저작자의 정당한 이익을 부당하게 해치지 아니하는 경우에는 저작물을 이용할 수 있다.
|
[참조 강기봉, 컴퓨터프로그램의 리버스엔지니어링에 관한 법정책적 소고, 법제논단, 2014. 4.]
정회목 변호사
댓글 없음:
댓글 쓰기