2007. 11. 27. 16:40

GPL 2.0의 주요 내용과 개정배경

오픈소스소프트웨어 라이선스 중 가장 중요한 것은 GPL이며, 주요 내용은 다음과 같다.

image

 

첫째, GPL 조건의 프로그램은 아무런 제한 없이 ‘사용’ 또는 ‘실행’할 수 있다. 다시 말해 복제, 배포행위를 제외한 프로그램의 단순 이용 또는 실행행위는 아무런 조건 없이 누구나 자유롭게 할 수 있다.

둘째, GPL 조건의 프로그램을 수정하지 않고 소스코드형태로 배포하고자 하는 경우에는 저작권표시(copyright notice), 워런티가 없다는 표시(disclaimer of warranty), 그리고 해당 프로그램이 GPL에 의해 배포되고 있다는 표시를 하고, 동 프로그램과 함께 GPL 원문을 제공하기만 하면 GPL 프로그램을 자유롭게 ‘복제’, ‘배포’할 수 있다. 이 때 이용자의 선택에 따라 복제물 제공에 대한 비용을 청구할 수 있으며, 유료로 워런티를 제공할 수 있다.
셋째, GPL 조건의 프로그램을 수정한 2차적프로그램을 작성한 후 이를 배포하고자 하는 경우, 저작권표시 등 제1조의 의무와 함께, 수정했다는 사실 및 수정일자를 명시하고, 2차적프로그램 전체를 GPL에 의해 다시 제공할 것을 요구하고 있다.
넷째, GPL 조건의 프로그램을 오브젝트(Object) 코드나 실행파일 형태로 배포하고자 하는 경우에는 소스코드를 함께 제공하거나, 또는 최소 3년 동안 배포에 필요한 최소한의 비용만을 받고 소스코드를 제공하겠다는 문서(written offer)와 함께 제공하여야 한다.
이상과 같은 조건들을 준수하지 못할 경우 GPL에 의해 부여된 라이선스는 자동적으로 종료되며, 그럼에도 불구하고 계속해서 GPL 조건의 프로그램을 복제, 수정, 배포하는 경우에는 계약위반 또는 프로그램저작권침해의 책임을 지게 된다. 

< GPL 2.0의 주요 내용 >

▪ 소프트웨어를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 GPL에 의해 배포된다는 사실 명시

▪ 소프트웨어를 수정하거나 새로운 소프트웨어를 링크(Static과 Dynamic linking 모두)시키는 경우 GPL에 의해 소스 코드 제공해야 함. 다만 리눅스를 기반으로 개발된 응용프로그램은 소스코드 제공할 필요 없음

▪ Object Code 또는 Executable Form으로 GPL 소프트웨어를 배포하는 경우, 소스 코드 그 자체를 함께 배포하거나 또는 소스코드를 제공받을 수 있는 방법에 대한 정보 함께 제공해야 함

▪ 자신의 특허를 구현한 프로그램을 GPL로 배포할 때는 GPL 조건을 준수하는 이용자에게는 로열티를 받을 수 없으며, 제3자의 특허인 경우에도 특허권자가 Royalty-Free 형태의 라이선스를 제공해야만 해당 특허 기술을 구현한 프로그램을 GPL로 배포하는 것이 가능

오픈소스소프트웨어의 이용자가 GPL 조건을 준수하고 있는지의 여부는 오픈소스소프트웨어의 커뮤니티나 이용자들이 상시 감시하고 있으며, 특히 FSF와 gpl-violations.org가 가장 활발하게 활동하고 있다. 라이선스 위반사항을 발견하면 통상 위반한 개인이나 기업에게 위반사항을 통지하고 이를 시정할 것을 요구한다. 대부분의 경우 라이선스를 위반했음을 인정하고 관련 소스코드를 제공하는 등의 시정조치를 취하지만, 경우에 따라서는 이를 거부하기도 한다. 이러한 경우에는 관련 소프트웨어에 대한 권리를 가진 개발자, 또는 이들로부터 권리를 위임받은 FSF나 gpl-violations.org가 법원에 소송을 제기하게 된다.

GPL 개정의 배경과 경과

