한국어
팁/강좌/노하우
 

테크 GNU GPL

pjk 2014.09.04 16:16 조회 수 : 3310

GNU 일반 공중 사용 허가서(GNU General Public License, GNU GPL 또는 GPL)는 자유 소프트웨어 재단에서 만든 자유 소프트웨어 라이선스이다. 대표적으로 리눅스 커널이 이용하는 사용 허가이다. GPL은 가장 널리 알려진 강한 카피레프트 사용 허가이며, 이 허가를 가진 프로그램을 사용하여 새로운 프로그램을 만들게 되면 파생된 프로그램 역시 같은 카피레프트를 가져야 한다. 이러한 철학에서 GPL은 컴퓨터 프로그램을 이용하는 사람에게 자유 소프트웨어의 권한을 누리며 카피레프트를 사용함으로써 그러한 자유가 보전되고, 심지어는 그러한 작업이 변형되거나 추가될 수도 있는 자유마저 있다. 이는 허용적인 자유 소프트웨어 허가로서, BSD 사용허가가 대표적인 예이다.

GNU 약소 일반 공중 사용 허가서(The GNU Lesser General Public License, LGPL)는 이를 변형하여 더 허가된 형태로서, 소프트웨어 라이브러리를 염두에 둔 것이다. 또 GNU 자유 문서 사용 허가서 (GNU FDL)은 GNU 소프트웨어에 대한 문서의 사용 허가로 시작하였으나 위키백과 프로젝트와 같이 다른 문서 형태에도 널리 퍼지게 되었다.

다만 현재까지 이 계약서는 미국과 유럽 일부 국가등에서만 법원의 판단등으로 합법한 계약서로 인정받았고, 대다수 국가에서는 이에 따른 법률적 판단을 받은 바 없다. 대한민국 내에서도 직접 이 계약서가 합법한가에 대한 법원의 판단은 없었으며, 다만 계약서라는 특성상 준법행위를 하는 다수는 분쟁없이 이 계약서의 제약을 따르고 있을 뿐이다.


소프트웨어에 관련된 다섯 가지 의무

GNU 일반 공중 사용 허가서는 누구에게나 다음의 다섯 가지의 의무를 저작권의 한 부분으로서 강제한다.

  1. 컴퓨터 프로그램을 어떠한 목적으로든지 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
  2. 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스코드를 무료로 배포해야 한다.
  3. 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
  4. 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.
  5. 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. 즉 GPL 라이선스를 적용해야 한다.

GPL의 유래

GPL미국리처드 스톨만(Richard Stallman)이 GNU-프로젝트로 배포된 프로그램의 라이선스로 사용하기 위하여 작성하였다. 이것은 Emacs, GNU 디버거(GDB), GNU 컴파일러 모음(GCC)에서 사용된 라이선스의 초기 판의 통합에 기반하고 있다. 이 라이선스들은 현재 GPL과 비슷한 조항들이 있으나, 각각의 프로그램 고유의 라이선스였다. 스톨만의 목표는 어떤 프로그램에서도 사용할 수 있는 하나의 라이선스를 만들어서 여러 프로젝트에서 코드를 공유할 수 있게 하는 것이었다. 이와 같은 목적에 부합하는 저작권의 형태로서 GPL이 1989년 1월에 처음으로 빛을 보게 되었다.

1990년에 이르자 몇몇 라이브러리에서 전략적으로 규제를 약화해야 할 필요성이 생겨났고, 이에 대한 조치로 라이브러리-GPL(LGPL, Library General Public License )이 생겨나게 되었으며, 1991년 6월에 배포된 GPL의 두 번째 판을 따라, LGPL도 두 번째 판으로 같은 번호를 붙여서 두 라이선스가 상호보완적임을 나타내었다. 1999년에는 LGPL약소 일반 공중 사용 허가서(Lesser General Public License)로 이름을 바꾸어 부르게 되면서 2.1판으로 숫자를 바꾸게 되었다.

GPL은 오늘날 자유 소프트웨어 저작권 가운데 가장 널리 쓰이고 있으며, 대부분의 GNU-프로젝트는 - 이를테면 위키백과 - GPL과 LGPL의 규준에 따라 진행되고 있는 것으로 알려져 있다. 또한 모든 LGPL의 규준에 따르는 프로그램이나 프로젝트는 동시에 GPL의 규준에 따르고 있다.


출처 및 더 많은 내용 : http://en.wikipedia.org/wiki/GNU_General_Public_License