오픈소스 라이선스 (open source license)

2023. 11. 30. 19:01오픈소스

1. 라이선스

  • 소프트웨어의 사용을 장려하도록 하는 것.
  • 제품, 코드 제작자의 이익, 이해 관계를 최대가 되는 합의 결과.
  • 제작자의 철학, 조건을 존중한다.

2. 오픈소스의 사용의의

  • 오픈 소스를 사용함으로써 코드 제작을 효율적으로 할 수 있으며 버전 관리에 용의하다.
  • 비슷한 사업, 제작을 할 경우, 먼저 코드를 공개하여 회사의 강인함을 알리고 이미지 상승이 용의하다.
    • 공개를 함으로써 기술의 원천지를 증명이 가능하다.
  • 코드가 지저분하게 제작되어 있더라도 많을 사람들이 수정을 거치며 더 깔끔한 코드로 완성된다.
  • 보안 취약점이 노출 될수 있지만, 더 많은 사람들, 소프트웨어를 사용하게될 회사에서 코드를 수정하며 개선한다.

3. 오픈 소스 라이선스 정의

    :소프트웨어 또는 제작물의 저작권이 존재하지만, 공개하여 소스코드를 누구나 자유롭게 사용, 복제, 배포, 수정 활용할 수 있게 하는것.

 

    • OSI의 오픈소스 정의이자 책임

OSI의 오픈소스의 정의이자 책임조항들

4. 오픈소스의 주요 라이선스

 

대표적인 2가지 방식

  1. Free software(by 리처드 스톨먼)
    • 프로그램을 자유롭게 실행 가능하다.
    • 연구하고 수정을 자유롭게할 수 있다.
    • 재배포가 자유롭다.
  2. Open source software(by 에릭 레이먼드)
    • 실용적인 개발 방식에 초점을 두었다.
    • 프로그램 개발에 참여한 산업계, 개발자, 개인들에게 적절한 권리와 보상을 주는것이 가능하다.

라이선스 분류별 의무사항

라이선스의 대표적인 형태

  1. Permissive
    • 자유로우며 별다른 의무사항이 없다.
  2. Week copyleft
    • 자유롭게 사용가능하지만, permissive 형태에서 추가적인 조항이있다.
    • 보통 수정된 코드를 공개하는 것이다.
  3. Strong copyleft
    • Week copyleft에서 추가적인 조항이있다.
    • 소스코드 전체 공개, 보호조치, 설지정보의 제공등의 조항이있다.

주요 라이선스의 예시

  1. GPL 2.0
    • 특징
      • 자유로운 사용 복제 배포 수정이 가능하다.
      • 저작권을 표시해야하며 보증하지 않는다.
      • 모든 소스코드가 공개된다.
      • 공개범위는 GPL전체이다.
    • 의무사항
      • 실행파일의 배포
        • 기계판독 가능한 모든 소스코드.
        • 운영체제 구성요소를 제외한 모든 컴파일 인터페이스 공개.
      • 이러한 의무사항을 유지하지 않으면 배포가 불가능하다.
    • 기타 사항
      • 수정파일을 인터넷으로 확인이 볼가하거나 따로 첨부하기 어려운 경우 동등한 접근방식으로 배포하거나 유효소스코드 제공 약정서를 부여하면 가능하다.
    • GPL3.0
      • 2000년대초 embeded software로 인하여 만들어졌다.
      • 장비에도 소프트웨어가 탑제되어 있기 때문이다.
      • 차이점
        • 기술적 보호조치 금지
        • 네트워크 서비스에 관한 조항
        • 배포라는 단어를 컨배이라는 단어로 수정하여 범위 확장
        • 복제 --> 전파(저작물등 정보통신 관련 모든것)
  2.  LGPL 2.0
    • 특징
      • GPL과 유사하나 라이브러리 링크 방식이며 공개 범위는 모든 라이브러리 코드이다.
      • 코드를 제한적으로 공개한다.
        • 라이브러리를 수정했을경우 LGPL과 관련된 의무를 이행한다.
        • 단순히 링크를 걸었다면 그 코드를 공개할 필요는 없으며 고지만 한다.
    • LGPL 3.0
      • GPL2.0과 마찬가지로 시대가 변화함에 따라 변화가 발생하였다.
  3.  MPL 1.1 (week copyleft)
    • 특징
      • 만약 수정한다면 공개한다 또한 무상 특허 권리를 보장한다.
      • 공개 범위는 수정된 해당 파일이다.
      • 독점이나 특허가 불가능 하며, 만약 특허가 발생했을 경우 보복 조치가 이루어진다.
    • MPL 2.0
      • 동일 조건이 아닌 다른 라이선스 호환이 가능하다.
  4.  EPL
    • 특징
      • MPL과 유사하나 수정된 코드를 모듈단위로 공개한다.
  5. 그외
    1. apache 2.0(permissive) ex) 안드로이드
    2. MIT (permissive) --> 상업적 이용 가능
    3. BSP-2-Clavse (ver 2 3 4가 있다.)
    4. 등 다양한 라이선스가 존재 한다.

--> 이들을 관리하기 위해 다양한 툴을 활용하여 라이선스를 확인하고 활용한다.

 

5. 고지의무를 이행하는 방법

  1. File scope approach 
    • 개별 파일마다 고지
  2. Centralized approach
    • 중앙파일( ex) lisence.txt)에 종합하여 모두 고지
  3. Hybrid approach
    •  1번과 2번 방식을 사용
  4. Written offer
    • 제품 설명서 또는 다른 다양한 방식으로 코드에 접근할 수 있는 방식을 설명한다.
    • 보통 가전제품에 많이 활용되며 연락처, 링크등를 통하여 접근 가능하게 한다.

 

 

'오픈소스' 카테고리의 다른 글

오픈 소스의 소스코드 공개 방식  (0) 2023.12.21
오픈소스(open source)가 왜 중요한가?  (0) 2023.11.15
오픈소스란 무엇인가?  (0) 2023.11.15