오픈소스(Open Source)를 사용하는 이유

제가 소프트웨어의 개념을 처음 접한 시기는 1991년 이었던거 같습니다. 중고로 구입한 흑백(허큘리스) 모니터에 286 AT 컴퓨터에서 MircroSoft의 MS-DOS 6.0이 운영체제였던 환경이었습니다.

당시만 해도 가정에 PC가 보급이 많이 안되던 시기여서 PC를 보유했던 가정은 드물었고 저희 집은 부모님이 아이들의 교육을 위해서 PC를 중고로 구입하셨던거 같았습니다. 덕분에 어린 초등학생(당시 국민학생)들은 마음껏 게임의 세계에 빠지기도 했습니다.^^

그때 당시에는 소프트웨어의 구입은 사실 손에 꼽을 정도 였을것으로 기억됩니다. 저 또한 돈을 주고 구입한 소프트웨어는 전무하다시피 했습니다. 운영체제인 MS-DOS부터 워드프로세서인 아래아한글 (1.52), 그리고 각종 게임들까지.. 모두 불법으로 복사한 소프트웨어들이었습니다.

마이크로소프트의 MS-DOS 당시에는 주로 사용하던 운영체제였다

1990년대 초반에는 불법복제에 대한 인식도 그리 잘못되었다고 생각하지 않았을뿐만 아니라 시장에서 규모가 크지 않았기 때문에 불법복제가 판을 치던 시기였습니다. 그러한 이유로 국내 업계에서는 소프트웨어 개발사들이 성장을 할수가 없었던 환경이기도 했습니다. ( 유일하게 한글과컴퓨터와 안철수연구소(현 안랩) 등이 현재까지 살아남은 국내 소프트웨어 기업입니다. )

S/W 패러다임의 전환

1991년 리눅스가 세상에 공개가 된 이후에 소프트웨어 산업은 서서히 패러다임이 전환되기 시작했습니다. 바로 네트워크의 발전과 오픈소스의 등장이었습니다. 기존 마이크로소프트의 MS-DOS와 Windows는 PC의 OS를 독점하고 있었지만, 리눅스의 등장으로 네트워크 서버시장의 점유율을 높여 가고 있었기 때문이었습니다.

그러나 리눅스의 등장만으로 패러다임이 바뀐게 아닙니다. 리눅스의 등장으로 인해 바로 ‘오픈소스’라는 새로운 개념이 생겼기 때문에 소프트웨어 산업의 패러다임이 바뀐겁니다.

마이크로소프트는 전통적으로 자사의 제품군들에 대하여 소스를 공개를 하지 않습니다. 그건 현재까지도 마찬가지로써 사실 어째보면 자신들의 매출원인 소프트웨어 제품들의 소스를 공개한다는거 자체가 말이 안되는 개념인 것이었습니다.

하지만 리눅스의 창시자인 ‘리누스 토발즈’는 그런 개념을 아예 송두리째 바꿔버립니다. 본인이 개발한 OS인 미닉스(리눅스의 초기버전)의 소스코드를 누구나 볼수 있게 공개를 해버린 것이죠. 그 결과 수많은 프로그래머들과 해커들에 의해 리눅스는 엄청난 성장을 이루게 됩니다. 바로 ‘오픈소스’ 라는 개념의 시작이었습니다.

GPL(Gerneral Public License)

오픈소스는 간단하게 얘기해서 특정 목적을 가진 소프트웨어의 Source Code(소스코드)를 누구나 볼수 있고 가공 및 재 판매를 할수 있는 공개된 소프트웨어를 의미합니다. 따라서 개인/기업이든 누구나 오픈소스를 활용하여 본인의 용도에 맞게 수정 및 배포를 할 수 있습니다.

리눅스가 점점 대중화되자 오픈소스 소프트웨어가 늘어나게 되었는데, 이 오픈소스 소프트웨어들에 대한 라이선스를 어떻게 할지에 대하여 논의가 발생하게 되었습니다. 그래서 자유 소프트웨어 재단(FSF)에서 GPL이라는 라이선스를 오픈소스에 대하여 적용하기로 협의를 도출하게 되었습니다.

따라서 오픈소스 소프트웨어에 대한 규정이 발생하였는데, 몇가지 예를 들면 다음과 같습니다.

  • 오픈소스 소프트웨어는 어떤 목적이로든 사용할수 있다. 또한 법적으로 제제할수 없다.
  • 용도에 따라 변경할 수 있다.(즉 어떤 형태로든 수정이 가능함.)
  • 변경된 소프트웨어는 실행본과 함께 판매할수 있다. 다만 그 소스코드는 무료료 배표해야 한다.
  • 변경된 소프트웨어 소스코드 또한 공개해야 한다.
  • 변경된 소프트웨어 또한 GPL 라이선스를 따른다.

