아래 글은 KAIT(한국정보통신 진흥협회)의 소식지 '이음n울림'의 9-10월호에 기고한 글입니다.
공개소스에 관한 글인데 사이트에 가시면 Active-X가 필요합니다. 할 수 없이 그냥도 읽을 수 있게 다시 올립니다.
실제 잡지엔 약간 더 편집되어 오탈자도 없고 예쁘게 되어있습니다.

리눅스의 성공

정확하게 20년 전, 핀란드의 한 젊은이가 ‘그냥 취미로’ 운영체제를 만들었다.
이 운영체제는 다음 날부터
뉴스 룹을 통해 급속히 퍼져 나갔고, 10년 쯤 후엔 세계적인 소프트웨어, 하드웨어, 반도체 회사들이 모두 그 운영체제를 적극 지 원한다고 나섰다. 20년이 지난 지금은 전 세계의 서버 가운데 60% 이상, 전 세계 스마트폰의 50% 정도가 그 운영체제를 사용하고 있다. 그 운영체제는 바로 리눅스이다.

리누스 토발즈에 의해 20년 전 처음 리눅스를 만들어 공개되었던 리눅스는 이제 서버와 수퍼컴퓨터, IT, 모바일 시스템 산업을 지탱하는 중요한 부분이 되었다. 그리고 최근에 폭발적으로 증가하는 클라우드 컴퓨팅 환경의 양 끝단에서도 리눅스는 큰 역할을 하고 있다.
 


<그림 1> 리눅스를 사용하는 정보기기

이러한 리눅스의 기적적인 발전과 성공은 공개소스 소프트웨어로서, 자신의 창의적인 아이디어를 그 안에 담고자 했던 수많은 자원 개발자들의 기여, 리눅스를 사업에 활용하는 많은 기업들의 지원, 그리고 더 많은 기능과 혁신을 끊임없이 요구했던 사용자들이 있었기 때문이다. 새로운 커널이 릴리즈 되기까지는 100개 이상의 회사에서 1,000명 이상의 개발자들에 의한 기여가 있으며, 리눅스 커널을 개발하는 커뮤니티 크기는 해마다 10% 정도씩 늘어나고 있다.

리눅스 재단은 2008년 리눅스 커널의 가치를 14억불 정도로 평가하였으며, 레드햇의 Fedora 9 배포판을 기준으로 할 때, 리눅스 플랫폼 전체를 처음부터 만든다면 108억불 정도 소요될 것으로 예상하였다. Fedora 9은 무려 2억 4백 5십만 라인의 소스로 구성되었으며, 71만 Man-Month가 소요되어야 개발 될 수 있다고 추정한다[1].

공개소스 소프트웨어의 역량

공개소스 소프트웨어는 어떤 솔루션을 만들어내기 위한 방법론이기도 하지만, 일종의 문화 현상과 같은 것으로 이해하는 것이 좋다. 음악, 미술, 문학이 모든 인간에게 위로와 감동, 환희를 주며, 그것이 사회의 건전한 발전에 기여한다. 공개소스 소프트웨어는 개발자와 사용자 커뮤니티에 의해 이루어지는 개발과 리뷰, 시험, 검증 과정을 거치면서 품질이 개선되고, 널리 배포됨으로써 정보 및 통신 산업뿐만 아니라, 전 융합 분야의 발전에 크게 기여한다.

공개소스 소프트웨어의 의미는 백과사전 만들기와 비교될 수 있다. Microsoft Encarta[2]는 마이크로소프트가 1993년부터 2009년까지 만들었던 디지털 멀티미디어 백과사전이다. 이 사전은 62,000개의 주제와 관련된 멀티미디어 데이터를 포함하고 있었으며, 여러 언어로 발매되었다. 이 제품은 마이크로소프트가 심혈을 기울인 사업의 결과물이지만, 백과사전을 이루는 다양한 지식을 한 회사가 관련 전문가들을 고용하여 수집하고 내용의 변화에 빠르게 대응하기에는 너무나 많은 비용이 들었기 때문에, 결국 포기하기에 이른다.

