오픈소스 라이선스에 대한 기본 상식

2020. 4. 22. 19:44IT

MIT License

 

 - MIT 허가서는 미국의 매사추세츠 공과대학교에서 자기 학교의 소프트웨어 공학도들을 돕기 위해 개발한 허가서이다. 
 - MIT 허가서를 따르는 소프트웨어를 개조한 제품을 반드시 오픈 소스로 배포해야 한다는 규정이 없으며, GNU 일반 공중 허가서의 엄격함을 피하려는 사용자들에게 인기가 있다.
 - MIT 허가서는 GNU 일반 공중 허가서(GPL)등과 달리 카피 레프트는 아니며, 오픈 소스 여부에 관계없이 재사용을 인정하고 있다. 
 - BSD 라이선스를 기초로 작성된 BSD계열 라이선스 중의 하나이다. 
 - 여러 가지 라이선스 중에서도 MIT 허가서는 매우 제한이 느슨한 라이선스라고 할 수 있다. 
 - 이 허가서를 따르는 대표적 소프트웨어로 X 윈도 시스템(X11)이 있다.
 - MIT 라이선스는 미국 매사추세츠공과대학교(MIT)에서 해당 대학 SW 공학도들을 돕기 위해 개발한 라이선스다.
 - 라이선스와 저작권 관련 명시만 지켜주면 되는 라이선스로, 가장 느슨한 조건을 가진 라이선스 중 하나이기 때문에 인기가 많다.
 - 적용 사례 : 부트스트랩 , Angular.js, Backbone.js, jQuery

Apache License : 아파치 2.0 라이선스


 - 아파치 라이선스(Apache License) 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스 규정이다.
 - 아파치 2.0 라이선스는 누구나 해당 소프트웨어에서 파생된 프로그램을 제작할 수 있으며 저작권을 양도, 전송할 수 있는 라이선스 규정을 의미한다. 
 - 아파치 라이선스에 따르면 누구든 자유롭게 아파치 소프트웨어를 다운 받아 부분 혹은 전체를 개인적 혹은 상업적 목적으로 이용할 수 있음
 - 재배포시에는 원본 소스 코드 또는 수정한 소스 코드를 반드시 포함시켜야 하는 것은 아니고, 아파치 라이선스, 버전 2.0을 포함시켜야 함
 - 즉 아파치 소프트웨어 재단에 개발된 소프트웨어라는 것을 명확하게 밝혀야 한다.
 - 소스코드 공개 의무도 없음
 - 적용 사례 : 안드로이드(v2.0), 하둡(v2.0)

GPL

 - GNU(Gnu is Not Unix, 그누) General Public License(GPL)
 - 자유소프트웨어재단에서 만든 라이선스다.
 - GNU 프로젝트로 배포하는 소프트웨어(Emacs, GNU 디버거(GDB), GNU 컴파일러 모음(GCC) 등)에 적용하기 위해 리처드 스톨만이 만들었다.
 - Roughly, these licenses specify that GNU software may be copied, modified, and redistributed in any manner as long as the source code remains freely available.
 - 가장 큰 특징은 자유소프트웨어재단답게 가장 강력한 제약 조건을 포함하고 있는 카피레프트 조항이다.
 - GPL 프로그램은 어떤 목적으로, 어떤 형태로든 사용할 수 있지만 사용하거나 변경된 프로그램을 배포하는 경우 무조건 동일한 라이선스 즉, GPL로 공개해야 한다.
 - 적용 사례 : 모질라 파이어폭스(v2.0), 리눅스 커널(v2.0), 깃(v2.0), 마리아DB(v2.0), 워드프레스(v2.0), 드루팔(v2.0)

AGPL

 - GNU Affero GPL
 - GPL을 기반으로 만든 라이선스로 버전1, 2는 아페로, 가장 최신 버전인 버전3은 자유소프트웨어재단에 의해 개발됐다.
 - 수정한 소스코드를 서버에서만 사용하는 개발자가 그 프로그램을 배포하지 않을 경우 사용자는 소스코드를 가질 수가 없는 문제를 해결하기 위해 마련됐다.
 - 서버에서 프로그램을 실행해 다른 사용자들과 통신하면, 실행되고 있는 프로그램의 소스코드를 사용자들이 다운로드할 수 있게 해야 한다는 독특한 조항을 담고 있다.
 - 적용 사례 : 몽고DB(v3.0)

LGPL

 - GNU Lesser GPL
 - 자유소프트웨어재단의 강력한 철학이 담긴 GPL의 카피레프트 조항을 보완하기 위해 만든 라이선스다.
 - GPL은 단순히 소프트웨어를 사용하기만 하더라도 해당 소스코드를 GPL로 공개해야 하는 부담감 때문에 상용 소프트웨어로 쓰기 부담스럽다는 단점이 있다.
 - 그래서 좋은 자유 소프트웨어 제품이 더 많이 쓰이고 표준이 되도록 유도하기 위해 단순한 라이브러리·모듈 링크를 허용한 라이선스이다.
 - 원래는 한정된 라이브러리에만 적용하려는 의도로 ‘Library GPL’이라는 이름을 붙였으나, 모든 라이브러리에 적용된다는 오해를 사 ‘Lesser GPL’로 변경됐다.
 - 적용 사례 : 모질라 파이어폭스(v2.1)

Artistic License

 - 펄 프로그래밍 언어를 사용하던 래리 월이 표준 펄 기능을 위해 만든 라이선스다.
 - 이 단어의 어원은 문학에서 문법상 틀린 표현이라도 시적인 효과를 위해 허용한다는 걸 의미하는 'Articstic License'(시적 허용)를 참조해 만들어졌다.
 - 적용 사례 : NPM(Node Package Manager)(v2.0)

