1. 오픈 소스

라이선스 방식을 통해 배포된 소스코드를 자유롭게 복사, 수정, 사용, 재배포할 수 있는 소프트웨어

누구나 버그를 수정하거나 개조하여 기능 추가 가능

개발자에게 프로그램 배포 권리, 소스 코드 접근 권리, 소스 코드 수정 권리를 제공

 

2. 오픈 소스 법적 책임

오픈 소스 라이선스 반드시 준수

최악의 경우 법정 소송으로 연루될 수 있음

 

3. 소프트웨어 지식재산권

저작권(Copyright)

  - 창작물에 대하여 창작자(저작자)가 취득하는 권리로서 창작의 결과물을 보호하며, 창작과 동시에 권리 발생

  - 프로그래머가 소프트웨어를 개발하면 저작권이 자동적으로 발생하며, 그 권리는 프로그래머 또는 그가 속한 회사에 부여됨

  - 저작권이 있는 저작물은 저작권자의 허락없이 누구도 해당 저작물을 복제, 배포, 수정할 수 없음

 

특허권(Patent)

  - 발명에 관한여 발명자(특허권자)가 갖는 독점 배타권

  - 일정한 방식으로 출원을 해야하며, 심사를 통과한 후 등록되어야만 권리 발생

  - 특허기술을 사용하기 위해서는 반드시 특허권자의 허락을 받아야함

  - 특허받는 방식을 구현하는 소프트웨어라면 프로그래밍 언어에 상관없이 특허권의 범위에 속함

  저작권 특허권
권리 발생 창작과 동시에 발생 특허 출원, 심사, 등록
권리 내용 인격권(공표권, 성명 표시권, 동일권 유지권),
재산권(복제권, 개작권, 배포권, 전송권)
독점배타권 실시권
효력 범위 표현(코드)의 실질적 유사성 아이디어(알고리즘, 기능)의 동일성

 

4. 소프트웨어 라이선스

소프트웨어에 대한 독점배타권을 가진 권리자는 다른 사람들이 해당 소프트웨어를 사용하거나 배포하는 것을 허락할 수 있음 라이선스는 자신의 저작물을 다른 사람이 사용, 복사, 수정, 배포 등을 할 수 있도록 허가

 

5. 오픈 소스 라이선스

오픈 소스에도 저작권 등 지식재산권이 있으며,권리자의 허락 없이 함부로 사용하면 소송을 당할 수 있음

 

• 그러나, 오픈 소스의 권리자들은 많은 사람들이 자유롭게 사용할 수 있도록 광범위한 라이선스를 부여

  - 사용자들에게 사용에 대한 권리 뿐만 아니라 마음대로 복제 및 배포를 할 수 있도록 하고, 소스코드까지 제공하여 마음대로 수정할 수 있도록 허락하며, 이를 위해서는 이러한 권한을 명시적으로 나타내는 오픈 소스 라이선스가 필요함

  - 따라서, 오픈 소스 라이선스가 적용되지 않은 소프트웨어는 오픈 소스가 아니며, 저작권자를 제외한 누구도 그 소프트웨어를 사용, 복제, 수정 및 배포할 수 없음

 

주의사항

  - GitHub에 공개된 프로젝트라고 해서 오픈 소스인 것은 아니며, GitHubPublic 프로젝트는 GitHub’s Terms of Service가 적용되어서 다른 사람들이 나의 프로젝트를 보거나 Fork 할 수는 있지만 다른 권한은 부여하지 않음

  - 오픈 소스 프로젝트라면 많은 사람들이 자유롭게 사용, 수정, 배포하고 또다시 기여할 수 있도록 오픈 소스 라이선스가 적용돼야 함

 

라이선스가 없는 코드라면?

  - 코드에 라이선스가 명시되어 있지 않다면, 그 코드를 사용할 수 있는 권리는 여전히 저작권자에게만 있다는 것임 코드를 사용할 권리가 없으며, 그 코드를 회사의 제품 혹은 서비스에 포함시킬 수 없음

  - 꼭 필요한 코드라면 코드의 저작자에게 연락하여 다음과 같이 요청 필요

  “We’d love to use this code in a project of ours and wanted to make sure that you are OK with it. Would you be willing to add an OSI-approved license like the MIT or the Apache License to the project so that we know this is really open source?”

 

6. 오픈 소스 라이선스 주요 의무 사항

재배포하지 않는다면?

  - 대부분의 오픈 소스 라이선스는 오픈 소스를 재배포(redistribute) 할 때 의무사항을 부과함

  - , 사외로 재배포하는 소프트웨어 혹은 모델 내에 포함된 오픈 소스에 대해서만 의무 사항 준수가 필요함

    ex) 오픈 소스를 사내에서 테스트 용도로 사용한다면, 의무사항은 부과되지 않음

 

