메뉴

문서정보

소개

이 글을 읽기전에 GNU 라이센스에 대한 빈번한 질문들 문서를 한번읽어보시길 바랍니다. gnu(:12)공식사이트의 번역문서이니, 문서의 내용이 모두 옳다는 가정하에 GPL(:12)에 대한 분석결과를 얘기해 보려합니다.

라이센스와 저작권

라이센스가 하위 개념입니다. 소스코드의 원저작권자는 (개인,복수일수도 있고 회사일 수도 있음)분명히 존재합니다. 저작권자는 자신의 저작물에 대해서 독점적인 권한을 가지고 있으며, 이 권한을 이용해서 저작자는 자신의 저작물에 대해서 원하는 라이센스를 부여할 수 있습니다. 즉 GPL(:12)하의 프로그램이라고 하더라도 권한을 가지는 저작권자는 존재를 합니다. (물론 독점적인 권한이 영원히 유지되는건 아닙니다. 대부분 수십년의 시간에 대해서만 독점적인 권한이 유지되는 것으로 알고 있습니다.)

예를들어서 GPL(:12) 프로그램을 대폭개선한 새로운 버전의 프로그램을 저작권자가 만들었다면, 저작권자는 이 새로운 버전의 프로그램의 라이센스를 변경할 수 있는 권한을 가지게 됩니다. mysql(:12)과 몇몇 GPL(:12) 기반의 프로그램들이, 이런식으로 라이센스가 변경된 예입니다.

GPL(:12)의 핵심

핵심은 "배포의 자유를 허락한다" 입니다. 거의 대부분의 조항들이 배포의 자유를 보장하기 위한 장치들입니다. 다음과 같은 조항들이 포함됨니다.
  1. GPL(:12)로 배포받은 프로그램은 개작 재배포를 허락한다.
  2. 개작된 프로그램도 GPL(:12)이다.
  3. 배포할때는 GPL(:12)로 배포되어야 한다.
  4. 배포받은자가 요구할 경우 소스코드와 프로그램 문서의 일체를 제공해야 한다.
GPL(:12)은 상용으로의 사용을 허락하지 않는다는 잘못알려진 내용입니다. GPL(:12)은 배포의 자유에 대한 것만을 명시하고 있습니다

GPL(:12) 효력 발효 시점

"배포의 자유"와 관련된 라이센스이므로 "배포" 할때 GPL(:12)의 효력이 발생합니다. 내가 GPL(:12)을 따르는 "가나다" 프로그램을 받아서 수정을 했다고 하더라도, 배포하기 전에는 즉 개인적으로 사용한다면, GPL(:12)이 효력을 발휘하지 않습니다.

예를 들자면, 나는 너가 GPL(:12) 프로그램을 수정해서 개인적으로 사용하고 있다는 걸 안다. "수정된 소스코드와 문서를 달라" 라고 할수가 없습니다. - 정확히 말하자면 소스코드를 좀 보여달라고 요청할 수 있지만 강제사항이 될 수 없습니다. - "배포전"이기 때문으로, 제공하거나 안하는건 개인의 자유입니다. 만약 제공하기로 마음먹었다면, 제공하는 자체가 배포하는 행위가 되기 때문에, 그때부터 GPL(:12)이 효력을 발휘하게 됩니다. 이는 회사에도 마찬가지로 적용됩니다.

자신들의 리눅스커널을 수정해서 자신들의 서비스를 위해서 내부적으로 이용할 경우가 있을 수 있을 겁니다. 이 경우에도 마찬가지로 소스코드를 외부에 공개할 의무는 없습니다. 배포는 의무가 아닌 자유입니다. 단 이걸 어떤 업체나 개인에게 배포했다 하면, 그 시점에서 GPL(:12)이 효력을 발휘하게 되고, 해당 업체는 소스코드와 문서등의 일체를 개인에게 제공해야 하는 의무를 지니게 됩니다.