1991년 배포된 GPL 2.0은 2007년까지 16년 동안 수정 없이 사용되었다. 소프트웨어관련 기술과 이를 둘러싼 시장, 제도의 변화속도에 비추어보면 상당히 오랜 기간 동안 개정되지 않고 사용된 것으로 평가할 수 있다. 하지만 1990년대 초반 오픈소스소프트웨어가 널리 사용되기 이전에 만들어진 GPL 2.0은 최근의 변화된 상황에서 조금씩 그 한계를 드러내고 있었다. 예컨대 자유/오픈소스소프트웨어운동이 미국에서 시작되었으며 GPL 2.0도 미국의 법제도를 기반으로 만들어졌는데, 현재 자유/오픈소스소프트웨어 및 GPL은 전세계적으로 사용되고 있으며, 그에 따라 각국 법제도의 차이를 반영할 필요성이 제기되었었다. 이밖에 소프트웨어특허의 확대와 그에 따른 위험의 증가, 자유/오픈소스소프트웨어 라이선스들의 증가와 양립성 문제, DRM 기술의 확대적용과 법에 의한 보호, 네트워크서버기반 소프트웨어의 증가, P2P 등 새로운 기술의 등장 등 일련의 환경변화로 GPL 개정의 필요성은 더욱 증대되었다.
하지만 자유/오픈소스소프트웨어와 GPL의 사용자 층이 넓어진 만큼 개정작업은 더욱 복잡해졌다. 1991년 GPL 2.0이 발표될 당시 리차드 스톨만이 몇몇 법률가와 개발자들로부터 의견을 수렴하긴 했었지만, GPL의 개정에 있어 이번과 같은 공식적인 의견수렴절차나 논의가 필요한 것은 아니었다. GPL 2.0이 발표되고 FSF는 곧바로 GNU 프로젝트의 결과물들을 GPL 2.0으로 교체하였으며, 리누스 토발즈도 리눅스커널에 GPL 2.0을 채택하였었다. 하지만 이번의 상황은 그렇지 못했다. GPL은 전세계 수만의 프로젝트에서 사용되고 있었으며, PC․서버 운영체제로부터 휴대폰, PDA, 셋탑박스, 홈네트워킹 장비 등의 임베디드소프트웨어분야에서 광범위하게 사용되고 있었다. 다시 말하면 더 이상 FSF의 GNU프로젝트에서만 사용되는 라이선스가 아니며, 그야말로 자유/오픈소스소프트웨어에 관계된 수많은 기업과 사람들이 지켜야 할 행동규범의 지위를 갖게 된 것이다.
FSF는 지난 수년 동안 자유/오픈소스소프트웨어 커뮤니티, 산업계, 학계 등과 공식적으로 또는 비공식적으로 GPL의 개정에 대해 논의해 왔으며, 이를 바탕으로 마련한 첫번째 안(First Discussion Draft)을 2006년 1월 발표하였다. 초안의 발표와 함께 다양한 의견을 수렴하기 위한 토론위원회 등의 공식적인 프로세스를 만들었다. 이를 바탕으로 인터넷을 통한 의견 수렴, 수차례의 국제 컨퍼런스를 거쳐 2006년 7월에 두번째 안을, 2007년 3월과 5월 각각 세 번째 안과 네 번째 안을 발표하였으며, 지난 2007년 6월 29일 마침내 공식적으로 GPL 3.0을 발표하였다.
GPL 3.0의 전체적인 체계를 보면, 서문을 제외하고 제0조부터 제17조까지 총 18개 조문으로 구성되어 있다. 이중 제4조 내지 제6조, 제8조 내지 제10조, 제12조, 제14조 내지 제17조는 기존의 GPL 2.0의 내용을 적절히 수정해서 재구성한 것이다. 새롭게 추가된 내용으로는 제0조 내지 제1조에서 각종 용어를 새로이 도입하거나 기존의 용어를 수정하였으며, 제3조를 중심으로 DRM과 관련된 내용이 추가되었다. 또한 오픈소스소프트웨어 라이선스의 급격한 증가와 양립성 문제를 완화하고자 제7조에서 GPL에 부가적인 조건을 추가할 수 있도록 규정하고 있다. 아울러 제11조 등은 소프트웨어특허문제, 제13조에서는 Affero GPL과의 양립성문제에 대처하고자 새롭게 추가된 내용이다.
GPL 의 개정과정에서 가장 논란이 되었던 내용은 DRM(또는 ‘Tivoization’) 관련 쟁점, 특허권의 취급, 오픈소스라이선스간 양립성, 네트워크서버형태로 GPL 소프트웨어를 이용하는 경우의 처리 등이다. 이 밖에 소스코드의 범위를 명확히 하고, 새로운 용어를 정의하는 등의 수정이 있었다.