시스템구조

오픈소스 라이선스_GPL 2.0, GPL 3.0, LGPL, BSD, Apache, MPL

스윙스윙 2021. 9. 30. 21:57

▣ 오픈소스 라이선스_GPL 2.0, GPL 3.0, LGPL, BSD, Apache, MPL

 

  무료 이용가능 배포 허용가능 소스코드 취득가능 소스코드 수정가능 2차적 저작물 재공개 의무 독점SW와 결합가능
GPL O O O O O X
LGPL O O O O O O
MPL O O O O O O
BSD 라이선스 O O O O X O
아파치 라이선스 O O O O X O

 

오픈소스SW 라이선스의 의무사항은 각각의 라이선스마다 조금씩 차이가 있지만 크게 나누어 보면 공통적으로‘저작권관련문구유지’,‘ 제품명 중복방지’,‘ 서로 다른 라이선스의 SW 조합시 조합 가능 여부확인’등이있고, 선택적으로는‘소스코드공개’,‘ 특허관련사항준수’등이 있다.

GNU GPL 2.0

GPL은 현재 가장 많은 오픈소스 소프트웨어가 채택하고 있는 라이센스이다.

오픈소스 라이센서들 중에서 가장 많이 알려져 있고 의무사항들도 타 라이센스에 비해 엄격한 편이다.

  • SW를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 GPL에 의해 배포된다는 사실을 명시
  • SW를 수정하거나 새로운 SW를 링크(Static과 Dynamic linking 모두)시키는 경우 GPL에 의해 소스코드를 제공해야 함
  • Object Code 또는 Executable Form으로 GPL SW를 배포하는 경우, 소스코드 그 자체를 함께 배포하거나 또는 소스코드를 제공받을 수 있는 방법에 대한 정보를 함께 제공해야 함
  • 자신의 특허를 구현한 프로그램을 GPL로 배포하는 경우에는 그 프로그램을 GPL 조건에 따라 이용하는 이용자에게 특허에 대한 사용료를 받을 수 없으며, 제3자의 특허를 구현한 프로그램인 경우에는 그 특허권자가 GPL 조건에 따라 이용하는 프로그램 이용자에 대하여 특허 사용료를 받지 않을 때에만 그 프로그램을 GPL로 배포하는 것이 가능

GPL 3.0

기본적인 내용은 GPL 2.0과 동일하지만 GPL 3.0에서는 몇가지 추가되거나 변경된 부분이 있다.

  • GPL 3.0의 소스코드를 특정한 제품에 포함시키거나 혹은 그와 함께 배포하는 경우에는 해당 소스에 설치 정보(Installation Information)를 함께 제공해야 함. 다만 SW가 롬(ROM)에 설치된 경우처럼, 해당제품의 제조업체나 여타 제3자도 수정된 코드를 제품에 설치할 수 없는 경우에는 설치정보를 제공하지 않아도 됨
  • DRM(Digital Rights Management)9)과 관련하여 각국의 법률에 의해 보호되는 이익을 포기 해야 함
  • 특허와 관련해서 원래의 소스코드를 개선하여 배포한 기여자의 경우 자신이 기여한 부분에 대해서는 비차별적이고 특허 사용료가 없다는 내용의 라이선스를 제공해야 함
  • 특허와 관련해서 라이선시 등으로부터 특허소송이 제기되는 경우 소송을 제기한 날에 특허소 송을 제기한 라이선시의 오픈소스SW 라이선스는 종료됨
  • Apache License 2.0 및 Affero GPL과 양립 가능함

GNU Lesser GPL(LGPL) 2.1

GPL 라이센스를 사용하기만 해도 소스코드를 공개해야 한다는 부담 때문에 라이브러리와 모듈로의 링크를 허용한 라이선스이다

원래는 한정된 라이브러리에만 적용하려는 의로도 'Library GPL'이라는 이름을 붙였으나, 모든 라이브러리에 적용된다는 오해를 사 2.1 버전으로 'Lesser GPL'로 변경되었다.

⇒ 잠깐! 여기서 'Lesser란?' → (크기.양.중요성이) 더 적은, 덜한

  • SW를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 LGPL에 의해 배포된다는 사실을 명시
  • LGPL 라이브러리의 일부를 수정하는 경우 수정한 라이브러리의 소스코드 공개
  • LGPL 라이브러리에 응용프로그램을 링크시킬(Static과 Dynamic Linking 모두) 경우 해당 응용프로그램의 소스를 공개할 필요 없음. 다만 사용자가 라이브러리 수정 후 동일한 실행 파일을 생성할 수 있도록 Static Linking시에는 응용프로그램의 Object Code를 제공해야 함
  • 특허의 경우 GPL과 동일함

Berkeley Software Distribution(BSD) License

BSD 라이센스는 GPL/LGPL보다 덜 제한적이기 때문에 허용 범위가 넓다.