이때, 어디까지를 배포하는 행위로 봐야할 것인가 하는 문제가 발생할 수는 있습니다. 어떤 서비스를 위해서 자신들의 종단 시스템에만 GPL(:12) 프로그램을 개작 사용하고 있을 경우, 이를 일반사용자로의 배포로 봐야하는가 하는 것입니다. 이에 대한 판단은 사회와 서비스의 종류에 따라 차이가 있을 것으로 생각됩니다.

GPL(:12) 프로그램을 판매할 수 있는가

자유와 무료, 공짜를 혼동하는 경우도 많은데, 자유와 무료와 공짜는 관계가 없습니다. 또한 GPL(:12)은 프로그램을 획득한 자가 "자유로이 배포할 수 있는 권리"를 보장하기 위한 라이센스입니다. 상업적인가 아닌가 혹은 비용이 필요한가 아닌가와는 아무런 상관이 없습니다.

즉 자유로이 배포할 수 있는 권리를 따르게 한다면 비용을 받고 파는 것도 문제가 되지 않습니다.

그러나 비용을 받고 판매한 개작된 프로그램은 GPL(:12)을 따라야 하기 때문에 구매한 자가 혼자 가지고 놀건, 공짜로 배포하건, 이걸 다시 개작해서 비용을 받고 배포하건 간에 이에 상관할 수 없습니다.

우리가 통상적으로 생각하는 "독점적인 권한"을 가지는 프로그램을 판매하거나 소스를 판매한다 하는 행위와는 매우 다르다는걸 알 수 있습니다. 그러므로 "소스코드를 판매한다"라는 것은 거의 의미없는 행위이며, 사실상 소스를 개작한데 따른 시간과 노력에 대한 비용을 청구한다는 개념으로 봐야 합니다.

GPL(:12) 전문에도, GPL(:12)을 따른다면 비용을 받고 소스를 판매하는걸 허용하고 있습니다.

GPL(:12)라이센스의 변경

라이센스의 변경은 독점적인 권한을 가진 저작권자만이 할 수 있습니다. 또한 저작권자라고 하더라도 이미 GPL(:12)의 적용을 받는 프로그램에 대해서는 라이센스를 변경할 수 없습니다. 즉 다음과 같은 경우가 가능합니다.
  1. 가나다라 1.0 버전을 GPL(:12)로 공개했다.
  2. 가나다라 2.0 을 만들었는데 이를 LGPL(:12), BSD 혹은 상용라이센스로 한다.
  3. 그러나 가나다라 1.0과 여기에서 파생된 소스들은 여전히 GPL을 따른다.
혹은 반대로 라이센스를 GPL로 변경하는 것도 가능할 겁니다.
  1. 개인 혹은 회사의 프로그램의 일체의 (소스까지를 포함한)권한을 구매한다.
  2. 해당 프로그램을 GPL(:12) 라이센스로 해서 공개한다.
어떤 회사가 돈을 받고 프로그램을 구입한다음에 GPL(:12)로 라이센스를 바꾸는 바보같은 짓을 할까.. 생각할 수 있겠지만. 최근에는 기업이미지, 개발자 커뮤니티의 확보등을 목적으로 이루어지는 경우도 어렵지 않게 찾아볼 수 있습니다.

제로보드가 대표적인 경우가 될겁니다. NHN에서 제로보드를 인수하고, 라이센스를 GPL(:12)로 바꾸어서 배포하는 형식입니다. 저작권을 가지고 있기에 가능한게 되겠죠.

GPL(:12)의 법적 효력

GPL(:12) 은 소셜라이센스 입니다. 사회적 합의에 따른 라이센스이며, 법적효력을 가질 것인지 아닌지에 대한 것은 나라와 문화에 따라 차이가 있을 수 있습니다.

그러나 상당한 영향력을 행사하고 있기 때문에, 법적으로 제한하지 않는 나라라고 하더라도 GPL(:12)을 무시하는건 현실적으로 불가능하다고 봐야할 겁니다. 우리나라는 관련법규가 아직 마련되지 않은걸로 알고 있는데, GPL(:12)의 영향력을 봤을때, 조만간 관련법규가 만들어질 것으로 기대됩니다.