-
LINUX 2nd | 리눅스의 역사 & 라이센스기타/LINUX 2020. 7. 3. 14:50
리눅스의 역사
1960년대 후반
- 1965년 MIT, AT&T 벨 연구소, General Electric에서 Multics라는 실험적인 운영체제를 공동으로 개발하는 프로젝트를 진행
- 이 프로젝트는 멀티태스킹 & 멀티유저를 지원하는 초기 형태의 시분할 운영체제를 만듦
- 1969년 프로젝트에 참가했던 벨 연구소 연구원 켄 톰슨(Ken Thompson)이 초기 형태의 UNIX 개발
1970년대
- 1971년 벨 연구소의 데니스 리치(Dennis Ritchie)가 C언어를 개발함으로써, 어셈블리 언어로 쓰인 UNIX가 C언어로 재작성
- C언어로 개발된 UNIX는 이식성과 호환성이 있는 시스템으로 발전
1980년대 초중반
- MIT 연구소의 연구원이었던 리처드 스톨먼(Richard Stollman)은 소스를 공개하지 못하도록 하고 기술을 상업화하려는 분위기에 맞서 GNU 프로젝트를 시작
- 1985년 리처드 스톨먼은 FSF(Free Software Foundation)라는 비영리 단체를 설립 후 GNU 선언문을 발표
- 1987년 앤드루 타넨바움이 MINIX를 개발
1990년대 초중반
- 핀란드의 헬싱키 대학의 리눅스 토발즈(Linux Torvalds)가 MINIX의 커널 소스를 고쳐 GNU 시스템에 적합한 커널을 개발
- 리처드 스톨먼과 FSF는 유닉스 커널과 호환 가능한 커널인 LINUX를 GNU 시스템의 커널로 채택
리눅스 라이선스
GNU GPL(General Public License)
- FSF에서 만든 공개 소프트웨어 라이선스
- 어떤 프로그램을 개발할 때, GPL 코드를 일부라도 사용하면 해당 프로그램은 GPL이 된다.
- GPL 코드를 사용한 프로그램을 유료로 판매하는 것은 가능하지만, 반드시 전체 소스코드는 무료로 공개해야 한다.
- (단, GPL 코드를 사용한 소프트웨어를 내부적인 목적으로만 사용할 때에는 소스코드를 공개할 필요가 없다.)
- 배포하고자 하는 프로그램의 특정 부분이 GPL 코드로부터 파생된 것이 아니라면, 이 독립적인 저작물 모듈의 개별적 배포에는 GPL이 적용되지 않는다. 다만 이 프로그램을 전체적으로 배포할 때에는 GPL을 따라야 한다.
GNU LGPL(Lesser General Public License)
- GPL보다 완화된 조건의 공개 소프트웨어 라이선스
- LGPL이 적용된 라이브러리를 이용하였을 경우, LGPL 코드를 사용했음을 명시만 하면 된다. 프로그램의 소스코드는 공개하지 않아도 된다.
- (단, LGPL 코드를 단순히 이용하는 것이 아닌, 이를 수정하거나 파생된 라이브러리를 개발하여 배포하는 경우에는 소스코드를 공개해야 한다.)
BSD(Berkeley Software Distribution) License
- 버클리 캘리포니아 대학의 공개 소프트웨어 라이선스
- 소스코드 공개의 의무가 없으며 상업적 소프트웨어에서도 무제한 사용 가능하다.
Apache License
- 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스
- 누구나 해당 소프트웨어에서 파생된 프로그램을 제작할 수 있으며, 저작권을 양도 & 전송할 수 있다.
- 누구나 아파치 소프트웨어를 다운로드하여 부분 또는 전체를 개인적 & 상업적 목적으로 이용할 수 있다.
- 재배포 시 원본 소스코드 & 수정한 소스코드를 반드시 포함시켜야 하는 것은 아니지만, Apache License를 포함시켜야 하며, 아파치 소프트웨어 재단에서 개발된 소프트웨어라는 것을 명확하게 밝혀야 한다.
MIT(Massachusetts Institute of Technology) License
- 미국 MIT 본교의 소프트웨어 공학도들을 돕기 위해 개발한 라이선스
- BSD License를 기초로 작성된 BSD 계열 라이선스 중 하나이다.
- 해당 소프트웨어는 누구나 개작할 수 있고, 수정본의 재배포 시에 소스코드 비공개가 가능하다.
- 소프트웨어를 개조한 제품을 반드시 오픈 소스로 배포해야 한다는 규정이 없다.
- GNU GPL의 엄격함을 피하려는 사용자들에게 인기가 있다.
- GNU GPL과 달리 카피레프트가 아니며, 오픈 소스 여부에 관계없이 재사용을 인정한다.
MPL(Mozilla Public License)
- 오픈 소스와 공개 소프트웨어 라이선스
- 변형 BSD License와 GNU GPL의 혼합적 성격을 띤다.
- 소스코드와 실행파일의 저작권을 분리했다는 특징을 가진다.
- 수정한 2차 소스코드는 MPL로 공개하고 원저작자에게 수정한 부분에 대해 알려야 하지만, 실행 파일은 독점 라이선스로 배포할 수 있다.
- 사용한 MPL 소프트웨어와 수정한 MPL 소프트웨어에 대한 공개 의무만 가지며, 별로의 소스코드와 실행 파일은 독점 라이선스를 가질 수 있다.