[1. 리눅스 일반] 01 리눅스의 이해 (3) - 리눅스 라이선스
System/Linux Master

[1. 리눅스 일반] 01 리눅스의 이해 (3) - 리눅스 라이선스


··········+추후 수정+··········


1. GNU (GNU is Not UNIX)

1) 리처드 스톨먼이 자유 소프트웨어 재단(FSF)에서 진행하며 유지 중인 운영체제 프로젝트

2) 1983년, 리처드 스톨먼 GNU 개발 시작

3) 목표 : GNU 프로젝트를 통해 개발한 유닉스 계열 컴퓨터 운영체제로 '완전한 유닉스 호환 소프트웨어 시스템'이 되는 것


2. 자유 소프트웨어 재단 (FSF, Free Software Foundation)

1) 1985년 리처드 스톨먼이 설립한 재단


(+)

· 자유 소프트웨어 : 사용자가 소프트웨어를 실행, 복제, 배포, 학습, 개작, 향상할 수 있는 소프트웨어

[특징]

- 어떤 목적이든 원하는 대로 프로그램을 실행시킬 수 있는 자유

- 무료 또는 유료로 프로그램 복제물을 재배포할 수 있는 자유

- 필요에 따라 프로그램을 개작할 수 있는 자유

- 공동체 전체가 개선된 이익을 나눌 수 있게 개작한 프로그램을 배포할 수 있는 자유


· 자유는 금전적인 측면과 관계가 없기 때문에 자유 소프트웨어를 유료로 판매할 때 문제가 없다.

(+)


3. 오픈 소스 소프트웨어 (Open Source Software)

· 1998년 일부 커뮤니티에서 '자유 소프트웨어' 대신 '오픈 소스 소프트웨어'라는 용어를 사용하기 시작했다. → 자유가 가진 '무료'라는 의미가 혼동을 일으켜 이를 피하기 위해서


4. GNU GPL (General Public License)

1) GPL은 FSF에서 만든 무료 소프트웨어 라이선스이다.

2) 1989년 1차 버전, 1991년 2차 버전, 2007년 3차 버전 발표

· 어떤 프로그램을 개발할 때 GPL 코드를 일부라도 사용하게 되면 해당 프로그램은 GPL이 된다.

· GPL을 가진 프로그램을 유료로 판매하는 것은 가능하다. 단, 반드시 소스코드는 무료로 공개해야 한다.


+) GPL 전문 : 만일 배포하고자 하는 프로그램의 특정 부분이 GPL 코드로부터 파생된 것이 아닌 독립적인 저작물일 경우에는 독립 저작물 모듈의 개별적인 배포에는 GPL이 적용되지 않는다. (즉, 코드를 공개할 필요가 없다.) 하지만 프로그램을 전체(GPL 코드에서 파생된 모듈 + 독립 저작물 모듈)적으로 배포할 때에는 GPL을 따라야 한다.


5. GNU LGPL(Lesser General Public License)

· GPL보다는 훨씬 완화된 조건의 공개 소프트웨어 라이선스.


1) LGPL이 적용된 라이브러리를 이용하여 개발하였을 경우 프로그램 소스코드는 공개하지 않아도 된다.

2) LGPL 코드를 사용했음을 명시만 하면 된다.

3) LGPL 코드를 단순히 이용하는 것이 아니라 이를 수정한 이로부터 파생된 라이브러리를 개발하여 배포하는 경우에는 전체 코드를 공개해야 한다.


6. BSD (Berkeley Software Distribution) 라이선스

· 버클리 캘리포니아 대학의 자유 소프트웨어 저작권의 한 가지.

· BSD 계열의 소프트웨어를 포함한 많은 프로그램에서 사용된다.

· 소스코드 공개의 의무가 없으며 상용(상업적) 소프트웨어에서도 무제한 사용 가능한 라이선스.

· OpenCV는 BSD 라이선스를 따른다.


1) 해당 소프트웨어는 아무나 개작할 수 있고, 수정한 것을 제한 없이 배포할 수 있다.

2) BSD와 GPL의 차이점은 GPL은 파행된 소프트웨어여도 GPL과 같은 라이선스를 갖도록 의무화하고 있다.


7. 아파치 (Apache) 라이선스

· 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스 규정.

· 아파치 2.0 라이선스는 누구나 해당 소프트웨어에서 파생된 프로그램을 제작할 수 있으며 저작권을 양도, 전송할 수 있는 라이선스 규정이다.


1) 누구든 자유롭게 아파치 소프트웨어를 다운로드받아 부분 또는 전체를 개인적 혹은 상업적 목적으로 사용할 수 있다.

2) 재배포 시 원본 소스코드 또는 수정한 소스코드를 반드시 포함시켜야 하는 것은 아니지만 아파치 라이선스 버전 2.0을 포함시켜야 하며, 아파치 소프트웨어 재단에서 개발된 소프트웨어라는 것을 명확하게 밝혀야 한다.


8. MIT (Messachusetts Institute of Technology) 라이선스

· 미국 매사추세츠 대학교에서 본교의 소프트웨어 공학도들을 돕기 위해 개발한 허가서.

· BSD 라이선스를 기초로 작성된 BSD 계열 라이선스 중 하나.

· 해당 소프트웨어는 누구나 개작할 수 있고, 수정본의 재배포 시에 소스코드의 비공개가 가능하다.

· MIT 라이선스가 적용된 소프트웨어에는 X Window System, JQuery, Node.js 등이 있다.

· 소프트웨어를 개조한 제품을 반드시 오픈소스로 배포해야 한다는 규정이 없으며, GPL의 엄격함을 피하려는 사용자들에게 인기가 있다.

  - GPL 등과 달리 카피 레프트는 아니며, 오픈소스 여부에 관계없이 재사용을 인정하고 있다.


9. MPL (Mozilla Public License)

· 오픈소스 + 자유 소프트웨어 라이선스

· 1.0 버전은 Netscape Communications Coorperation의 변호사 미첼 베이커에 의해 작성되었고, 1.1 버전은 모질라 재단이 작성하였다.

· MPL의 특징은 소스코드와 실행파일의 저작권을 분리했다는 점이다.

· 수정한 2차 소스코드는 MPL로 공개하고 원저작자에게 수정한 부분에 대해 알려야 하지만, 실행 파일은 독점 라이선스를 가질 수 있다.