저작권 표시 및 라이선스 고지

  - 대부분의 오픈 소스 라이선스는 개발자 또는 기여자에 관한 사항과 저작권에 관한 사항을 제품에 표시하거나 포함하도록 요구하며, 이용자들이 오픈 소스에 관한 권리를 잘 이해할 수 있도록 배포자로 하여금 해당 라이선스의 사본을 함께 첨부할 것을 요구

) Apache License 2.0

4. a. You must give any other recipients of the Work or Derivative Works a copy of
this License;

4. c. 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, excluding those notices that do not pertain to any part of the Derivative Works;

 

소스코드 공개

- 대표적으로 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

 

재배포시 동일 라이선스 적용

- 라이선스에 따라 큰 차이를 보이는 부분은 ‘Copyleft’ 에 관한 사항이다. GPL을 대표로 하는 Copyleft 라이선스들은 이용자들이 소프트웨어를 수정한 후 배포하고자 할 때 수정된 소프트웨어도 동일한 License로 배포할 것을 요구

) 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.

 

7. 오픈 소스 라이선스 종류

라이선스 종류 내용
GPL(General Public License) 2.0 정의
  - FSF에서 만든 라이선스 규약으로서 가장 강력한 라이선스

의무사항
  - 저작권표시 및 보증책임 없음을 명시
  - 고지사항 및 보증책임 원본 유지
  - 양도받는 이들에게 GPL라이선스 사본 제공
  - 파일 수정시 날짜 및 사실관계를 파일에 명기
  - 본 저작물과 파생저작물을 GPL2.0에 의해 배포
  - 원본 저작물 및 파생 저작물에 대한 소스코드를 제공하거나, 요청시 제공하겠다는 약정서 제공

특징
  - 소스코드는 실행물에 포함된 모든 모듈들, 인터페이스 정의 파일 전체, 컴파일과 설치를 제어하는데 사용된 스크립트 전부 실행물이 실행되는 운영체제의 주요 부분과 함께 일반적으로 배포되는 구성요소들은 구성요소 자체가 실행물에 수반 되지 않는 한 배포되는 소스 코드에 포함되지 않아도 무방
  - 서브 라이선스를 허용하지 않음
  - 수취인은 자동적으로 라이선스 취득
  - GPL에 의한 배포 불가능
   → 법원의 판결, 특허침해 등에 의해 라이선스 조건을 준수 할 수 없는 경우

공개 범위
  - GPL 프로그램의 소스코드를 개발 중인 프로그램 코드에 삽입하거나 링크 시킬 경우 전체 소스 공개
  - 원본 프로그램과 별개의 독립된 프로그램을 GPL 프로그램과 같이 배포 하는 경우 전체 소스 공개
  - 두개의 프로그램이 파이프, 소켓, command-line arguments로 통신하는경우, 플러그인이 execfork를 이용하는 경우에는 소스 공개 X
GPL(General Public License) 3.0 정의
  - FSF에서 만든 라이선스 규약으로서 가장 강력한 라이선스

의무사항
  - 저작권표시 및 보증책임 없음을 명시
  - 고지사항 및 보증책임 원본 유지
  - 양도받는 이들에게 GPL라이선스 사본 제공
  - 파일 수정시 날짜 및 사실관계를 파일에 명기
  - 원본 저작물과 파생저작물을 GPL3.0에 의해 배포
  - 원본 저작물 및 파생 저작물에 대한 소스코드를 제공하거나, 요청시 제공하겠다는 약정서 제공
  - 사용자제품에 대한 인증키 등 설치정보의 제공
  - 차별적인 특허 라이선스 계약 체결의 금지

특징
  - 용어 대체 (배포 -> 컨베이)
  - 복제, 수정, 배포행위 등을 포함하는 프로퍼게이드(propagate) 용어 사용
  - 해당 소스(corresponding source)에 인터페이스 정의 파일, 저작물의 서브프로그램과 다른 부분들 사이의 제어 흐름이나 밀접한 데이터 통신 등을 통해 저작물이 특별히 필요로 하는, 동적 링크된 하위 프로그램과 공유 라이브러리의 소스코드를 포함
  - 기술적보호조치의 보호에 관한 법적 권리의 포기
  - 추가적인 허용사항 또는 제약사항을 부가하는 것을 가능하도록 함
  - 차별적인 특허 라이선스 계약체결의 금지
  - AGPL과 결합하거나 연결하여 하나의 저작물을 만들 수 있도록 허용
  - 라이선시가 기여자 등을 상대로 특허소송을 제기하는 경우 라이선스 종료(특허 보복 조항)