반면에 Wikipedia[3]는 2001년에 Jimmy Wales와 Larry Sanger에 의해 만들어진 온라인 백과 사전으로 1천9백만개(영어 기준으로 370만개)의 주제를 포함하고 있다. 이 주제들에 대한 내용은 전 세계의 자원봉사자들에 의해 유지된다. 2011년 7월 기준으로 약 9만명의 적극적인 자원봉사자들이 282개 언어로 백과사전의 내용을 지속적으로 개정하고 확대해 나간다. Wikipedia의 문서들은 기본적으로 Creative Commons 라이선스 되어 누구나 보고 인용하고, 수정할 수 있다. - 기본적으로 Creative Commons Attribution/Share-Alike (CC-BY-SA 3.0) 라이선스가 적용되며, 대부분의 자료는 GFDL (GNU Free Document License) 라이선스도 동시에 적용된다. 위키피디아의 사진, 영상 등은 각각 다양한 라이선스를 가진다.
  


<그림 2> Microsoft Encarta 2008 Premium(좌)과 Wikipedia (우)

Wikipedia는 2006년의 Time지의 올해의 인물로 선정되기도 하였으며, 3억6천만명 이상이 사용하고 있으며, 구글이 선정한 세계 5대 홈페이지에 들 정도로 발전하였다.

위 예에서, Encarta는 소스가 공개되지 않은 사적 소프트웨어, Wikipedia는 공개소스 소프트웨어에 비유될 수 있다. 성공한 공개소스 소프트웨어들은 집단 지성에 의해 만들어지고, 그 소스가 리뷰, 검증됨으로써 사적 소프트웨어에 비하여 높은 성능은 물론, 신뢰성과 보안성 측면에서도 우월하다.

국내에서는 2009년 스마트폰이 도입되면서, 특정 업체의 기술에 의존하는 정부와 금융 서비스가 문제가 되면서, 공개표준에 대한 중요성이 크게 부각되기 시작하였다. 공개소스 소프트웨어는 공개표준을 기반으로 만들어지기 때문에, 가장 적은 비용으로 표준 기술을 수용할 수 있는 방법을 제공한다.

현재도 IT 제조업의 선도국가로서 우리나라는 스마트폰, 디지털 TV, 셋탑박스 등 많은 제품에 리눅스를 비롯한 많은 공개소스 소프트웨어를 사용하고 있다. 정부도 공개소스 소프트웨어 기반으로 전자정부 표준프레임워크를 구축하여 전자정부 응용 소프트웨어 구현의 생산성을 향상하고 재사용을 촉진하기 위해 노력하고 있으며, 이 표준프레임워크는 민간 영역으로 확산되고 있다. 공개소스 소프트웨어의 사용은 외산 유료 소프트웨어 라이선스에 소요되던 서비스 구축 비용의 대부분을 기술 지원 부분으로 돌림으로써, 국내 IT 일자리 창출에도 크게 기여한다. 국제적으로도 공공부분에서의 공개소스 소프트웨어 도입은 빠르게 확산되어가고 있는 추세이다.

국산 소프트웨어 플랫폼에 관한 논의와 공개소스 소프트웨어

안드로이드 스마트폰 플랫폼을 만든 구글이 얼마 전 모토로라 모빌리티의 인수를 발표했다. 이 사실이 기사화 될 때, 국내에서는 다음 두 가지의 포인트가 뉴스의 핵심이었다. 첫째는 그간 공개소스를 표방해왔던 구글이 제조사를 인수함으로써 공개소스 정책에 대한 의지가 시험대에 올랐다는 측면이고, 둘째는 국산 모바일 소프트웨어 플랫폼의 필요성에 관한 측면이다.

첫 번째 측면을 먼저 살펴보자. 현재 모바일 소프트웨어 플랫폼으로서 안드로이드의 가치는 공개소스 소프트웨어이기 때문에 만들어진 것이며, 앞으로도 그럴 것이라고 보는 것이 타당하다. 이는 안드로이드 프레임워크와 그 하부를 이루는 리눅스 커널의 소스를 볼 수 있는 많은 개발자, 연구자들이 구현된 내용을 검증하고, 다양한 방향으로 개선하고 새로운 기능을 추가하고 있다는 점과, 그렇게 만들어진 플랫폼을 여러 제조사들이 실제 스마트폰에 적용함으로써 가능한 것이다. 즉, 안드로이드의 가치는 스마트폰 플랫폼의 개발, 제조사들의 활용, 개인 또는 기업 개발자들에 의한 응용 프로그램의 개발, 마켓에 의한 유통을 아우르는 큰 규모의 생태계가 구성되어 이룩된 것이다. 이런 생태계는 공개소스 소프트웨어가 아니었다면 이룰 수가 없었을 것이며, 이런 생태계가 구글을 안드로이드 사업을 성공으로 이끌었기 때문에, 구글이 이를 포기한다는 것은 생각하기 힘든 선택이 될 것으로 판단된다.

