오픈소스 소프트웨어의 역사

1월 12일 업데이트됨


우리는 알게 모르게 많은 오픈소스 소프트웨어를 이용하고 있고, 개발자들도 개발 과정에서도 많은 오픈소스 소프트웨어에 의존하고 있다.

오픈소스 소프트웨어는 무료 소프트웨어의 공유라는 단순한 의미를 넘어 안드로이드 스마트폰에서 보았듯이 어느덧 기업의 비즈니스 모델로 확고하게 자리 잡고 있으며, 나아가 앞으로 상용 소프트웨어를 대체할 것으로 예상하는 사람들도 있는 실정이다. 이에 이번 기회에 오픈소스 소프트웨어의 역사를 한 번 짚어보고자 한다.

“누군가가 나의 등잔의 심지에서 불을 붙여가도 내 등잔의 불은 여전히 빛나고 있습니다.” 미국의 정치가 토머스 제퍼슨이 한 말이다. 이러한 명언은 이후 오픈소스 소프트웨어 생성의 정신적 기초가 됐다.

오픈소스 소프트웨어(Open Source Software, OSS)란 일반 사용자의 공동연구를 통해 개발, 시험, 개선작업과 공동연구를 보장하기 위해 해당 소프트웨어의 소스코드(인간이 읽을 수 있는 언어 형식으로 작성된 것, 대표적인 언어 형식으로는 C, Java 등이 있다)가 공개되는 소프트웨어를 말한다.

대표적인 오픈소스 소프트웨어로는 최근 안드로이드(android) 때문에 모바일 플랫폼으로서 각광을 받고 있는 리눅스 커널(linux kernel, 점유율 약 50%), 서버시장의 약 30%의 점유율을 보이고 있는 리눅스 OS, 전세계 웹서버의 60% 이상을 차지하고 있는 아파치(apache), DB 분야의 선두주자인 MySQL, 통합개발환경을 제공하는 이클립스(eclipse) 등이 있다. 우리나라에서도 이름난 오픈소스 소프트웨어가 있으니, 과거 NHN(현 네이버)이 인수해 전세계의 웹콘텐츠 플랫폼 시장의 약 60%를 휩쓸고 있는 익스프레스엔진(XpressEngine, XE)이 그것이다.

오픈소스 소프트웨어의 기원은 1980년대로 거슬러 올라간다. 하드웨어 중심 체제로부터 점점 소프트웨어의 비중이 높아지면서 소프트웨어 기업의 소프트웨어에 대한 이용·배포·복제·수정 등에 일정한 제한을 가하려고 하는 추세가 있자, 이러한 ‘독점’ 체제에 반발해 ‘공유’를 주장하는 운동이 리차드 스톨만(Richard Stallman)에 의해 일어났다.

리차드 스톨만은 소프트웨어 상업화에 반대하고 소프트웨어 개발 초기의 상호협력적인 문화로 돌아갈 것을 주장하며 1984년 GNU(GNU is Not UNIX)프로젝트를 주도했고, 이듬해인 1985년 FSF(프리 소프트웨어 재단, http://www.fsf.org)를 조직하면서, ‘소프트웨어는 공유돼야 하며 프로그래머는 소프트웨어로 돈을 벌어서는 안 된다’는 내용의 GNU 선언문을 제정하기도 했고, 이를 지원하기 위해 저작권(copyright)에 대응하는 카피레프트 운동도 주창했다.

1990년대 들어서면서 인터넷의 보급과 더불어 GNU GPL(General Public License)로 배포된 리눅스의 보급으로 자유소프트웨어 운동이 확산됐고, 1998년에는 MS의 웹브라우저인 익스플로러에 밀려 어려움을 겪고 있던 넷츠케이프(Netscape)사가 웹브라우저 모질라의 소스코드를 공개하는 결정을 하게 됐다.

그 즈음 자유소프트웨어라는 용어에서 오픈소스 소프트웨어로 용어가 변경되는데, 자유(free)란 용어 때문에 일반인들이 무료라고 인식하고 있다는 점, GPL 조항의 엄격성 때문에 소프트웨어 개발이 용이하지 않다는 점을 탈피하기 위해서였다.

이후 1998년 오픈소스 소프트웨어를 인증하는 OSI(Open Source Initiative, www.opensource.net)가 에릭 레이몬드(Eric Raymond) 등에 의해 결성되면서 오픈소스 소프트웨어 운동은 궤도에 오르게 된다.

OSI 단체가 정한 오픈소스 소프트웨어의 기준을 OSD(Open Source Definition)이라 하는데, 이 기준을 만족해야만 오픈소스 소프트웨어로 인정받게 된다.

참고로, OSD 기준에 따르면 오픈소스 소프트웨어는 6가지 요건을 갖추어야 한다. ▲자유로운 재배포(Free Redistribution) ▲소스코드 공개(Source Code) ▲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).

위와 같은 역사를 거쳐 이제 오픈소스 소프트웨어는 소프트웨어의 한 축을 잡게 됐다.

* 법무법인 민후 김경환 대표변호사 작성, 디지털데일리(2014. 2. 21.), 마이크로소프트웨어 기고.