0x012 Etc

[Etc] Open Source License Guide

KimSangLab 2017. 12. 29. 16:58

  Open Source 소프트웨어는 일반적으로 자유롭게 사용, 복제, 배포, 수정할 수 있으며, 소스코드가 공개된 소프트웨어를 말한다. Open Source 소트프웨어 역시 독점소프트웨어와 동일하게 저작권 등에 의한 법적 보호를 받고 있으며, 이와 같은 권리에 기반하여 이용자에게 라이센스를 부여한다. Open Source 라이센스에서 요구하고 있는 준수사항을 이행하지 않는 경우 권리자로부터 저작권 위반( 또는 계약 위반)으로 소송을 제기 당할 수 있다. 따라서 인터넷 상에서 자유롭게 구할 수 있는 오픈소스를 개발에 적용할 때는 반드시 라이센스 요구 사항을 확인해야한다. 주요 라이센스 별 요구 사항은 다음과 같다
 


GPL

   FSF(Free Software Foundation)에서 주도하여 만든것으로 BSD License 와 비슷하지만 카피레프트 조항과 소스코드 제공 의무를 가지고 있다는 점에서 큰 차이가 있다.

 
< 그림 1. GPL 관련 규정 >

 

   동일한 바이너리에 포함되지 않더라도 동적 링크 등의 방식으로 공유주소영역에서 링크되어 실행되도록 설계된 경우, 플러그인이 동적으로 링크되어 함수를 호출하고 데이터구조를 공유하는 경우에도 GPL 소프트웨어와 함께 링크되어 실행되는 소프트웨어에도 GPL 이 적용되어 소스코드를 제공해야한다. 반면 두 개의 프로그램이 파이프, 소켓, Command-Line Arguments 형태로 통신하는 경우, 플러그인이 fork() / exec() 을 이용하는 경우 등은 별도의 저작물로서 GPL 이 적용되지 않는다.


 

< 그림 2. GPL 관련 규정 >

 

< 그림 3. GPL 관련 상담 사례>


LGPL

  주로 라이브러리에 사용하기 위해 FSF( Free Software Foundation ) GPL 과는 별도로 만든 라이센스이다. 라이브러리에 GPL 라이센스를 적용하게 되면 응용프로그램까지 GPL로 배포해야 하므로 GPL의 내용을 약간 수정하여 라이브러리 자체를 수정한 경우에는 카피레프트 조항을 적용하고, 해당 라이브러리를 이용한 응용프로그램은 카피레프트 조항을 적용하지 않고 소스코드 제공 의무도 없다.  

BSD License

  버클리 대학에서 만든 라이센스로 소프트웨어를 재배포할 때 저작권 표시를 할 것과 준수 조건 및 보증부인에 대한 고지사항을 소스코드 도는 문서 및 기타 자료에 포함할 것을 요구 하고 있다.
 
Apache License

  아파치소프트웨어재단( Apache Software Foundation ) 에서 배포한 라이센스이다. 1.0 1.1 버전은 BSD License 와 유사하게 간단한 내용만 담고 있었지만, 현재 사용되는 2.0 버전은 비교적 상세한 내용을 담고 있다. 배포 시 의무사항으로는 저작권, 특허, 상표, 권리 귀속에 대한 고지사항을 소스코드 또는 “Notice” 파일 등에 포함할 것과 수취인에게 라이센스 사본을 제공하도록 요구하고 있으며 파일을 수정하여 배포할 경우 수정된 파일에 대해 수정사항을 표기한 안내 문구를 첨부할 것을 요구하고 있다.
  하지만 카피레프트조항( 원 코드나 수정코드를 재배포할 때 동일한 라이센스로 배포해야한다는 조항 )을 포함하고 있지 않기 때문에 반드시 동일한 라이센스로 배포할 필요는 없으며 소스코드 제공 의무도 없지만 Apache 라이센스 등이 요구하는 기타의 사항(저작권 및 개발자 표시, 수정내용 고지 등)은 준수해야한다.