두 번째 측면의 핵심은 독자적인 국산 플랫폼을 만들어야 할 것인가이다. 많은 전문가들, 스마트폰 제조사들은 국산 모바일 플랫폼 개발에 대체적으로 부정적인 것 같다. 독자적인 플랫폼 추진 또는 반대에는 나름대로 많은 이유들이 있지만, 반대하는 이유의 핵심 또한 공개소스 소프트웨어와 관련이 있다. 모바일 플랫폼에는 공개 소스가 아닌 애플의 iOS와 구글이 주도하는 안드로이드, 인텔과 노키아가 주도하지만 장래가 불투명한 Meego[4], 아직은 SDK조차 내놓지 못하고 있는 리모 재단의 Limo[5]까지 여러 공개소스 소프트웨어 모바일 플랫폼이 존재한다. 현재 상황을 미루어볼 때, 이미 안드로이드가 확고한 시장 주도적 위치에 올라, 다른 공개 소스 모바일 플랫폼이나 전혀 새로운 플랫폼이 시장에서 자리를 잡을 가능성은 매우 낮다. 공개소스 플랫폼인 Meego와 Limo가 모바일 환경에서 활용 가능한 공개소스 솔루션들을 거의 모두 포함하고 있음에도 불구하고, 성공하지 못하고 있는 것이 그 증거로 제시되고 있다. 이는 누가 만들어도 UI/UX를 제외하고는 유사한 것이 될 수밖에 없는 공개소스 모바일 플랫폼을 개발하는 것이 그리 희망적이지 않다는 것을 의미한다. 그렇다고 공개소스 소프트웨어를 전혀 활용하지 않는 전혀 새로운 모바일 플랫폼 개발을 하는 것은 이글 앞머리에서의 리눅스 가치 논의에서처럼 천문학적 비용과 노력, 기간이 소요되어 현실성이 없으며, 커뮤니티에서 장기간에 걸쳐 완성된 공개소스 기반 플랫폼에 비하여 기술적 혁신성도 기대하기 어렵다는 것이다.

하지만, 국방, 자동차와 같은 일부 산업 분야에서는 국가적인 소프트웨어 플랫폼이 성공할 가능성도 높다. 이 경우에도 개발은 공개소스 소프트웨어 개발 방식을 따르는 것이 바람직하다. 공개 소스 개발방식이 품질과 성능, 보안성을 담보하고, 새로운 기능에 대한 실질적 사용자들의 요구가 빠른 시간 내에 수용될 수 있는 가장 효율적인 방법이기 때문이다.

공개소스 소프트웨어 발전을 위한 지원 방향

IT, 소프트웨어 산업의 안정적인 발전을 위해서는 공개소스 소프트웨어에 대한 지속적인 지원이 있어야 한다. 공개소스 소프트웨어에 대한 투자는 공개소스 소프트웨어의 개발을 위한 지원, 효과적이면서 안전한 활용을 위한 지원, 개발 및 활용 인력 양성을 위한 지원, 그리고 공개소스 소프트웨어에 대한 인식 제고를 위한 지원으로 구분될 수 있다. 이러한 지원 활동에는 정부, 기업, 교육계 각자의 몫이 있다. 현대적인 시장질서 하에서 정부가 인위적으로 시장을 창출하기는 어렵지만, 적어도 공공사업에서 공개소스 소프트웨어 활용을 권장하고, 전자정부 표준프레임워크[6]와 같은 기술적 지원 활동, OLC 사업[7]과 같은 공개소스 소프트웨어 기술 교육 사업 등이 가능하다.

