오픈 소스란 소프트웨어의 설계도인 소스코드를 인터넷 등을 통해 무상으로 공개하여 누구나 그 소프트웨어를 개량하고 재배포할 수 있도록 하는 것 또는 그런 소프트웨어를 말한다. 소스코드를 공개하면 유용한 기술을 공유하고 전세계의 사람들이 자유롭게 소프트웨어의 개발, 개량에 참여할 수 있게 된다. 오픈소스는 이것이 우수한 소프트웨어를 만드는 데 도움이 된다는 생각에 바탕을 두고 있다.
오픈소스 이전에 자유소프트웨어라는 용어를 썼었다. 자유소프트웨어에서 자유는 무상의 의미보다 다음 4가지의 의미가 더 강하다.
1. 목적에 상관없이 프로그램을 실행시킬 수 있는 자유
2. 필요에 따라서 프로그램을 개량할 수 있는 자유
3. 무료 또는 유료로 프로그램을 재배포할 수 있는 자유
4. 개작된 프로그램의 이익을 공동체 전체가 얻을 수 있도록 이를 배포할 수 있는 자유
하지만 사람들은 자유소프트웨어라고 하면 무료를 먼저 떠올린다. 이렇게 자유라는 표현이 갖는 무비용의 인식을 바꾸기 위해 에릭 레이먼드1는 자유소프트웨어 대신 '오픈소스'라는 표현을 사용하기 시작했다. 국내에서는 오픈소스를 공개 소프트웨어라고 부른다.
공개 소프트웨어에 대해 OSI(Open Source Initiative)에서는 다음 10가지 조건을 제시하고 있다. 이 조건은 공개소프트웨어의 정의를 대신한다.
<공개소프트웨어의 조건>
1. 자유 배포(Free Redistribution)
2. 소스코드 공개(Source Code Open)
3. 2차적 저작물(Derived Works) (허용)
4. 소스코드 수정 제한(Integrity of The Author's Source Code)
5. 개인이나 단체에 대한 차별 금지 (No Discrimination Against Persons or Groups)
6. 사용 분야에 대한 제한 금지 (No Discrimination Against Fields of Endeavor)
7. 라이선스의 배포 (Distribution of License)
8. 라이선스 적용상의 동일성 유지 (License must not be specific to a product)
9. 다른 라이선스의 포괄적 수용 (License must not contaminate other software)
10. 라이선스의 기술적 중립성 (License must be Technology-Neutral)
이 10가지 조건은 다양한 공개소프트웨어 라이선스를 결정하는 기준이 되기도 한다.
[참고:두산백과, 공개소프트웨어 백서2012/블로터 www.bloter.net/archives/204878]
Footnotes
-
오픈소스 운동의 대표 인물. OSI의 공동설립자이며 넷스케이프의 소스코드 공개와 모질라의 설립에 큰 영향을 끼쳤다. 저서 '성당과 시장'에서 오픈소스라는 용어를 처음 사용했다. ↩