자유/오픈 소스 소프트웨어 라이센스에 대하여…

아무개 회사에 인턴 지원하려고 작성한 글이긴 하지만, 평소에 조금씩 쓰고있던 주제라서 여기 포스팅한다. 아무래도 포스팅 목적으로 쓰게된 글이 아니라서 어울리지 않게 문체가 좀 딱딱해졌다.

자유 소프트웨어와 오픈 소스 소프트웨어(이하 F/OSS)의 배포를 위해서 여러가지 라이센스가 존재한다. 이 라이센스들은 저작권을 인정하지 않는다고 오해하는 경우가 많은데, 이런 인식과는 달리 오히려 저작자의 저작권을 보호하고, 그 권리를 존중하기 위해서 존재한다. 대신 이윤 극대화를 위한 상업적인 라이센스와는 달리 F/OSS로 사용될 수 있도록 하는 저작자의 의도를 보호하기위한 라이센스라는 점이 상업적인 라이센스와 다른 점이다.

자유 소프트웨어 라이센스로 가장 대표적인 것이 자유소프트웨어재단의 GNU 일반공중사용허가(GNU GPL)를 들 수 있다. 이 라이센스는 리차드 스톨만이 GNU 프로젝트를 시작하면서 만든 라이센스로, 다음과 같은 네가지 자유를 보장하는 소프트웨어를 '자유 소프트웨어'라고 정의하면서, 그러한 네가지 자유를 보장하기 위해서 만들어진 라이센스이다.

  1. 컴퓨터 프로그램을 어떤 목적으로든지 사용할 수 있다.
  2. 컴퓨터 프로그램의 복사를 언제나 프로그램의 코드와 함께 판매 또는 무료로 배포할 수 있다.
  3. 컴퓨터 프로그램의 코드를 용도에 따라 변경할 수 있다.
  4. 변경된 컴퓨터 프로그램 역시 프로그램의 코드와 함께 자유로이 배포할 수 있다.

이 자유를 보장하기 위해서 배포시에는 꼭 소스코드를 배포해야한다는 특징도 있지만, 이 라이센스가 여타 F/OSS 라이센스와 다른 가장 큰 특징으로는 '전염성'을 들 수 있다. '전염성'이란, GPL로 배포한 소프트웨어를 사용, 개작하여 소프트웨어를 배포할 경우는 반드시 GPL로 배포해야한다는 것이다. 이점에는 많은 논란이 있는데, 내가 받은 만큼 남에게 베풀어야 한다는 점에서는 자연스러워보이지만, 상업적인 라이센스로서는 라이센스를 마음대로 할 수 없다는 제약이 발생한다는 것이 문제점으로 꼽힌다. 하지만, 한번 자유 소프트웨어로 만들어진 소프트웨어를 계속 자유 소프트웨어로 존재하게 만든다는 점때문에 많은 자유소프트웨어들이 이 라이센스를 채택하고 있다.

GPL 소프트웨어가 비 자유 소프트웨어와 통합될 때에 발생하는 문제를 해결하고자 LGPL(Lesser GPL)을 별도로 만들었다. 이는 주로 라이브러리에 주로 채택되는데, 이 라이센스로 배포한 소프트웨어를 사용하는 소프트웨어는 GPL 과는 달리 '전염되지 않는다'는 특징이 가진다.

또, 다른 자유 소프트웨어 라이센스로 유명한 것이 BSD 라이센스가 있다. 이 라이센스는 GPL 보다도 더 자유로운 라이센스로 소프트웨어의 사용, 개작, 배포에 관한 어떠한 제약도 존재하지 않는다. 예전에는 그나마 기여한 제작자의 이름을 명시해야 한다는 제약이 있었지만, 개정을 통해서 이 제약마저도 사라져, 완전한 자유를 보장하는 라이센스라고 할 수 있다. 이 라이센스를 채택한 소프트웨어에 대해서는 개작해서 비공개 소프트웨어로 판매하는 것도 가능하다. 아파치 라이센스의 경우는 BSD 라이센스와 거의 동일한 내용을 담고 있다.

다른 라이센스로는 모질라 프로젝트를 위한 라이센스인 MPL이 있다. 이 라이센스는 소스코드와 실행파일에 대해서 각각 다른 제약사항을 두고 있는 것이 특징이다. 이 라이센스로 배포한 소프트웨어를 개작한 경우, 소스코드를 반드시 공개하고 최초의 저작자에게 변경사항을 통지해야한다는 제약사항이 있지만, 실행파일의 경우에는 자유롭게 라이센스를 선택하여 배포할 수 있다. 이 점때문에, 저작자의 이익을 보장하면서 오픈소스를 유지하는 상용 오픈소스 라이센스의 주요 모델이 되었다.

이 외에도 여러가지 F/OSS를 위한 라이센스가 있지만, 주로 위의 세가지 라이센스를 모델로 하여 필요에 따라서 조금씩 수정된 형태로 만들어지고 있다.

완전한 자유를 보장하는 BSD 라이센스, 자유 소프트웨어의 본질을 지키기 위해서 필요악(최소한의 제약)을 가진 GPL, OSS를 장려하면서 상업적인 이익을 보장하려는 MPL, 이렇게 여러가지 라이센스가 존재하게 된 이유는 여러가지 상황이 존재하기 때문이다. 하지만, 이 모든 라이센스들이 F/OSS를 개발하는 개발자들을 보호하고, 자유롭게 이용할 수 있도록 보장하는 역할을 하고 있다.

7 Responses to “자유/오픈 소스 소프트웨어 라이센스에 대하여…”

  1. 박선식 said:

    Jan 14, 07 at 1:39 오전

    오호 잘 썼는데 ^^

    근데 언제 인턴 지원했냐??

  2. mEye said:

    Jan 14, 07 at 9:25 오전

    박선식//그것땜에 알바도 하지않고 있었는데, 보기좋게 서류 전형에서 떨어지더만..;;

  3. Lucas said:

    Jan 14, 07 at 11:14 오전

    웁스~ 안타깝네 ;;
    난 넣을 생각도 못하는데 ..^^

  4. 김두원 said:

    Jan 19, 07 at 4:26 오후

    GPL 4번에서 한가지가 빠진거 같네요^^ㅋ
    변경된 컴퓨터 프로그램 역시 프로그램의 코드와 함께 자유로이 배포할 수 있다
    =>변경된 컴퓨터 프로그램 역시 GPL 라이센스를 따르며 프로그램의 코듸와 함께 자유로이 배포할 수 있다.

  5. mEye said:

    Jan 19, 07 at 9:51 오후

    김두원//저 네가지는 GPL에 관한 설명이라기보다는 FSF에서 말하는 자유소프트웨어의 정의라서 저게 맞아. 파생 소프트웨어가 GPL을 따르는 것은 GPL의 '전염성'이라는 특징때문에 그런거고…^^

  6. 선식 said:

    Jan 19, 07 at 10:25 오후

    'GPL의 전염성' 이라는 특징 때문에 그런다는 것은 강제적인 사항이 아니라는 이야기인가?

  7. mEye said:

    Jan 20, 07 at 9:24 오전

    선식//이미 'GPL을 따라야한다'는 것은 자유가 아니잖아? FSF는 그 전염성을 자유소프트웨어가 자유소프트웨어로 존재하기 위한 최소한의 필요악이라고도 하지.
    그래서, 자유를 보장하면서 아무런 제약이 없는 BSD라이센스야 말로 진정한 자유소프트웨어 라이센스라고 하는 사람도 있지.


Leave a Reply