본문 바로가기
개발관련기타

오픈소스 라이선스 정리

by Empering 2020. 9. 21.
반응형

오픈소스 라이선스란?

오픈소스 라이선스란 오픈소스 개발자와 이용자 간에 이용 방법 및 조건의 범위를 명시한 계약이다. 따라서 오픈소스를 이용하기 위해서는 개발자가 규정한 라이선스를 지켜야 하며, 이를 위반할 경우에는 라이선스 위반 및 저작권 침해가 발생하고, 이에 대한 책임을 지게 된다.

이런 오픈소스 라이선스는 기본적으로 이용자의 자유로운 사용을 보장하고 있다. 오픈소스가 이와 같은 라이선스를 만들어서 운영하는 이유는 오픈소스를 이용하여 개발한 에 대해서도 법의 테두리 안에서 소스코드를 공개하도록 하기 위한 것이다.


오픈소스 의무사항 종류

  • 라이선스 정보의 제공
      <Apache 2.0>
      1. You must give any other recipients of the Work or Derivative Works
      a copy of this License.
  • 이용자들이 오픈소스에 관한 권리를 잘 이해할 수 있도록 배포자가 해당 라이선스의 사본을 함께 첨부할 것을 요구하고 있다.
  • 코드를 수정한 경우 수정한 정보의 표시
      <Apache 2.0>
      2. You must cause any modified files to carry prominent notices stating that
      You changed the files. 
  • 이용자가 소스코드를 수정하였을 때에는 수정한 사람, 수정 일자 등 수정에 관한 내용을 포함하도록 함으로써, 원본과 구별할 수 있도록 한다. 저작인격권의 하나인 동일성유지권에 비유할 수 있다.
  • 저작권, 개발자 및 기여자 정보의 표시
     <Apache 2.0>
     3.  You  must  retain,  in  the  Source  form  of  any  Derivative  Works  that
     You  distribute,  all  copyright, patent,  trademark,  and  attribution  notices
     from  the  Source form of the Work.
  • 개발자 또는 기여자에 관한 사항과 저작권에 관한 사항을 제품에 표시하거나 포함하도록 요구하고 있다. 마치 저작인격권의 하나인 성명표시권과 유사하다.
  • 동일한 라이선스로 재배포할 것 (카피레프트)
      <GPL 2.0>
      2. You may modify your copy or copies of the Program or any portion of it,
      thus forming a work based on the Program, and copy and distribute such modifications
      or work under the terms of Section 1 above, provided that you also meet all of these conditions:
    
      b) You must cause any work that you distribute or publish, that in whole or in part contains
      or is derived from the Program or any part thereof, to be licensed as a whole at no charge to
      all third parties under the terms of this License.
  • GPL을 대표로 하는 카피레프트 라이선스들은 이용자들이 소프트웨어를 수정한 후 배포하고자 할 때 수정된 소프트웨어도 동일한 라이선스로 배포할 것을 요구한다.
  • 소스코드의 제공
      <GPL 2.0>
      3. You may copy and distribute the Program (or a work based on it, under Section 2)
      in object code or executable form under the terms of Sections 1 and 2 above provided that
      you also do one of the following:
    
      a) Accompany it with the complete corresponding machine-readable source code,
      which must be distributed under the terms of Sections 1 and 2 above on a medium customarily
      used for software interchange; or,
    
      b) Accompany it with a written offer, valid for at least three years, to give any third party,
      for a charge no more than your cost of physically performing source distribution,
      a complete machine-readable copy of the corresponding source code,
      to be distributed under the terms of Sections 1 and 2 above on a medium customarily
      used for software interchange; or,
    
      c) Accompany it with the information you received as to the offer to
      distribute corresponding source code.
      (This alternative is allowed only for noncommercial distribution and only
      if you received the program in object code or executable form with such an offer,
      in accord with Subsection b above.)    
  • 카피레프트 조항을 포함하는 라이선스의 경우, 소프트웨어를 배포할 때 소스코드까지 함께 배포하도록 요구한다.

오픈소스 라이선스 종류

BSD 형 라이선스

BSD형 라이선스에는 BSD, MIT, Apache 라이선스 등이 포함되며, 비교적 오랜 역사를 가진 라이선스들이다. 이들 라이선스는 카피레프트(Copyleft) 조항을 포함하지 않으며, 의무사항도 비교적 간단하다.

  • BSD
    • 소스코드 제공의무 없음
  • Apache
    • 소스코드 제공의무 없음
      • 라이선스 소스코드를 수정한경우 수정사항을 고지
  • MIT
    • 소스코드 제공의무 없음

GPL형 라이선스

GPL형 라이선스에는 GPL 2.0, GPL 3.0, LGPL 2.1, LGPL 3.0, AGPL 3.0 등이 포함되며, 대부분 FSF(Free Software Foundation)에서 주도하여 만든 것이다. 비교적 오랜 역사를 가진다는 점에서 BSD와 비슷하지만, 카피레프트 조항과 소스코드 제공 의무를 가지고 있다는 점에서 큰 차이가 있다. 카피레프트의 적용 범위 및 소스코드 제공 의무의 범위는 GPL, LGPL, AGPL 각각에 차이가 있다.

  • GPL
    • 배포 시 소스코드 제공의무
  • LGPL
    • 배포 시 소스코드 제공의무
    • 단순히 라이브러리를 링크한경우는 소스코드 공개 의무 없음
  • AGPL
    • 배포 시 소스코드 제공의무
    • LGPL과 동일하지만 서버에서 프로그램을 실행해 통신하는 경우에도 소스코드 공개의무가 생김

참고

반응형

댓글