오픈 소스(open source) 제품에는 소스 코드,[1] 디자인 문서,[2] 또는 제품의 내용을 사용할 권한이 포함된다. 대체적으로 이를 오픈 소스 모델이라고 부르며 여기서 오픈 소스 소프트웨어나 기타 제품들이 오픈 소스 소프트웨어 운동의 일부로서 오픈 소스 사용권으로 출시된다. 이 용어의 사용은 소프트웨어와 함께 기원되었으나 소프트웨어 부문을 넘어서 다른 오픈 콘텐츠 및 개방형 협업의 형태로 확장되어가고 있다.
소프트웨어를 기술하기 위해 사용된 "오픈 소스"라는 용어는 "자유 소프트웨어"(free software)라는 용어에 암시된 정치적 선전과 도덕적 철학을 비판했던 자유 소프트웨어 운동에 참여한 사람들이 처음 제안한 것이다.[3] 게다가 "프리 소프트웨어"(free software)라는 용어의 모호성(자유 소프트웨어, 무료 소프트웨어)은 비즈니스 채택에 부정적인 영향을 미치는 것으로 간주되었다.[4][5] 이 그룹에는 크리스틴 피터슨, 토드 앤더슨, 래리 어거스틴, 존 홀, 샘 오크먼, 마이클 타이먼, 에릭 레이먼드가 포함되었다. 피터슨은 팰로앨토에서 개최된 한 회의에서[6] 넷스케이프의 1998년 1월 내비게이터의 소스 코드 출시에 반응하면서 "오픈 소스"를 제안하였다. 리누스 토르발스는 다음날 그를 지지하였고 필 휴즈는 리눅스 저널에서 이 용어를 지지하였다. 자유 소프트웨어 운동의 창립자 리처드 스톨먼은 처음에 이 용어를 채택하는 것처럼 보였다가 나중에 마음을 바꾸었다.[6][7] 넷스케이프는 넷스케이프 퍼블릭 라이선스로 소스 코드를 출시하였다가 이후 모질라 공용 허가서로 출시하였다.[8]
레이먼드는 특히 이 새로운 용어를 보급하는 시도에 활동적이었다. 그는 1998년 2월 자유 소프트웨어 커뮤니티에 이 용어의 채택을 최초로 호소하였다.[9] 얼마 지나지 않아 그는 브루스 페런스와 협업하여 오픈 소스 이니셔티브를 창립하였다.[6]
이 용어는 1998년 4월 기술 출판사 팀 오라일리에 의해 조직된 행사를 통해 더 가시화되었다. 원래 제목은 "프리웨어 서밋"(Freeware Summit)이었으나 나중에 "오픈 소스 서밋"(Open Source Summit)으로 변경된[10] 이 행사는 가장 중요한 자유 및 오픈 소스 프로젝트 다수의 지도자들이 참석하였는데 여기에는 리누스 토르발스, 래리 월, 브라이언 벨렌도르프, 에릭 올먼, 귀도 반 로섬, 마이클 타이먼, 폴 빅시, 제이미 자윈스키, 에릭 레이먼드가 포함된다. 이 회의에서 "자유 소프트웨어"라는 용어의 대안이 논의되었다. 타이먼은 "소스웨어"를 새로운 용어로 찬성하였으나 레이먼드는 "오픈 소스"를 찬성하였다. 이렇게 모인 개발자들은 투표를 거쳤고 가장 우세한 용어가 그 날 저녁 언론 콘퍼런스에서 발표되었다.[10]
이전의 수많은 대형 기관들이 등장하여 오픈 소스 소프트웨어 운동의 발전을 지지하였으며, 여기에는 오픈 소스 프레임워크 아파치 하둡과 오픈 소스 HTTP 서버 아파치 HTTP 등 커뮤니티 프로젝트를 지원하는 아파치 소프트웨어 재단이 포함되어 있다.
오픈 소스 모델은 개방형 협업을 장려하는 탈중앙식 소프트웨어 개발 모델인데,[11][12] 이는 "기여자와 비기여자들에게 이용이 가능할 경제적 가치의 산물(또는 서비스)를 창출하기 위해 소통하는, 목표 지향적이지만 느슨한 공동 작용을 하는 참여자들에 의존하는 혁신 또는 생산 시스템"을 의미한다.[11] 오픈 소스 소프트웨어 개발의 주된 원칙은 일반이 자유로이 이용할 수 있는 소스 코드, 청사진, 문서 등 제품의 동료 생산(peer producdtion)이다. 소프트웨어의 오픈 소스 운동은 사유 코드의 제한에 대한 반응으로 시작되었다. 이 모델은 OSAT(open-source appropriate technology),[13] 오픈 소스 신약 개발(drug discovery) 등의 프로젝트에 사용된다.[14][15]
소프트웨어 개발의 오픈 소스 모델은 인터넷 포럼,[16] 메일링 리스트[17], 온라인 커뮤니티 등에서처럼 다른 형태의 개방형 협업을 가리키는 용어 사용에 영감을 주었다.[18] 개방형 협업은 또한 비트코인, TED, 위키백과 등 전반적인 다양한 벤처 기업들을 분명히 나타내주는 운영 원칙으로 간주되기도 한다.[19]
개방형 협업은 동료 생산, 집단적 협업, 위키노믹스의 기저를 이루는 원칙이다.[11] 이는 처음에 오픈 소스 소프트웨어로 관찰되었으나 인터넷 포럼,[16] 메일링 리스트,[17] 인터넷 공동체,[18] 그리고 크리에이티브 커먼즈와 같은 수많은 오픈 콘텐츠 등의 예에서도 확인이 가능하다. 또, 이는 크라우드소싱, 공동 구매, 개방적 혁신의 일부 예를 설명하기도 한다.[20]
Riehle 등은 개방형 협업을 평등주의, 능력주의, 자기조직화라는 세 가지 원칙에 기반한 협업으로 정의한다.[21] Levine과 Prietula는 개방형 협업을 "기여자와 비기여자들에게 이용이 가능할 경제적 가치의 산물(또는 서비스)를 창출하기 위해 소통하는, 목표 지향적이지만 느슨한 공동 작용을 하는 참여자들에 의존하는 혁신 또는 생산 시스템"으로 정의한다.[11] 이 정의는 여러 예시를 포착하며 이 예시들은 모두 유사한 원칙에 의해 결합된다. 예를 들어, 목적의식은 있으나 느슨한 공동 작용을 하는 작품에 기여하고 소비하고 소통할 권한이 개방된 경제 가치 상품인 요소들 전반이 위키백과와 같은 오픈 소스 소프트웨어 프로젝트나 사용자 포럼, 공동체에서 관찰된다. UCC 기반 상업용 웹사이트에서도 볼 수 있다. 이러한 개방형 협업의 예시에서는 누구든지 느슨히 공동 작용을 하는 소통하는 참여자들이 생산한 공유의 산물에 자유로이 기여하고 참여할 수 있다.
개방형 협업의 연구와 실천에 헌신하는 연례 콘퍼런스는 OpenSym(과거 이름: WikiSym)이다.[22] 웹사이트에 따르면 이 단체는 개방형 협업을 "평등주의적이고 능력주의적이며 자기조직화적인 협업"으로 정의한다.[23]
오픈 소스는 오픈 소스나 자유 라이선스를 통해 제품의 설계나 청사진의 보편적인 접근, 그리고 해당 설계나 청사진의 보편적인 재배포를 촉진한다.[24][25] "오픈 소스"라는 용어가 널리 채택되기 전까지 개발자들과 생산자들은 다양한 용어를 사용하였다. "오픈 소스"는 인터넷의 성장과 함께 대중화되었다.[26] 저작권, 라이선스, 도메인, 소비자 문제를 명확히 하기 위해 오픈 소스 소프트웨어 운동이 발생하였다.
오픈 소스 라이선스는 소스 코드, 청사진, 설계를 정의된 조항에 의거하여 사용, 수정, 공유할 수 있게 하기 위해 소프트웨어와 기타 제품을 위한 라이선스의 일종이다.[27][28] 이 경우 최종 사용자와 상업 기업들은 자신들의 맞춤식 수정, 호기심, 또는 문제 해결 요구를 위해 소스 코드, 청사진, 설계를 검토하고 수정할 수 있다. 오픈 소스 라이선스를 받은 소프트웨어는 대부분 무료로 이용이 가능하지만 꼭 그렇다는 의미는 아니다. 개인 목적으로만 소스 코드의 비상업용 재배포와 수정을 허가하는 라이선스는 일반적으로 오픈 소스 라이선스로 간주되지 않는다. 그러나 오픈 소스 라이선스는 일부 제약이 있을 수 있는데, 특히 코드 안에 개발자 이름과 저작권 문구를 보존할 것을 요구하거나 라이선스를 받은 소프트웨어를 동일한 라이선스(예: 카피레프트 라이선스에서처럼)로 재배포할 것을 요구하는 등 소프트웨어의 기원의 관점에 대한 표현에 관련해서 그러하다. 대중적인 오픈 소스 소프트웨어 라이선스들은 오픈 소스의 정의(OSD)에 기반한 오픈 소스 이니셔티브(OSI)의 승인을 받은 것들이다.
일반적으로 오픈 소스는 (상업적 목적을 포함한) 모든 목적을 위해, 또 원래의 디자인으로부터 수정을 할 수 있도록 소스 코드를 일반에 공개한 컴퓨터 프로그램을 말한다. 오픈 소스 코드는 프로그래머들이 소스 코드를 개선시키고 공동체 내의 변경사항을 공유하는 협업적인 노력의 산물을 의미한다. 코드는 소프트웨어 사용권 조항에 의거하여 출시된다. 해당 사용권 조항에 의거하여 다른 사람들은 자신들의 버전(포크/fork)을 다운로드, 수정 후 공동체에 게시할 수 있다.
자유-오픈 소스 소프트웨어(Free and open-source software, FOSS) 또는 자유-오픈 소스 소프트웨어(Free/libre and open-source software, FLOSS)는 사용, 수정, 배포에 어떠한 제한도 없이 라이선스된, 공개적으로 공유되는 소스 코드를 말한다. 이 완전히 제한이 없다는 정의에 관한 혼동이 존재하는데, 그 이유는 "자유로운"으로 알려진 프리(free)라는 용어가 "무료의"로 해석될 수도 있기 때문이다. 예를 들어 "being free to speak"의 free는 "자유로운"인데, 이는 "free beer"의 free(무료)와 동의어가 아니다.[7]
이와는 반대로, 리처드 스톨먼은 "오픈 소스"라는 용어에 대해 언급하면서 이 용어의 지지자들이 오픈 소스의 정의의 조항을 충족해야 한다고 이야기하지만 꼭 다른 권한이 주어지지 않더라도 조사를 위해 소스 코드가 공개되고 접근이 가능해야 한다는 점에는 동의한다.[29]
"자유-오픈"은 공용 소유(국유재산), 탈사사화(국유화), 사유화 반대, 투명한 행위(transparent behavior)와는 구별된다.
오픈 소스 프로젝트에 도움이 되는 모든 활동을 컨트리뷰션(contribution) 또는 기여라고 한다. 버그 수정, 기능 추가, 소스 코드 수정, 코드 테스트와 같은 중요한 활동 이외에도, 오타 수정, 번역, 가이드 문서 작성, 디자인 작업, 의견 제시와 같은 사소한 활동도 컨트리뷰션에 해당한다.
사람들이 컨트리뷰션을 하는 이유는 여러 가지가 있다. 첫째로 사용하던 오픈 소스를 개선한 경우 자신만 사용하면 버전 업이 될 때마다 추가로 패치해야 하는 불편함이 있다. 이 불편함을 해소하기 위해 컨트리뷰션을 한다. 둘째로 개인의 개발 실력 향상과 영어능력 향상을 위해서 하는 경우도 있다. 오픈 소스 커뮤니티로부터 피드백을 받을 수 있어 특히 개발 실력 향상에 도움이 된다. 셋째로 오픈 소스 활동은 공개 기록으로 남기 때문에, 구직 활동 시 자신의 이력으로 사용할 수 있다. 이 외에도 명성을 높이려고 기여하기도 하는 등 다양한 이유로 사람들은 기여에 참여한다.[30]
대부분 오픈 소스 프로젝트 구성원은 다음과 같다.[30]
소스가 공개되는 이유는 다음과 같다.[30]
한편 웹 브라우저를 예로 들어보면 과거 웹 브라우저의 전설처럼 여겨졌던 1994년 당시 세계 시장 점유율 1위였던 넷스케이프 네비게이터(Netscape Navigator)를 MS의 인터넷 익스플로러가 시장에서 밀어내고 2004년을 전후로 전 세계 웹 브라우저 전체 사용량의 90%를 점유하기도 했었으며 약 20년 간 우월적 지위를 누렸다. 또한 인터넷 익스플로러(IE) 웹 브라우저는 독과점 문제로 이슈가 제기된 바 있었다.[31] 그러나 2013년을 기점으로 인터넷 익스플로러는 구글 크롬 웹 브라우저에 의해 우월적 자리를 내주고 나서는 윈도우 그룹의 부사장 존 벨피오레는 2018년 12월 6일 회사 블로그에서 "우리는 고객들을 위해 웹 호환성을 높이고 모든 웹 개발자들을 위해 웹 분열화를 줄이고자 크롬 오픈 소스 프로젝트를 도입하려 한다"고 언급한 바 있다. 이로써 지난 지속적인 익스플로러 버전별 지원 중단에 따른 사용자들의 불편과 관련해서 향후 웹 브라우저의 시장 점유율의 의미는 크게 달라질 것으로 보인다.[32][33][34] 이후 현재 웹 브라우저 시장점유율 1위를 차지하고 있는 구글 크롬 웹 브라우저는 적어도 넷스케이프나 마이크로소프트(MS)의 전철을 밟지않을 가능성이 높다. 크롬은 크로미움이라는 오픈 소스를 기반하고 있어서 독과점에 의해 소스 공개나 신생 상용 브라우저에 의한 경제적인 경쟁 부담이 이미 오픈 소스에 의해 상대적으로 안정되어 있기 때문이다. 이러한 점에서 오픈 소스를 효과적으로 이용하는 대기업의 사례는 기업과 사용자와의 긍정적인 관계형성 면에서 시사하는 바가 클뿐만 아니라 역사적으로 얻은 교훈적인 면에서도 중요한 의미가 있다고 할 수 있다.
장점은 다음과 같다.[35]
단점은 다음과 같다.[35]
오픈 사이언스는 확인 가능한 공유된 지식의 열린 발견 과정으로서 과학적 방법을 사용한다. 이는 프로세스와 연구가 공개적으로 공유되지 않는 회사 소유 과학, 그리고 논문이 유로화 벽 뒤에 감춰졌거나 사적 저널로 출판되는 클로드즈 사이언스와는 대조된다.
Open source doesn't just mean access to the source code.
Open source software differers from other software because it has a less restrictive license agreement: Instead of using a restrictive license that prevents you from modifying the program or sharing it with friends for example, sharing and modifying open source software is encouraged. Anyone who wishes to do so may distribute, modify or even create derivative works based on that source code!
The problem with it is twofold. First, ... the term "free" is very ambiguous ... Second, the term makes a lot of corporate types nervous.
"In contrast to commercial software is a large and growing body of free software that exists in the public domain. Public-domain software is written by microcomputer hobbyists (also known as "hackers") many of whom are professional programmers in their work life. [...] Since everybody has access to source code, many routines have not only been used but dramatically improved by other programmers."
Open collaboration is collaboration that is egalitarian (everyone can join, no principled or artificial barriers to participation exist), meritocratic (decisions and status are merit-based rather than imposed) and self-organizing (processes adapt to people rather than people adapt to pre-defined processes).
However, the obvious meaning for the expression “open source software”—and the one most people seem to think it means—is “You can look at the source code.” [...] the obvious meaning for “open source” is not the meaning that its advocates intend [...]