가장 큰 차이점은 소스코드를 공개하지 않아도 된다는 점이다.

  • 소프트웨어를 배포하는 경우 저작권 표시, 보증 책임이 없다는 표시
  • 수정 프로그램에 대한 소스 코드의 공개를 요구하지 않기 때문에 상용 소프트웨어에 무제한 사용가능

Appache License

아파치 라이선스(Apache License)는 아파치 웹서버를 포함한 아파치 재단(ASF: Apache Software Foundation)의 모든 SW에 적용되는 라이선스로 BSD 라이선스와 비슷하여 소스코드 공개 등의 의무가 발생하지 않는다. 다만“Apache”라는 이름에 대한 상표권을 침해하지 않아야 한다는 조항이 명시적으로 들어가 있고, 특허권에 관한 내용이 포함되어 BSD 라이선스보다는 좀 더 법적으로 완결된 내용을 담고 있다. 특히 아파치 라이선스 2.0에서 특허에 관한 조항이 삽입되어 GPL 2.0으로 배포되는 코드와 결합하는 것이 어렵다는 문제가 었었는데, GPL 3.0 에서는 이 문제를 해결하여 아파치 라이선스로 배포되는 코드가 GPL 3.0으로 배포되는 코드와 결합하는 것이 가능해졌다.

  • “Apache”라는 이름에 대한 상표권을 침해하지 않아야 함
  • SW를 배포하는 경우 저작권 표시, 보증책임이 없다는 내용을 표시
  • 수정프로그램에 대한 소스코드의 공개를 요구하지 않기 때문에 상용 SW에 무제한 사용가능

MPL(Mozilla Public License)

MPL은 Netscape 브라우저의 소스코드를 공개하기 위해 개발된 라이선스로 공개하여야 할 소스코드의 범위를 좀 더 명확하게 정의하고 있다. 즉, GPL에서는 링크되는 SW의 소스코드를 포함하여 공개하여야 할 소스코드의 범위가 모호하게 정의되어 있지만 MPL에서는 링크 등의 여부에 상관없이 원래의 소스코드가 아닌 새로운 파일에 작성된 소스코드에 대해서는 공개의 의무가 발생하지 않는다.

  • SW를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 MPL에 의해 배포된다는 사실을 명시
  • MPL 코드를 수정한 부분은 다시 MPL에 의해 배포 
  • MPL 코드와 다른 코드를 결합하여 프로그램을 만들 경우 MPL 코드를 제외한 결합 프로그램 에 대한 소스코드는 공개할 필요가 없음
  • 소스코드를 적절한 형태로 제공하는 경우, 실행파일에 대한 라이선스는 MPL이 아닌 다른 것 으로 선택가능
  • 특허기술이 구현된 프로그램의 경우 관련 사실을‘LEGAL’파일에 기록하여 배포

2018년 97번

정답 : 4번

 

LGPL 라이브러리에 응용프로그램을 링크시킬(Static과 Dynamic Linking 모두) 경우 해당 응용프로그램의 소스를 공개할 필요 없음. 다만 사용자가 라이브러리 수정 후 동일한 실행 파일을 생성할 수 있도록 Static Linking시에는 응용프로그램의 Object Code를 제공해야 함

 

GPL 2.0 라이선스로 SW를 수정하거나 새로운 SW를 링크(Static과 Dynamic linking 모두)시키는 경우 GPL에 의해 소스코드를 제공해야 함

 


2013년 80번

정답 : 1번

하이브리드 라이선스가 아니라 듀얼 라이선스(dual license)임

 


2020년 37번

정답 : 1번

허용적 라이선스
(Permissive license)
기존 라이선스의 수정을 금지하지 않는 라이선스임. 이러한 라이선스가 적용된 오픈소스를 그대로, 또는 그 수정물, 파생물을 재배포하는 경우 재배포자는 기존 라이선스의 내용을 따라야 하지만 기존 라이선스와 다른 라이선스로 재배포할 수 있음

Apache 2.0, BSD-2, BSD-3, MIT
약한 카리레프트 라이선스
(Weak copyleft license)
약한 카피레프트 사항을 가지는 것으로 분류되는 라이선스. 오픈소스코드 및 라이선스에서 정의하고 있는 파생물 범위에 한함

EPL 1.0, EUPL 1.0, LGPL 2.1, LGPL 3.0, MPL 2.0, MS-PL이 약한 카피레프트 라이선스로 분류됨
강한 카피레프트 라이선스
(Strong copyleft license)
강한 카피레프트 사항을 가지는 것으로 분류되는 라이선스. 수정물 뿐 아니라 파생물 전체에 동일한 라이선스를 적용할 것을 요구함. 즉 재배포시에는 기존의 라이선스를 그대로 적용하여 재배포해야 하며, 다른 라이선스는 동일한 규정일지라도 적용할 수 없음

GPL 2.0, GPL 3.0, AGPL 3.0이 강한 카피레프트 라이선스로 분류됨