이외에 좀더 자세한 규정은 자유 소프트웨어 재단 홈페이지를 참조하시기 바랍니다.

오픈소스의 성장 및 소프트웨어 산업의 변화

오픈소스인 리눅스는 공개되고 나서 거침없이 성장했습니다. 네트워크 서버나 네트워크 장치/장비들에 탑재되어 인터넷 환경의 발전을 초래했다고 봐도 될거 같습니다. 마이크로소프트의 Windows가 인터넷 환경에 사용자들이 접근하기 편리하게 만들었다고 하면 리눅스는 인터넷환경을 구축했다고 보시면 됩니다.

그 발전의 촉매제는 바로 오픈소스의 공급이라고 보면 됩니다. 수많은 네트워크 장치/장비들의 툴이나 유틸리티가 바로 리눅스 기반의 오픈소스이니까요.가장 실생활에 가깝게 얘를 들어보면 각 가정에 보급된 인터넷 공유기가 바로 리눅스가 탑재된 네트워크 라우팅 장비입니다. 가정에 인터넷 공유기의 보급은 일반 사용자의 인터넷 사용을 편리하고 손쉽게 접근하게 유도했다고 해도 과언이 아닐듯 싶습니다.

국내 공유기의 대표적인 제품 IP Time 공유기

인터넷 공유기(Router)는 제조사에서 오픈소스인 리눅스를 기반으로 개발이 된 제품입니다. 당연히 오픈소스를 사용하였기에 개발 비용이 많이 저렴해졌고, 사용자들에게는 저렴한 가격으로 공급이 가능했습니다. 바로 오픈소스의 힘! 입니다^^

위의 소개해 드린 사례는 오픈소스가 미친 소프트웨어 업계 트랜드의 변화에 극히 일부이며, 이 외에도 수많은 장치/장비 혹은 소프트웨어 솔루션들이 오픈소스를 활용하여 개발되고 보급되고 있습니다. 또한 오픈소스 자체로 지속적으로 개발 및 업그레이드 됨으로써 소프트웨어 산업이 훨씬 더 진일보하게 발전했다고 평가되고 있습니다.

그럼 오픈소스 활용의 대표적인 사례를 알아보겠습니다.

네트워크 장치/장비/서버

현재 인터넷 환경의 수많은 네트워크 장치/장비/서버들이 오픈소스 기반인 ‘리눅스’로 활용되어 운영되고 있습니다. 리눅스 기반의 웹서버, 데이터베이스 서버, FTP서버, 메일서버 등이 리눅스 기반으로 설치되어 개발 및 보급되어 있습니다. 이들 또한 오픈소스를 활용하여 운영이 되고 있습니다.

네트워크 서버용으로 많이 보급된 레드햇 리눅스

또한 네트워크 스위치, 라우터, 보안(IDS/IPS, DDOS차단) 등의 네트워크 장치/장비 또한 리눅스 기반의 오픈소스를 사용하여 개발되고 공급되고 있습니다. 이들 장치/장비 또한 오픈소스를 활용한 예라고 볼 수 있습니다.

리눅스 기반의 임베디드 장치/장비

수많은 임베디드 장치/장비들이 오픈소스에 힘입어 저렴한 비용에 개발되어 공급되고 있습니다. 그 종류에 수는 헤아릴수 없을 정도로 많아서 전자/통신/IT등의 각종 산업에 이용이 되고 있습니다.

대표적으로 몇가지를 예로 들면, 예전의 PMP등의 미디어 장치와 자동차의 블랙박스, 산업용 계측기, 네비게이션, TV등의 가전 부터 군용 무기, 우주 항공등의 분야까지 다양한 분야에서 리눅스 기반의 오픈소스가 활용되고 있다고 보시면 되겠습니다.

안드로이드 OS

안드로이드 OS는 구글에서 개발하여 배포하는 스마트폰용 OS입니다. 10여년전의 스마트폰 혁명을 이루었던 애플사의 아이폰과 더불어 안드로이드 폰에 동작하는 오픈소스 기반의 OS 솔루션입니다.

구글의 스마트폰 OS인 안드로이드

안드로이드 OS는 리눅스 커널(Kernel)을 탑재하여 사용하였기 때문에 GPL 라이선스에 따라서 관련 소스가 공개되어 현재까지 배포되어 사용되고 있습니다. 아시다시피 안드로이드 OS는 애플의 IOS와 더불어 스마트폰 OS의 양대산맥이며, 우리나라의 삼성전자, LG전자를 비롯하여 전세계의 스마트폰 제조사들이 안드로이드 OS를 탑재하여 스마트폰을 제조 및 판매하고 있습니다.

