본문으로 바로가기

아래의 글은 어디선가 copy 해놓은것인데.. 기억이 나질 않는다.. ㅠ


GNU는 GPL과 LGPL로 구분됩니다.
GNU는 그 내용 자체가 상당히 복잡하고 방대하기에 별도로 문서를 읽어보실 것을 권해드립니다.
큰 차이점만 말씀드리자면
  
<GPL>
- 라이브러리/프로그램 모두 적용
- GPL을 가진 프로그램(라이브러리)을 포함해서 제작된 프로그램 역시 GPL을 준수해야 함
- GPL의 원시 코드를 사용한다는 것은 GPL에 동의한 것으로 간주됨
- 프로그램의 원시코드+목적코드가 반드시 함께 공개되어야 함,
  목적코드만 배포할 경우 원시코드를 반드시 인터넷으로 배포하고 다운받을 수 있도록 해야함.
- 반드시 무료로 배포되어야 하며, 배포를 위해 소요되는 금액을 청구하는 것은 가능.
  
<LPGL>
- 라이브러리에만 적용
- 독점 프로그램에 사용 가능하지만, 반드시 GPL의 준수항목을 지켜야 함.
- 개작한 프로그램 역시 LPGL을 무조건 따라야 함
- 프로그램이 라이브러리와 함께 배포시 정적/공유든 상관없이 최초 라이브러리로부터 파생된 2차 저작물로 간주됨
  
<공통>
- 원시 코드의 무료 배포 및 공개를 원칙으로 함
- 배포시 피양도자에게 모든 코드에 대한 권한이 양도됨
- 라이센스를 반드시 명시하며 허가서를 반드시 포함해야 함
- 원시 코드를 개작하는 경우에도 라이센스는 유효  
  
복잡하지요?
정리하자면 상용 프로그램에서는 절대 GPL의 소스를 가져다 쓰실 수 없습니다.
상용 어플에서 GPL소스를 가져다 쓰시려면 모든 소스를 공개하셔야 하며 무료로 배포하셔야 합니다.
상용 프로그램에서 LGPL을 따르는 라이브러리는 가져다 쓰실 수 있으나 이 역시 어디어디 소스를 가져다 썼다~~라고
반드시 명시하셔야 하며 엔드유저가 다운받을 수 있도록 링크를 명시하셔야 합니다.
LGPL의 경우 라이브러리를 수정했다한들 이거 내가 더 좋게 수정했어 라이센스는 따르지 않아도 된다~~가 아니라
개작할 경우에도 반드시 LGPL입니다. LGPL은 라이브러리에만 국한됩니다.
즉 LGPL을 따르는 라이브러리 사용시 프로그램은 LGPL이 되지 않으며 전체 소스에 대한 공개 의무 역시 없습니다.

 

'블로그 (Blog) > 개발로그 (Devlogs)' 카테고리의 다른 글

C에서 iconv를 이용한 인코딩 변환  (0) 2024.03.18
Msys2  (0) 2024.03.18
libconfig  (0) 2024.03.18
Virtual frame buffer driver  (0) 2024.03.18
오픈소스 LSF 기반의 스케쥴러 openlava  (0) 2024.03.18