Eclipse License

 - 이클립스사에서 비즈니스 환경에 적합하도록 만든 기업 친화적인 라이선스로, 강력한 카피레프트 조항이 담긴 GPL보다 제약 조건이 완화된 라이선스이다.
 - 적용 사례 : 이클립스(v1.0)

BSD License

 - BSD : Berkeley Software Distribution
 - 버클리의 캘리포니아대학에서 배포하는 공개 SW 라이선스다.
 - BSD 자체가 공공기관에서 만들어낸 것이므로 공공의 몫으로 돌려주자는 의미가 강하므로, 라이선스 자체에는 아무런 제한 없이 누구나 자신의 용도로 사용할 수 있다.
 - 라이선스 및 저작권 표시 조건 외엔 제약이 없는, 굉장히 자유로운 라이선스 중 하나이다.
 - 적용 사례 : Nginx(The BSD 2-Clause License)

MPL

 

 - Mozilla Public License
 - 모질라 공용 허가서는 과거 넷스케이프 웹브라우저의 소스코드를 공개하기 위해 개발된 라이선스다.
 - 초기 1.0버전은 넷스케이프 커뮤니케이션의 변호사였던 밋첼 베이커가 작성했고, 1.1과 2.0버전은 모질라재단이 작성했다.
 - MPL의 특징은 소스코드와 실행파일의 저작권을 분리했다는 점이다.
 - 수정한 소스코드는 MPL로 공개하고 원저작자에게 수정한 부분에 대해 알려야 하지만, 실행파일은 독점 라이선스로 배포할 수 있다.
 - 즉 사용한 MPL 소프트웨어와 수정한 MPL 소프트웨어에 대한 공개 의무만 가지며, 별도의 소스코드와 실행파일은 독점 라이선스를 가질 수 있다.
 - 적용 사례 : 모질라 파이어폭스(v1.1), 모질라 썬더버드(v1.1)

오픈소스 Software

 - 1983년 9월 27일  리처드 스톨먼(Richard Stallman)이 GNU 프로젝트를 시작하면서 오픈소스 SW가 본격적으로 등장
 - 주요 오픈소스 : 클라우드(오픈스택), 빅데이터(하둡), 모바일(안드로이드)
 - SW개발시 오픈소스SW를 적절하게 사용한다면 비용절감과 개발시간 단축 등 다양한 측면에서 장점을 누릴 수 있음
 - 소스코드가 공개되어 있고 무료로 이용,복제,배포,수정할 수 있지만 라이슨스가 존재함
 - 오픈소스SW 라이슨스에서는 사용자가 오픈소스SW를 사용함에 있어서 누릴 수 있는 권리와 지켜야 할 의무사항들을 포함
 - 오픈소스SW에 적용되는 라이슨스의 종류는 2,000종 이상으로 알려져 있음
 - 대부분의 오픈소스SW는 OSI(Open Source Initiative)에서 인증한 라이슨스를 적용하고 있음
 - 2012년 기준으로 OSI에서는 총 69종의 라이슨스를 인증함
 - 69종의 오픈소스SW 라이슨스 중 상위 7종의 라이슨스가 전체의 90% 정도 차지
   (이중 GNU GPL 계열의 라이슨스가 전체의 60% 이상을 차지)
 - 오픈소스SW 라이슨스 종합정보제공 서비스 : www.OLIS.or.kr

 

  
오픈소스SW 라이슨스 사용조건 및 의무사항

구분 무료이용 배포허용 소스코드취득 소스코드수정 소스코드공개의무 독점(상용)SW와 결합
GNU GPL  O O O O O X
GNU LGPL O O O O O O
MPL O O O O O O
BSD O O O O X O
Apache O O O O X O
Freeware O O X X X X

* BSD/Apache license가 가장 자유로운 규정

주요용어
 - GPL v2 (GNU General Public License)
 - LGPL v2 (GNU Library or Lesser General Public License)
 - MPL (Mozilla Public License 1.1)
 - BSD License
 - MIT License


<라이슨스별 주요 소프트웨어 리스트>

1. GNU GPL : 리눅스 커널
2. GNU LGPL : 
3. MPL : 모질라 어플리케이션 스위트, 모질라 파이어폭스, 모질라 선더버드, 미디어코더, 컴포저, 오픈솔라리스
4. BSD : sendmail
5. Apache 라이슨스 : Android, Hadoop(Apache v2 license), OpenStack
 * 구글이 2007년 아파치 라이선스 기반으로 안드로이드를 오픈소스화함
6. MIT License : X-window

Open source groups 
 
1. Apache Software Foundation 
 - Cassandra, Cordova, CloudStack, CouchDB, Geronimo, Hadoop, Hive, HTTP Server, Lucene, OpenOffice, Struts, Subversion and Tomcat 
  
2. Linux Foundation 

3. Free Software Foundation 
 - That is software that you can freely copy, use, modify, and redistribute as you wish. 
 - The only condition is that the source code of these programs must be freely available on demand. 
 - It is important to understand that the term Free in Free Software Foundation does not refer to price, but to freedom. 
 - These programs can be bought and sold, but there is always a legal way to obtain them gratis. 
 - Richard M. Stallman 
 - GNU 그래픽 데스크톱인 GNOME 1.0 
 - GNU Project 

cf. W3C(World Wide Web Consortium) groups