Thinking Out Loud

[Linux] 리눅스 역사 & 라이선스 본문

Linux/Linux Master

[Linux] 리눅스 역사 & 라이선스

주롱주롱 2021. 11. 1. 10:39

# 리눅스의 역사

- 켄 톰슨 : 초기 UNIX 개발

- 데니스 리치 : C언어 개발하여 UNIX가 어셈블러x C언어로 작성됨

- 리처드 스톨먼 : 소스를 공개하지 않는 분위기에 대한 반감으로 GNU 프로젝트 시작. FSF 비영리단체 설립

- 앤드루 타넨바움 : MINIX 개발

- 리누스 토발즈 : Minix 커널 소스를 고쳐 GNU시스템에 적합한 커널인 리눅스 개발

 

# 리눅스 라이선스

* GNU (GNU's Not UNIX)

- GNU는 유닉스가 아니다

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

 

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

- 1985년 리처드 스톨만이 설립한 재단

- 사용자가 소프트웨어를 실행, 복제, 배포, 학습, 개작, 향상시킬 수 있는 소프트웨어

- 자유는 금전적인 측면과 관계없기 때문에 자유 소프트웨어를 유료로 판매할 때 문제가 생기지 않음

* 자유 소프트웨어 특징
- 어떤 목적이든 원하는대로 프로그램을 실행시킬 수 있는 자유
- 무료/유료로 프로그램 복제물을 재배포할 수 있는 자유
- 필요에 따라 프로그램을 개작할 수 있는 자유
- 공동체 전체가 개선된 이익을 나눌 수 있게 개작한 프로그램을 배포할 수 있는 자유

 

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

- 1998년 일부 커뮤니티에서 '자유 소프트웨어' 대신 '오픈 소스 소프트웨어' 라는 용어를 사용하기 시작

- 자유가 가진 무료라는 의미가 일으키는 혼동을 피하기 위함

 

* GNU GPL (General Public License)

- 자유 소프트웨어 재단(FSF)에서 만든 Free 소프트웨어 라이선스

- GPL을 가진 프로그램을 유료로 판매하는 것은 가능하지만 반드시 전체 소스코드를 공개해야함 (특히 외부에 공포/배포 시)

 

* GNU LGPL (Lesser General Public Lisense)

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

- LGPL이 적용된 라이브러리를 이용하여 개발했을 경우 프로그램 소스코드는 공개하지 않아도 됨 (명시만 하면 됨)

- LGPL 코드를 수정한 또는 이로부터 파생된 라이브러리를 개발하여 배포한 경우, 전체 코드를 공개해야함

 

* BSD (Berkeley Software Distribution) 라이선스

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

- 소스코드 공개의 의무 X

- 상용 소프트웨어에서도 무제한 사용가능한 라이선스 (수정한 것을 제한없이 배포 O)

 

* 아파치(Apache) 라이선스

- 아파치 소프트웨어 재단에서 만든 소프트웨어에 대한 라이선스 규정

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

→ 누구든 자유롭게 아파치 소프트웨어를 다운받아 부분/전체를 개인적/상업적 목적으로 이용 O

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

 

* MIT (Massachusetts Institute of Technology) 라이선스

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

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

→ 해당 sw는 누구나 개작할 수 있고, 수정본의 재배포 시에 소스코드 비공개가 가능

→ 이 라이선스가 적용된 소프트웨어 : X Window System, JQuery, Node.js 등

→ sw를 개조한 제품을 반드시 오픈 소스로 배포해야 한다는 규정 X (오픈 소스 여부 관계없이 재사용 O)

 

* MPL (Mozilla Public License)

- 오픈 소스와 자유 소프트웨어 라이선스

- 소스코드와 실행파일의 저작권을 분리

→ 수정한 2차 소스코드 : MPL로 공개하고 원작자에게 수정한 부분에 대해 알려야함 (공개 의무)

→ 실행 파일 : 독점 라이선스로 배포 가능 (별도의 소스코드와 실행파일은 독점 라이선스를 가질 수 있음)

→ Apache, MIT, BSD 라이선스가 적용된 프로그램들의 소스코드를 수정해서 사용할 경우에도 반드시 별도의 소스코드와 실행 파일을 공개할 필요는 없음