오픈소스
사용자가 프로그램의 소스코드에 아무런 제약 없이 접근 할 수 있다.
- 수정 및 배포 가능하며, 사용 상의 제약이 없다.
- 자유 배포 (Free Redistribution)
- 소스코드 공개 (Source Code Open)
- 2차적 저작물 (Derived Works) (허용)
- 소스코드 수정 제한 (Integrity of The Author's Source Code)
- 개인이나 단체에 대한 차별 금지 (No Discrimination Against Persons or Groups)
- 사용 분야에 대한 제한 금지 (No Discrimination Against Fields of Endeavor)
- 라이선스의 배포 (Distribution of License)
- 라이선스 적용상의 동일성 유지 (License must not be specific to a product)
- 다른 라이선스의 포괄적 수용 (License must not contaminate other software)
- 라이선스의 기술적 중립성 (License must be Technology-Neutral)
오픈소스 커뮤니티의 성장 계기
- Netscape 브라우저 소스를 공개 -> 이후 Firefox 프로젝트로 발전
오픈소스의 장점
- 자유롭게 프로그램의 소스에 접근
- 수정 및 재배포
- 제조사에 의존적인 부분을 제거
- 높은 수준의 협력
라이선스
소프트웨어를 사용할 수 있는 권한 또는 사용을 허가하는 것이다. (소프트웨어 사용권)
GNU (GNU is Not Unix)
GNU 4가지 강령
- 누구나 어떤 목적으로든 프로그램을 실행할 자유를 가쟈야 한다.
- 사용자의 요구에 맞게 프러그램을 수정할 수 있어야 한다.
- 다른 사람들을 위해 재배포가 가능해야 한다.
- 수정된 버전의 배포를 통해 해당 커뮤니티가 이득을 볼 수 있어야 한다.
GPL
특징
- 수정한 소스코드 또는 GPL 소스코드를 활용한 소프트웨어는 모두 GPL로 공개
- 개인적, 내부적 이용에 한해서는 소스코드를 공개하지 않아도 됨
- 외부 배포시 해당 소프트웨어의 전체 소스코드를 공개해야 함
ex) FireFox (2.0), 리눅스 커널, 깃마리아 DB
LGPL
특징
- 기존의 GPL의 높은 제약을 완화시키기 위해 탄생
- 소스코드를 단순 라이브러리 이용 이외의 목적으로 사용 시 소스코드 공개
ex) FireFox (2.1)
BSD
특징
- 소스코드의 공개 의무가 없고 제약 조건이 낮다.
- 버클리 캘리포니아 대학에서 제정
- BSD 자체가 공기관에서 만든 것이므로 공공 환원의 의도가 강함
- 저작권 및 라이선스 명시 이외엔 아무 제약 없이 사용 가능한 자유로운 라이선스
ex) OpenCV
Apache 2.0
특징
- BSD와 거의 비슷하며 BSD보다 좀 더 완화된 내용
- Apache 1.0, 1.1은 OSI 인증 라이선스 제외 (OSI = Open Source Initiative)
- 2차 라이선스 가능
ex) 안드로이드, 하둡
MIT
특징
- BSD 라이선스를 기초로 MIT 대학에서 제정
- MIT 라이선스를 따르는 소프트웨어를 사용하여 만든 개발품을 꼭 오픈소스로 해야할 필요는 없으며, 소스코드 공개 의무도 없음
- 2차 라이선스 가능
ex) X 윈도우 시스템, Jsoup
MPL
특징
- 수정한 소스코드는 MPL 라이선스로 공개 (단순 이용 시에는 공개 의무 없음)
- 소스코드와 실행 파일의 저작권 분리
- MPL 라이선스의 소스코드를 사용하여 개발했을 시 수정한 소스코드를 MPL로 공개하고 원작자에게 수정한 부분에 대해 알려줘야 함
- 실행 파일은 독점 라리선스로 배포 가능
- 또한 MPL과 무관하게 작성된 소스코드는 공개할 필요가 없다.
- 2차 라이선스 가능
ex) 파이어폭스 (1.1)
Eclipse
특징
- 수정한 소스코드를 Eclipse 라이선스로 공개 (단순 이용 시에는 공개 의무 없음)
- GPL을 대체하며, GPL보다 약한 수준으로 기업 친화적인 특징
- 2차 라이선스 가능
ex) Eclipse