- 기존의 소프트웨어 개발 모델을 대변하는 성당 모델에 비해 개방형 개발 모델의 시장 모델이 오히려 더 효율적임을 강조.
- 독점적 소프트웨어에 비해 사회에 대한 더 많은 '선: 이익'을 창출해낼 수 있음을 역설.
- 개발자에게 금전적 이익을 제공하지 않아도 개발-피드백의 선순환을 이뤄낼 수 있음을 증명.
1. 소프트웨어 사용자는 공동 개발자이다(Users should be treated as co-developers) : 사용자가 소스코드에 접근 및 수정, 추가까지 가능하게 함으로써 소비자의 역할 뿐 아니라 버그 리포터, 나아가 공동 개발자의 역할까지 맡는 것이 가능하다.
2. 빨리 배포한다(Early Releases) : 더 빨리 공동 개발자를 영입할 수 있다.
3. 자주 통합한다(Frequent Integration) : 이렇게 함으로 버그 수정에 따르는 오버해드를 줄일 수 있다.
4. 여러개의 버전(Several Versions) : 기능은 적지만 안정적 버전, 기능은 많지만 버그가 (상대적으로) 많은 버전.
5. 높은 모듈성(High Modularization) : 다수의 개발 참여자로 인한 병렬 개발 가능성을 높이기 위해.
6. 구조를 만들어가는 역동적 결정(Dynamic decision making structure) : 사용자의 요구 및 기타 요인에 따라 전략적 결정을 이루게 하는 구조
- 리눅스, 아파치, GNU Compiler Collection, Perl, 넷스케이프 등의 유명 OSS가 본 모델을 따름.
OSS와 구별되는 유사 Software1. public domain : 모든 저작권을 포기함을 의미, 미국과 같은 법률적 환경에서 가능
2. Shareware : 소스 비공개, 일반적으로 라이센스에 대한 대가 지불을 높이기 위한 수단으로 기능 제한 메커니즘 내장
3. Freeware : 소스 비공개, 사용요금 없음, 일반적으로 마케팅 전략으로 사용됨.
Open Source license - Software license는 사용자에게 제한을 가하는 copyright와는 달리 소프트웨어의 사용, 변경, 재배포에 관한 권한을 주는 약관.
- OSI(Open Source Initiative: open-source software 활성화를 위해 조직된 단체)는 10가지 항목으로 이루어진 Open Source Definition을 통해 Open Source license의 성격을 규정
1. GPL(GNU General Public License) version 2 - GPL로 배포되는 소프트웨어에는 GNU GPL이 포함되어 있어야 한다. 해당 소프트웨어의 사용자는 GPL의 규정에 따라 소스코드를 복제, 배포할 수 있다.
- 해당 소스코드 수정시 언제, 누구가 했는지를 명시해야 한다.
- 해당 소스코드를 이용한 2차적 소프트웨어 생성이 가능하며, 이렇게 생성된 소프트웨어는 GPL이 자동 적용된다 : copyleft
- GPL이 적용된 소프트웨어는 바이너리 및 오브젝트 파일 뿐 아니라 소스코드까지 제공되어야 한다.
- GPL하에서 배포되는 소프트웨어는 어떠한 보증도 제공되지 않는다.
version 3 - version 2와 호환
-
GPL 코드를 사용하는 프로그램이 내장된 기기의 소유자가 마음대로 해당 기기의 코드를 수정할 수 있도록 규정: anti-tivoization
-
소프트웨어에 적용된 모든 특허 기술을 로열티 없이 영구적으로 공개해야 한다고 명시 - GPL을 적용한 소프트웨어에는 디지털저작권관리(DRM) 솔루션을 적용하지 않는 것을 원칙 - 타 Open Source License와의 호환성 강화
2. LGPL(GNU Lesser General Public License) - 오픈 소스 소프트웨어의 사용을 장려하기 위한 전략적인 차원에서 정의된 GPL의 다소 완화된 라이선스
- GPL과 대동소이하나 GPL 적용 소프트웨어와의 단순 링크를 통한 소프트웨어는 소스를 공개할 필요가 없다는 점이 큰 차이
3. MPL(Mozilla Public License) - SW의 자유로운 사용, 복제, 배포, 수정 허용
- SW를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 MPL에 의해 배포된다는 사실 명시
- MPL Code를 수정한 부분은 다시 MPL에 의해 배포
- MPL Code와 다른 Code를 결합하여 프로그램을 만들 경우 MPL Code를 제외한 결합 프로그램에 대한 소스는 공개할 필요 없음
- 소스 코드를 적절한 형태로 제공하는 경우, 실행파일에 대한 라이센스는 MPL이 아닌 다른 것으로 선택가능
- 특허기술이 구현된 프로그램의 경우 관련 사실을 'LEGAL'파일에 기록하여 배포
4. BSD license(Berkely Software Distribution License)
- (public domain과 거의 동일한 수준의 자유도를 갖는) permissive free software licenses의 일족.
- copyleft 조항 없음(라이센스 상속 무)
- 소스코드 공개 의무 규정 없음(단 저작권 및 무보증 표시를 명시해야)
- 2차 저작 소프트웨어에 타 라이센스 적용 가능.
- "복사 센터로 가져가 네가 원하는 만큼 복사본을 만들어라"란 의미의 copycenter로 불리기도 함(copyright과 copyleft에 비교하여)
5. 상기된 license말고도 OSI가 승인한 다수의 license가 존재 : MIT License, Common Public License, Apache Software License 2.0 등 60여가지.
reference:
Wikipedia - Open-source software, Open-source license
정통부, 행자부 - 공개SW 기반 정보시스템 구축 사용자 가이드
정통부 - 공개 소프트웨어 가이드
디지털 타임즈 : [사설] 공개SW GPL v3 다각적 대응책 절실
전자신문 : 공개SW 산업 '지각변동' 오나
강정배 기술사 OSS 프로시딩