공개 범위
  - GPL 프로그램의 소스코드를 개발 중인 프로그램 코드에 삽입하거나 링크 시킬 경우 전체 소스 공개
  - 원본 프로그램과 별개의 독립된 프로그램을 GPL 프로그램과 같이 배포 하는 경우 전체 소스 공개
AGPL ( Affero General Public License) 정의
  - GPL을 기반으로 만든 라이선스
  - 버전 1,2Affero, 버전 3은 자유소프트웨어재단에 의해 개발
  - 수정한 소스코드를 서버에서만 사용하는 개발자가 프로그램을 배포하지 않을 경우 사용자 소스코드를 가질 수 없는 문제를 해결 하기 위해 마련

의무사항
  - 저작권표시 및 보증책임 없음을 명시
  - 고지사항 및 보증책임 원본 유지
  - 양도받는 이들에게 GPL라이선스 사본 제공
  - 파일 수정시 날짜 및 사실관계를 파일에 명기
  - 원본저작물 및 파생저작물에 대한 소소코드를 제공하거나, 요청시 제공하겠다는 약정서 제공
 - 사용자제품에 대한 인증키 등 설치 정보의 제공
  - 차별적인 특허라이선스 계약체결의 금지

특징
  - GPL의 강력한 카피레프트 조항을 보다 강력하게 보완
  - 어떠한 경우에도 모든 소스코드를 공중에게 공개
  - AGPL 라이선스를 가진 공개SW는 상업용 라이선스를 구매 할 수 있도록 듀얼 라이선스 정책 운영
  - GPL3.0을 네트워크 서버 소프트웨어의 경우에 적용하기 위한 특별 규정

공개 범위
  - AGPL 프로그램의 소스코드를 개발 중인 프로그램 코드에 삽입, 링크 시킬 경우 전체 소스 공개
  - 원본 프로그램과 별개의 독립된 프로그램을 AGPL 프로그램과 같이 배포 하는 경우 전체 소스 공개
  - AGPL 라이선스의 소스코드와 연결된 모든 소스코드는 공개 대상
LGPL ( Lesser General Public License) 정의
  - 자유소프트웨어재단에서 일부 라이브러리에 대하여 GPL보다 소스코드의 공개 정도를 완화된 형태로 사용 가능한 라이선스
  - 오픈 소스 중에서 많이 알려져있고, 의무사항들이 다른 오픈 소스 라이선스에 비해 엄격한 편

의무사항
  - 저작권표시 및 보증책임 없음을 명시
  - 고지사항 및 보증책임 원본 유지
  - 양도받는 이들에게 LGPL라이선스 사본 제공
  - 파일 수정시 날짜 및 사실관계를 파일에 명기
  - 라이브러리 형태로의 수정을 허용
  - 원본저작물 및 파생저작물에 대한 소스코드를 제공하거나, 요청시 제공하겠다는 약정서 제공
  - 응용프로그램 배포시, LGPL 라이브러리를 사용하고 있다는 사실을 명시
  - 사용자가 라이브러리를 수정해도 응용프로그램을 사용할수 있도록 허용
  - 오브젝트코드를 제공하거나 공유라이브러리 방식 등을 이용

특징
  - LGPL 라이브러리를 이용한 응용프로그램의 경우 소스코드 제공없이 배포 가능
  - 결합 라이브러리의 작성 허용

공개 범위
  - LGPL Library의 일부를 수정하는경우 수정한 Library의 소스코드 공개
  - LGPL 소프트웨어와 링크 되는 부분의 소프트 웨어 소스코드는 공개 의무 없음
BSD ( Berkeley Software Distribution) 정의
  - 버클리의 캘리포니아 대학에서 배포하는 공개 SW라이선스
  - SW의 소스코드를 공개하지 않아도 되는 대표적인 오픈 소스 SW라이선스

의무사항
  - 저작권자 표기, BSD라이선스가 걸린 소프트웨어를 이용하는 경우 해당 저작권자의 이름과 BSD라이선스의 내용 배포
  - BDS라이선스가 걸린 소프트웨어로 인하여 법률상 / 도의상 피해가 발생 하더라도, 책임 부여 불가
  - 저작권자의 이름을 광고에 사용 금지 ( 3-Clause 이상)
  - 광고에서의 저작권자 표기 (4-Clause 이상)
  - BDS 소트웨어를 사용 또는 포함한 것을 광고할 때에는 광고에 저작권자 명시

공개 범위
- 의무사항 준수시 소스코드 비공개
Apache License 정의
  - 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스
  - 누구나 해당 소프트웨어에서 파생된 프로그램을 제작 가능
  - 저작권을 양도, 전송 할 수 있음