공개소스 소프트웨어를 활용하는 우리 IT 관련 기업들도 공개소스 소프트웨어의 활용에 따른 이득의 일부를 커뮤니티에 환원함으로써 커뮤니티를 발전시키고, 다시 그를 통해 개선된 결과를 자신의 제품 혁신에 사용할 수 있는 선순환 구조를 만들 수 있다. 또 자사 소프트웨어 엔지니어들이 공개소스 커뮤니티 활동을 할 수 있도록 지원하고, 필요한 새로운 기술의 개발을 공개소스 방식으로 주도함으로써 기여도 하고 가장 유리한 입장에서 그 결과물을 활용할 수 있다. 기업들은 문화 현상으로서의 공개소스 활동이 결국 소프트웨어적 창의성에 기여한다고 할 때, 문화, 예술 활동에 지원하는 메세나 운동처럼, 우선 자사와 관련이 있는 부분에서부터라도, 외부에서 자발적으로 이루어지는 공개소스 커뮤니티 활동에 세미나 공간이나 간식을 제공하는 등의 다양한 방법으로 지원하는 것도 좋다.

대학을 비롯한 교육계 역시 특정 회사의 비공개소스 교육도구 의존성을 낮추고, 공개소스를 생산하고 활용할 수 있는 인력 양성에 더욱 힘써야 한다. 즉 공개소스 운영체제와 도구를 이용한 교육을 하고, 캡스톤 디자인 등의 과정을 공개소스 방식으로 진행하여 공개소스 소프트웨어 및 커뮤니티에 익숙하게 하는 것이다. 이러한 교육 방식은 학생들이 교육 과정에서 행하는 활동과 개발 결과물을 통하여 커뮤니티에 기여하도록 함으로써 공개소스 소프트웨어 생태계의 중요한 일원이 되도록 하여 지속 가능성을 확보한다. 또 커뮤니티 활동 경험과 기여는 학생들의 취업에도 큰 도움이 된다.

정부지원에 의한 R&D 가운데 가능한 것들을 공개소스 개발 방식으로 진행하여, 연구의 전 과정을 공개함으로써 R&D 결과의 활용성을 넓히는 방법도 있다. 현실적으로 국내외 기업 및 공공기관 등에서 공개소스 소프트웨어를 활용한 소프트웨어 개발이 점진적으로 증가하고 있으므로, 이를 제도화하여 개발의 효율성을 증대하고, 자원의 재활용, 결과물의 보급이 용이하도록 하는 것이다.

현재는 적지 않은 국가 R&D 결과물이 그 성공여부를 떠나, 잘 활용되고 있지 않은 상황이다. 또 국가 R&D에서 공개소스 소프트웨어의 활용이 점차 늘어나고 있음에도 불구하고, 공개소스 소프트웨어 거버넌스의 적용이 거의 이루어지지 않고 있기 때문에, 국가 R&D 결과물의 활용에 소프트웨어 라이선스 문제가 따르기도 한다.

이를 위해서는 좀 더 적극적으로 과제의 기획 단계에서부터, 공개소스 개발 방식의 이득 평가, 기존 공개소스 솔루션에 대한 성숙도 평가, 기존 소스 활용, 프로젝트 관리, 운영, 결과의 공개 등을 체계적 관리, 운영하기 위한 지침과 공개소스 소프트웨어 거버넌스 적용이 필요하다.

결어

공개소스 소프트웨어는 IT 제조 강국으로서 우리나라의 IT 및 융합 산업에 아주 중요한 기초 자산으로 활용되어야 한다. 또한 공개소스 소프트웨어는 단기적으로 우리가 창의성을 전제로 하는 서비스 및 콘텐츠 부분에 역량을 집중할 수 있게 해주는 고마운 존재이다. 하지만 최근의 국산 소프트웨어 플랫폼 논의에서 보는 바와 같이 핵심 소프트웨어 경쟁력의 확보를 위해서는 장기적인 관점에서 공개소스 소프트웨어에 대한 정부와 기업의 지속적 지원과 교육 환경의 개선이 반드시 필요하다.

<참고자료>
1) Amanda McPherson, Brian Proffitt, and Ron Hale-Evans, “Estimating the Total Development Cost of Linux Distribution," the Linux Foundation, Oct. 2008.
2) Microsoft Encarta 홈페이지, http://en.wikipedia.org/wiki/Encarta
3) 위키피디아 홈페이지, http://en.wikipedia.org/wiki/Encarta
4) Meego 홈페이지, http://meego.org
5) Limo 홈페이지, http://www.limofoundation.org
6) 전자정부 표준프레임워크 홈페이지, http://www.egovframe.go.kr/
7) OLC (Open Source Software Learning Community) 홈페이지, http://olc.oss.kr

Posted by 이민석 hl1itj