본문 바로가기

Architecture for Software/License

GNU Public License(GPL)

사용자 삽입 이미지


GPL라이센스에 대하여 좋은 정리가 있어서 올립니다.

GPL라이센스는 GNU프로젝트에 가장 먼저 적용된 라이센스이며 리눅스에 적용되어 있고 또한 가장 널리 적용되고 가장 대표적인 공개소프트웨어의 라이센스이다.

GPL은 리차드스톨만(Richard Stallman)에 의해 만들어졌고 자유소프트웨어 재단(FSF : Free Software Foundation)의 철학을 반영하고 있다. GPL이 적용되어 있는 공개소프트웨어의 복제와 유통에는 제약이 없다. 하지만 GPL라이센스가 적용되어 있는 소프트웨어는 다음과 같은 조건을 따라야 한다. 즉, 자유소프트웨어는 다음과 같은 조건하에서 소프트웨어의 복제와 개작, 배포가 자유롭게 허용되며, 프로그램의 사용(프로그램을 실행시키는 행위)에 대해서는 아무런 제한 없이 자유롭게 사용할 수 있다.


① 사용자가 소스코드를 쉽게 사용할 수 있어야 한다.

② 배포되는 소프트웨어에는 GNU GPL이 포함되어 있어야 한다. 배포된 소프트웨어를 사용하는 사람은 GPL상의 사용허가를 그대로 유지하는 조건하에 소스코드를 자유롭게 복제, 배포할 수 있다.

③ 쌍방향(interactive)프로그램의 경우, 프로그램이 시작될 때 이를 게시하여야 한다.

④ 프로그램을 수정할 경우에는 언제, 누구에 의해 수정되는지를 명시해야한다.

⑤ 파생품을 만들수 있으며 만들어진 파생품에는 GPL이 적용되어야 한다. 즉, 소프트웨어를 양도받은 자는 소프트웨어를 자유롭게 개작할 수 있고, 개작된 소프트웨어는 GPL을 그대로 유지하는 조건에서 배포할 수 있다.

⑥ GPL소프트웨어를 결합하여 만든 소프트웨어에는 반드시 GPL이 적용되어야 한다.

⑦ 소프트웨어가 오브젝트 파일(object code)이나 실행파일 형태로 배포될 경우 반드시 소스코드를 함께 제공하여야 한다.

⑧ GPL하에서 배포되는 소프트웨어는 무상으로 제공되는 것이므로 소프트웨어에 대한 어떠한 보증도 제공되지 않는다.

위의 ⑥번째 조건으로 인하여 GPL은 바이러스적인 효과를 가지고 있다. 즉, 기업에서 GPL이 적용된 소프트웨어의 일부를 사용하여 다른 소프트웨어를 개발하였을 경우에 기업은 그들이 개발한 소프트웨어의 소스코드를 공개해야만 한다.

결과적으로 소프트웨어를 제작 판매하는 기업에서는 GPL이 적용된 소프트웨어를 기피하게 되었다. 이것이 GPL의 아킬레스건이되어 버렸다.

1984년 FSF를 설립한 이후 1989년에 FSF에 의해 GPL 1.0이 만들어 졌으며 1991년 FSF에 의해 GPL 2.0이 만들어지고 현재까지 사용하고 있다. GPL은 현실을 반영하면서 계속 진화하고 있으며 초기 1.0버전과 2.0 버전, 그리고 2007년도 쯤에 GPL3버전이 나올 예정이다.

GPL라이센스에 있어 가장 핵심이 되는 부분은 소프트웨어를 소스코드의 형태로 복제, 수정, 배포가 가능한 자유가 보장되며 또한 수정된 소프트웨어에 대해서도 동일한 자유와 조건이 계속해서 순차적으로 보장되도록 하는 것이다.

GPL은 저작권을 전제로 하고 있지만 저작권의 본래의 취지를 반대로 이용하여 소프트웨어를 사적인 재산권의 대상으로 삼는 대신에 자유롭게 이용, 복제, 배포, 수정될 수 있는 수단으로 삼은 것이다.

즉, 일반적으로 프로그램의 개발자들이 ‘저작권’을 이용하여 재산적 권리를 취득하는 것과 마찬가지로 자유소프트웨어의 개발자들은 ‘저작권’을 이용하여 프로그램의 공유화를 가능하게 한 것이다. 그래서‘저작권(copyright)’을 기반으로 하면서도 이를 역이용하여 프로그램의 공유를 보장하려는 이러한 움직임을 ‘카피레프트(copyleft)’라고 부르게 된 것이다.

따라서 카피레프트의 조건에 따라 배포된 프로그램에 어떠한 수정이 이루어지거나, 여기에 다른 프로그램이 결합되더라도 그 결과물로서의 소프트웨어에는 카피레프트가 적용되는 것이다.