의무사항
  - 저작권, 특허, 상표, 권리귀속에 대한 고지사항을 소스코드 또는 NOTICE 파일에 포함
  - 수취인에게 라이선스 사본을 제공
  - 파일을 수정하여 배포할 경우 수정된 파일에 대한 수정사항을 표시한 안내 문구 첨부
  - 최초개발자 등을 위해 보증을 면제하고 책임을 제한
특징
  - 개작물에 대하여 다른 라이선스를 적용하여 판매 할 수 있음
  - 라이선스에 대하여 특허를 주장할 수 없음
  - 공개 범위
  - 소스코드 공개 의무 없음
  - 동일한 라이선스로 배포 할 필요 없음
MPL ( Mozilla Public License) 정의
  - 넷스케이프 웹브라우저의 소스코드를 공개하기 위해 개발된 라이선스
  - 소스코드와 실행파일의 저작권을 분리
의무사항
  - 배포시 MPL 라이선스 사본 첨부
  - 원본 및 수정코드를 MPL에 의해 배포
  - 파일 수정시 날짜 및 사실관계를 파일에 명기
  - 수정코드에 대한 소스코드를 전자배포방식등을 통해 제공
  - 저작권표시, 개발자 및 권리자 대한 사항들 표시
공개 범위
  - 수정한 코드에 대한 소스코드 제공 (파일 단위 공개)
  - 소스코드 변경, 코드 일부 복사, 소스파일 이름 변경
  - MPL코드가 포함되지 않은 파일 일 경우 소스코드를 제공할 필요 없음
CDDL ( Common Development and Distribution License) 정의
  - 썬 마이크로시스템즈에 의해 MPL를 기반으로 개조
  - 오픈솔라리스(OpenSolaris)에 적용

의무사항
  - 원본 및 수정코드를 CDDL에 의해 배포
  - 배포시 CDDL 라이선스 사본 첨부
  - 수정코드에 대한 소스 코드를 합리적인 방식으로 제공
  - 저작권 등 권리관련 사항, 라이선스관련 사항 등의 고지사항을 제거하거나 변경 불가
  - 수정한 경우, 수정코드의 기여자임을 밝히는 고지를 포함

특징
  - 최초개발자의 부여사항과 기여자의 부여사항을 분리
  - 승소 당사자에대해 변호사 수임료 청구권 인정
  - 기여자의 독창적인 창작이며. 관련 권한을 가지고 있다는 내용의 선언
  - 준거법 선택가능

공개 범위
  - 수정한 코드에 대한 소스코드 제공 (파일 단위 공개)
  - 소스코드 변경, 코드 일부 복사, 소스파일 이름 변경
MIT Licence 정의
  - 미국 MIT대학에서 SW공학도들을 돕기 위해 개발한 라이선스
  - BSD라이선스를 기초로 하여 개발

의무사항
  - 라이선스 및 저작권 명시
  - MIT 라이선스 문구가 모든 복제본에 포함

공개 범위
  - 소스코드 공개 의무 없음
EPL ( Eclipse Public License) 정의
  - 이클립스 재단이 사용하는 라이선스
  - 비즈니스 친화적 자유 소프트웨어 라이선스가 되도록 고안
  - GPL과 같은 라이선스에 비해 더 약한 카피레프트의 형태를 제공

의무사항
  - 오브젝트코드로 배포하는 경우 EPL 조건 준수, 보증부인, 책임의 배제 소스코드의 확보 방법 고지
  - 소스코드로 배포하는 경우 EPL 라이선스 적용
  - EPL 라이선스 사본 포함
  - 각 프로그램의 저작권 고지사항을 제거하거나 변경하는 것을 금지
  - 각 기여물의 창작자를 식별할 수 있도록 신분 공개
  - 상업적 배포의 경우 기여자에게 책임이 발생하지 않도록 조치

특징
  - 라이선스 계약서의 관리 주체를 선언
  - 뉴욕주의 법률과 미국 지적재산권법을 준거법

공개 범위
  - 수정한 소스코드를 Eclipse 라이선스로 공개 (모듈 단위로 공개)

 

 

1) SK텔레콤 오픈 소스 라이선스 https://sktelecom.github.io/guide/use/license/

2) INSWAVE SYSTEMS 오픈 소스 라이선스의 이해 http://tech.inswave.com/2018/04/27/OpenSourceLicense/

3. so what is open source really? https://www.suse.com/c/so-what-is-open-source-really/

4. Open Source 101: Everything you need to know about open source Your complete guide to Open Source and more https://www.ashnik.com/open-source-101-everything-you-need-to-know-about-open-source/

+ Recent posts