안드로이드를 탑재한 스마트폰이 급속도로 보급되고 이에 안드로이드 OS 기반의 어플리케이션(이하 앱)의 수요가 급속도로 높아져서 앱 관련 산업의 규모가 기하급수적으로 커지고 또한 관련 종사자 및 생태계가 잘 구성이 되어 현재에는 우리 생활의 전반에 영향을 미치고 있습니다. 이또한 오픈소스가 활용된 예라고 볼수 있습니다.

Windows기반의 오픈소스 프로그램들

오픈소스가 리눅스 기반의 프로그램들만 해당될까요? 아닙니다. 오픈소스는 OS나 환경에 상관없이 소스가 공개된 솔루션을 의미하기 때문에 범위는 훨씬 넓다고 볼수 있습니다.

Windows기반의 대표적인 오픈소스 프로그램은 바로 파이어폭스입니다. 파이어폭스는 인터넷 익스플로러, 구글 크롬 등과 함께 3대 웹 브라우저로 알려져 있으며, Netscape 웹 브라우저를 모질라 재단이 인수하여 오픈소스로 공개하면서 현재까지 개발 및 발전되고 있습니다.

모질라 파이어폭스

물론 파이어폭스는 Windows 뿐만 아니라 MAC, Linux등의 OS에도 지원이 됩니다. 여기서는 Windows기반의 대표적인 오픈소스를 예로 언급을 했다고 보시면 되겠습니다.

기타 메일 프로그램인 모질라의 썬더버드, 아파치재단의 오픈오피스, 그래픽 편집 프로그램인 GIMP, FTP Client/Server 프로그램인 Filezillar 등이 있습니다.

왜 오픈소스를 사용하는가?

그렇다면 여기서 궁금해집니다. 과연 오픈소스를 왜 사용하고 현재 소프트웨어 산업의 트랜드가 오픈소스가 큰 비중을 차지할 정도로 바뀌었을까요? 오픈소스를 사용하면 오픈소스를 제공한 개인이나 기업은 수익을 어떻게 얻을수 있을까요? 무료로 제공되는 오픈소스의 성격상 자원봉사의 성격일까요?

바로 부가적인 방법으로 오픈소스 제공자들은 수익을 올릴 수 있습니다. 여기서 핵심은 소프트웨어 판매로 수익을 창출하는 기존의 방식에서 오픈소스를 제공하고 그에 따라 기술지원이나 협력을 통해 부가적인 방식으로 수익을 올리는 방식으로 전환되었다고 보시면 되겠습니다.

제가 초반부에서 1990년대 초반만 하더라도 소프트웨어 불법복제가 판을 쳤다고 말씀을 드린적이 있습니다. 그렇습니다. 복제가 만연해 있던 소프트웨어 생태계 시장에서 더이상의 소프트웨어 기업은 수익을 창출하는데에 한계가 있었고, 때마침 등장한 리눅스와 같은 오픈소스의 등장으로, 아예 소프트웨어의 제공을 무료 혹은 소스 공개를 통해 누구가 제공하는 대신에 이를 사용하는 기업에 기술 지원이나 협업을 통해 부가적인 매출을 올릴 수 있는 방식으로 대안을 찾은 것이었습니다.

따라서 오픈소스는 소프트웨어 기업의 기술 발전과 매출 증진의 두 마리 토끼를 동시에 잡을 수 있는 기회가 발생하게 되었습니다. 오픈 소스를 사용하는 개인이나 기업의 끊임없는 기술 지원 요청과 이슈 트래킹은 기술발전을 증진시키면서 서로 상생하는 아주 효과적인 방식이라고 볼수 있게 된 것입니다.

이에 오픈소스를 활용한 솔루션을 통해 거대 기업으로 성장한 구글, 오라클 등의 사례가 좋은 예라고 볼수 있습니다.

구글의 로고

오히려 폐쇠적인 정책을 고집했던 마이크로소프트는 이들 기업에 시대적인 흐름을 빼앗기는 결과를 초래하게 됩니다. 그만큼 현재 부터 앞으로도 오픈소스는 소프트웨어 업계의 트랜드로 당분간은 자리잡을 것으로 보입니다.

저 또한 오픈소스를 개발하여 공개하고 싶은 사람으로써 오픈소스의 발전에 기여를 했으면 하는 바램입니다.

 

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.