Open source.
컴퓨터 소프트웨어의 소스 코드를 대중들에게 공개하는 것. 정식 용어로는 오픈 소스 소프트웨어(Open Source Software, OSS)이다. 누구든 자유롭게 소스 코드를 내려 받아서 볼 수도 있고, 자기 컴퓨터에서 컴파일 또는 인터프리트해서 돌려볼 수도 있고, 더 나아가서 버그를 패치한다든가, 기능을 개선한 코드를 올림으로써 프로젝트 발전에 기여할 수 있다.
오픈 소스라는 개념은 리처드 스톨먼이 이끄는 GNU의 자유 소프트웨어(free software) 개념에 대한 반론으로 시작되었다. 자유 소프트웨어가 지나치게 정치적이라고 보는 비판론에서 나온 것이라고 할 수 있는데, '자유'라는 말은 타인의 소스를 자유롭게 사용하고, 그런 결과물을 남도 자유롭게 사용해야 한다는 점에 방점을 찍고 있으며, 저작권을 적대시하고 저작권(copyright)의 반대개념으로 카피레프트(copyleft)라는 개념까지 들고 나왔다. 이러한 자유 소프트웨어 개념과는 달리 오픈 소스는 저작권을 부정하지 않으며, 라이선스에 따라 저작권을 어느 선까지 인정하는지를 결정할 수 있다. 또한 자유 소프트웨어의 철학을 담고 있는 GNU 일반 공중 사용 허가서(GPL)는 GPL 적용 소스 코드가 일부라도 사용된 소프트웨어는 똑같이 GPL이 적용되도록, 즉 전체 소스 코드를 공개하고 타인이 자유롭게 사용하도록 하고 있는데[1] 이러면 소프트웨어로 이익을 창출하려는 기업들은 자유 소프트웨어는 손도 대지 않으려 할 것이다.[2][3] 반면 오픈 소스 소프트웨어는 라이선스를 어떻게 작성하느냐에 따라 그 소스 코드를 갖다 썼더라도 내 소스를 공개할 의무를 가지지 않을 수도 있다. 이에 따라 아파치 라이선스나 MIT 라이선스, BSD 라이선스 등, 원저자의 저작권과 다른 사람들의 사용 범위를 규정하는 갖가지 라이선스가 있다. 따라서 오픈 소스로 소프트웨어를 개발할 때에는 자신이 어느 정도까지 저작권을 인정 받고 싶은지에 따라 적절한 라이선스를 선택할 필요가 있다.
마음이 있고 실력이 되면 오픈 소스 프로젝트에 기여하는 것도 가능하다. 거의 대다수 오픈 소스 프로젝트들이 이런 자원봉사 수준의 기여를 통해서 성장해 왔다. 하지만 실력도 없고 프로젝트 및 그 소스 코드에 대한 충분한 분석과 이해가 없이 기여한답시고 나섰다가는 오히려 쓰레기 코드로 민폐를 끼칠 수 있다. 리눅스의 경우 그런 짓을 했다가는 리누스 토르발스하게 거하게 욕 한 사발이 담긴 답을 받을 수도 있다. 리눅스의 지존님께 욕 먹는 것도 영광이라면 뭐... 소스는 오픈하지만 기여는 폐쇄적으로 하는 프로젝트도 있는데, 예를 들면 애플의 HTML 렌더링 엔진인 Webkit이 그런 경우로, 오픈 소스지만 한때 소스 커밋은 애플 직원만 할 수 있었다.[4][5] 애플의 운영체제 커널인 애플의 오픈 소스 프로젝트들이 대체로 이런 식이다.
오픈 소스=공짜라는 개념을 가지고 있는 사람들이 많지만, 어디까지나 소스 코드가 공짜인 거지 제품까지 공짜라는 법은 없다. 소스 코드를 받아서 자기가 컴파일해서 쓴다면 공짜로 사용할 수 있지만 소스 코드만 풀어 놓고 실제 제품은 유료로 판매하는 경우도 많다. 소프트웨어 그 자체는 오픈 소스로 풀고, 각종 기술지원을 유료로 제공하거나 이를 이용한 네트워크 기반 서비스를 유료 클라우드로 제공하는 비즈니스 모델도 있다.
오픈 소스에 가장 적대적인 인물이라면 지금은 IT 산업계에서 완전 손을 뗀 빌 게이츠. 빌 게이츠는 이전에는 하드웨어를 사면 같이 주는 부품 정도 개념이었던 소프트웨어를, 그 자체만으로도 부가가치를 가지고 돈 주고 사서 쓰는 '상품'으로 가치를 끌어올린 주역이었다. 소프트웨어도 사적 소유 재산이라고 생각한 그에게 공유를 기본 개념으로 하는 오픈 소스가 못마땅한 건 당연한 일. 주로 공격했던 레퍼토리는 보안과 신뢰성 문제였다. 전문적으로 관리되지 않고 누구나 소스 코드를 들여다 볼 수 있으니 취약점을 찾기도 쉽고, 그러니 공격 당하기 쉽다는 논리다. 그러나 누구나 취약점을 찾기 쉬우니 빨리 발견해서 고칠 수 있다는, 동전의 양면도 존재한다.
소프트웨어도 돈 받고 팔 수 있고, 그래서 MS처럼 엄청난 부를 창출할 수 있다는 게 입증되면서 소프트웨어의 주류는 사유 소프트웨어로 쏠렸고, 오픈 소스는 한 동안 힘든 세월을 보냈지만 그래도 리눅스와 몇몇 오픈 소스들은 잘 살아남아서 계속 성장했고, 아파치 HTTP 서버는 웹 사대를 이끌어 간 오픈 소스의 주력이었다. 특히 인터넷의 발전으로 정보의 공유가 아주 쉬워지고, 그 스케일이 세계를 하나로 이어주는 수준이 되면서 오픈 소스의 진입 장벽도 크게 낮아졌고 급속도로 발전해 나간다. 특히 레드햇이 같은 오픈 소스 소프트웨어로도 돈을 잘 벌 수 있다는 사실까지 입증되면서[6] 오픈 소스 생태계는 이제 상업적으로도 성공 가도를 다려 나간다. 데이터베이스도 MySQL, PostgreSQL과 같은 솔루션들이 기업 시장까지 상당 부분을 차지할 정도로 성장했고, NoSQL은 오픈 소스 솔루션들이 다수를 차지하고 있다. 이제는 그 마이크로소프트조차도 사티아 나델라 CEO 체제 속에서 오픈 소스에 적극적인 회사로 변신하고,[7] 빌 게이츠가 '공산주의'라고 그렇게도 씹어대던 오픈 소스의 황제인 리눅스를 윈도우 서브 시스템으로 포함시키는가 하면, 심지어 오픈 소스의 성지로 손꼽히는 GitHub를 인수하기까지 했으니 정말로 격세지감.[8]
MS가 친 오픈 소스로 돌아선 이후 오픈 소스계의 최대 빌런은 오라클. 선을 인수하여 자바를 쥐게 되자 구글 안드로이드에 소송을 건 것처럼 오픈 소스의 개념에 반하는 태도들을 보였고, MySQL, OpenOffice.org와 같은 오픈 소스 프로젝트를 가져다가[9] 점점 오픈 소스 커뮤니티를 등한시하거나 아예 프로젝트를 방치하다시피 하는 모습을 보이다 보니 이에 반발해서 MariaDB, 리브레오피스와 같은 포크 프로젝트들이 뻗어 나와서 빠르게 성장하고 있다.
가장 유명하고, 가장 영향력이 크고, 가장 규모가 큰 오픈 소스 프로젝트라면 뭐니뭐니해도 리눅스 커널이다. 이미 모바일 운영체제는 안드로이드의 심장부인 리눅스가 지배하고 있다고 해도 과언이 아니며, 서버 시장과 각종 디지털 디바이스, 심지어 슈퍼 컴퓨터에까지 널리 쓰이고 있으니 영향력은 타의 추종을 불허한다. 그만큼 규모도 커서 글로벌 IT 대기업들이 여기에 참여하고 있으며 한국의 삼성전자도 기여도가 상위 10위 안에 들어갈 정도다. 워낙에 대기업들이 많이 참여하고 있다 보니 개인 개발자들의 입지는 자꾸만 줄어드는 실정이다.[10]
웹 서버 시장에서 가장 높은 점유율을 차지하고 있는 아파치 HTTP 서버 역시 오픈 소스다. 아파치재단이 이를 기반으로 오픈 소스계에서 강력한 영향력을 쥐고 있으며 수많은 오픈 소스 프로젝트들을 관리하고 있다. 다만 최근에는 아파치 서버의 문제점을 해소한 NGINX가 점유율을 빠르게 올려가면서 강력한 경쟁자로 대두되고 있는데, 이 역시 오픈 소스다.[11]
각주
- ↑ 이렇게 오픈 소스를 사용한 소프트웨어는 해당 오픈 소스와 적어도 같은 수준의 오픈 소스 라이선스의 적용을 받는 것을 오픈 소스의 '전염성'이라고 한다.
- ↑ 자유 소프트웨어는 애초부터 소프트웨어는 인류의 공용 자산이고 그걸 사유 재산화해서 돈 벌 생각 하지 말라는 개념이다.
- ↑ GNU 약소 공중 사용 허가서(LGPL)는 LGPL 라이선스 라이브러리를 사용하는 프로그램은 (L)GPL 조건을 따르지 않아도 되도록 하고 있다.
- ↑ Webkit 엔진을 쓰던 구글 크롬은 결국 Blink라는 새로운 엔진으로 분기해서 나갔는데, 기껏 여러 기여자들이 추가한 기능을 새 버전 공개 때 애플이 자기들에게는 필요 없다고 삭제해 버리다 보니 비 애플 진영의 불만이 점점 커진 탓도 있다. 그러나 Blink도 Webkit에서 포크해 나간 거라 WebKit의 라이선스 정책은 따라야 한다.
- ↑ "구글 블링크, 웹킷 생태계 지각변동", ZDNET Korea, 2013년 4월 21일.
- ↑ 레드햇이 리눅스를 만드는 건 아니지만 리눅스 배포판을 만들고 기업을 상대로 리눅스 기술지원을 하면서 수익을 낸다.
- ↑ 과거에는 운영체제를 장악하고 이를 통한 PC 소프트웨어 판매가 주력 수익 모델이었다면 지금은 애저(Azure)를 앞세운 클라우드 서비스를 주력하고 대변신을 했다.
- ↑ 이후 MS는 MS-DOS 소스 코드를 GitHub에 올렸다.
- ↑ 둘 다 자바처럼 선이 가지고 있었던 것으로 오라클이 선을 인수하면서 같이 넘어왔다.
- ↑ 일단 좀 잘 한다 싶은 개인 개발자들이 있으면 대기업들이 스카웃해 간다.
- ↑ 다만 추가 기능을 탑재한 NGINX Plus는 유료이며 상용 라이선스다.