본문 바로가기

Development

[Development] GPL 라이센스를 찾아보다가..

GPL 라이센스 너무 읽기 힘들어서 그냥 그런가 보다 하고 매번 넘어갔는데
관련한 자료 몇개가 있어서 그냥 종합해 봤습니다.

[각 라이센스 특징]
   1.공통점
        - 저작권문구유지
        - 제품명중복방지
        - 서로 다른 라이센스의 조합
   2. GPL- 특징
        - 수정 과  링크(정적/동적 모두)시켜 개발하는 경우 모두 GPL 따라야함
        - 배포하는 경우 소스를 어떤식으로든 공개해야함(포함 또는 소스코드경로)
   3. LGPL - 특징
        - 일부를 수정하는 경우 GPL 따라야 함
        - LGPL를 링크해서 개발하는 경우 소스공개 필요없음
   4. BSD - 특징
        - 저작권과 보증책임이 없다는 표시만 해주면됨
        - 수정프로그램 소스코드 공개필요없음.
   5. MPL - 특징
        - MPL 코드 수정한 부분은 다시 MPL 에 의해 배포
        - MPL 코드와 다른코드를 결합해여 만들경우 MPL 코드를 제외한 결합 프로그램에 대한 소스 공개 필요없음.


[각 라이센스 - 비교표]
라이센스
종류
계약 동의 행위 배포시
라이센스
계승 의무
변경부분
소스코드
공개 의무
변경 배포시 SW전체에 대해 다른 코드와 결합 시
소스코드
비공개
변경 금지 다른 코드에
라이센스 파급
배포 시 다른 코드에
대해 소스코드 비공개
배포 시 다른 코드에
대해 변경 금지
GPL 변경, 배포 O O X X O X X
LGPL 변경, 배포 O O X X X O O
MPL 규정없음 O O X X X O O
BSD 규정없음 O X O O X O O


[GPL  - Q&A]
  1. GPL라이센스를 따라 만든 프로그램을 무조건 소스공개할 필요는 없다.
    -> 그렇다.  배포를 했을때만 소스공개를 해야 한다.
    -> redhat 에게 linux 를 배포(=구매)받지 않은 자가 소스공개를 요구할수는 없다.
        단, 배포(=구매)받은 사용자가 공개받은 소스를 공개해도 막을 수 없다.
  2. 개발비 1억을 들여 GPL 라이센스가 있는 소프트웨어를 수정해서 100만원에 판매했는데
       이것을 사서 약간 수정후에 50만원에 팔수 있는가?
     -> 있다.
  3. GPL을 소스에 사용한 프로그램은은 아무리 적은 부분이 들어 있어도 GPL 을 따라야 한다?
     -> 따라야 한다.
  4. GPL 은 일반적으로 운영체제와 함께 배포되는 기본적인 라이브러리가 아닌 비공개 독점
     라이브러리와 링크되는 것을 허용하지 않는다.
     -> 맞다. 라이브러리로 된 GPL 프로그램을 가져다가 Link 해서 써도 GPL 을 따라야 한다.
         일부만 GPL 을 사용할수는 없다.
  5. 서버에 GPL 코드로 만든 것을 심고 배포가 아닌 서버로 서비스하면 소스공개해야 하나?
     -> 안해도 된다.(아싸~) 그렇지만, AGPL 에서는 해야한다.

[출처]
http://kldp.org/node/42009
http://wiki.kldp.org/wiki.php/OpenSourceLicenseGuide
http://nokura.tistory.com/56