바로가기 메뉴
본문 바로가기
대메뉴 바로가기

TECH M

혁신은 오픈을 통해 만들어진다

2016-07-20이민석 국민대학교 컴퓨터공학부 교수




작년과 올해 최고의 화두는 인공지능이다. 알파고가 아니라도 모든 사업 영역에 몇 년 전까지는 있는지도 몰랐던 머신러닝이 갑자기 중요해졌다.

참 시기적절하게도 구글은 ‘텐서플로’라는 머신러닝 기술을 오픈소스로 공개했고, 마이크로소프트도 머신러닝 기술인 ‘DMLT(Distributed Machine Learning Toolkit)’를 공개했다. 그리고 IBM은 ‘시스템ML(SystemML)’을, 삼성전자도 ‘벨레스(Veles)’를, 페이스북도 ‘토치(Torch)’를 역시 오픈소스로 공개했다.


이런 일련의 오픈소스 경쟁은 머신러닝 기술이 모든 기업이 가져야 할 가장 중요한 핵심기술 가운데 하나임을 모두가 알게 된 2015년 한 해에 이뤄졌다. 또 10년째 전 세계의 기업 임원들과 개발자들을 대상으로 오픈소스 서베이를 해온 블랙덕과 노스브릿지의 2016년 조사에 따르면, 조사 대상의 65%가 오픈소스가 자사의 개발 속도를 개선한다고 답했고, 67%는 개발자들이 오픈소스 소프트웨어(SW) 프로젝트에 참여하기를 적극적으로 권유하고 있다고 했다.


오픈소스 SW의 시초는 1980년대 초부터 MIT의 리차드 스톨만이 주도한 자유 SW 운동이다. 철학적, 도덕적 의미가 강한 자유 SW 개념은 1991년 리눅스가 GPL로 공개했다.




자유(Free) SW라는 말은 SW공개 자체보다는 소스코드의 자유로운 이용이 중요하다는 것을 암시한다. 리차드 스톨만은 1985년 자유SW재단(Free Software Foundation)을 설립하고, 대표적인 카피레프트 저작권인 GPL(General Public License)을 제정했다.



이후 폭발적인 성장을 하면서 1990년대 후반에 이르러 공개된 소스의 산업적 이용 측면이 고려된 오픈소스 SW 개념으로 정리됐다. 그때가 레드햇 등 리눅스 업체들이 나스닥에 상장되고, IBM, HP 등 메이저 IT 업체들이 대거 리눅스 진영에 대한 지원을 시작한 때이다.



오픈소스 SW의 시초는 1980년대 초부터 MIT의 리차드 스톨만이 주도한 자유 SW 운동이다. (사진=위키피디아)
(오픈소스 SW의 시초는 1980년대 초부터 MIT의 리차드 스톨만이 주도한 자유 SW 운동이다. (사진=위키피디아))



오픈소스 의구심 사라져


이 과정에서 기존 비즈니스 관점에서 오픈소스 SW에 대해 가졌던 FUD는 사라졌다. 이후 오픈소스 SW가 가진 잠재력은 스마트폰 시대에 안드로이드, 그리고 거의 100%의 서비스들이 오픈소스를 활용해 만들어지면서 증명됐고, 혁신을 이끄는 개발 패러다임으로 확실하게 자리 잡았다.




FUD(불안(Fear), 불확실성(Uncertainty), 의심(Doubt))는 오픈소스 SW가 당시에는 익숙하지 않았던 커뮤니티나 특정 개인에 의해 개발됐다는 이유로 SW의 출처가 명확하지 않으며, 기술 지원을 원활하게 받을 수 있는지가 불안하고, 또 지속적인 개선이 가능하지 않을 가능성에 관한 의구심을 의미한다.



SW 프로젝트를 오픈소스 방식으로 진행할 때 회사가 얻을 수 있는 장점은 크게 세 가지이다. 첫째, 제품·서비스의 생명주기동안 회사 밖의 기술적 자산(커뮤니티의 개발, 기획, 품질 제고 능력)을 우리 회사의 자산처럼 활용하면서, 회사는 고객에게 필요한 핵심적인 가치를 구현하는 데 집중할 수 있다.


둘째, 회사가 가진 기술과 인적 자산을 커뮤니티에 기여함으로써 회사 이미지를 긍정적으로 유지할 수 있으며, 자사의 개발자들이 커뮤니티의 인력과 소통하면서 우수한 인력을 발견하고 채용할 수 있는 기회가 많아진다.


셋째, 특정 벤더에 대한 종속(Vendor Lock-in)을 회피할 수 있어 회사가 가진 데이터와 기술적 자산의 운영에 대한 리스크를 줄여 사업의 지속가능성을 확보할 수 있다.




자유SW재단, 아파치재단 등과 같은 다분히 커뮤니티 중심의 재단과 달리, 최근의 클라우드 서비스 관련한 클라우드 파운드리(Cloud Foundry), 오픈스택(Open Stack) 등과 같은 재단들은 특정 기술과 관련된 주요 회사들이 참여해 기술(즉 인력)과 자금을 대면서 새로운 형태의 기술 및 브랜드 종속성을 만들어내고 있다.



이러한 인식 하에 이제는 많은 글로벌 기업들이 SW가 개입된 프로젝트를 시작할 때, 오픈소스를 대안이 아닌 최초의 접근방법으로 고려하고 있다. SW, 즉 소스코드는 회사의 중요한 자산이기도 하지만 동시에 회사가 끌어안고 가야할 기술 부채이기도 하다.




최대의 오픈소스 리포지터리(repository)를 운영하고 있는 깃허브(Github)의 오픈소스 책임자인 브랜든 키퍼스가 텍사스 오스틴에서 열린 ‘OSCON 2016’ 컨퍼런스에서 한 말이다. 기술 부채란 회사가 유지하고 있는 SW가 가진 오류의 해결, 기능의 개선, 새로운 환경에 대한 대응을 하기 위한 비용을 말한다.




따라서 프로젝트의 주도권을 유지하되, 소스코드에 대한 오너십을 커뮤니티에 양도함으로써 그 기술이 생태계 안에서 지속적으로 발전하도록 만드는 선택을 하는 것이다.


커뮤니티(다른 회사, 심지어는 경쟁사) 역시 공개된 SW를 자체적으로 활용하면서 확보한 부가적인 기술적 자산(=기술 부채)을 다시 커뮤니티에 기여하는 방식으로 서로의 리스크와 비용을 줄이면서 생태계는 발전한다.


당연하게도 소스코드의 오픈이 프로젝트와 관련된 모든 코드의 오픈을 의미하지는 않는다. 대개는 자사가 주도권을 확실히 갖고 있는 핵심 부분을 오픈하고 커뮤니티와 함께 개발한다. 이는 외부 개발자들의 참여를 유도하는 진정성의 표시이면서, 해당 영역에서의 기술적 우위를 시장에 천명하는 것으로 고객에 대한 신뢰를 확보하는 방법이기도 하다.


특정 고객에 한정된 모듈이나 캐시카우 서비스에 특화된 부분은 여전히 공개하지 않아도 된다. 다른 회사들, 커뮤니티 입장에서도 공개된 핵심 기술 영역이 각자의 비즈니스 또는 프로젝트에 유용한 수준일 때만, 그 프로젝트를 지탱하는 생태계가 만들어진다.


소스를 공개하는 행위만으로는 지속가능한 생태계가 만들어지지 않는다. 커뮤니티에 오너십을 넘긴다는 것은 소스코드뿐만 아니라 프로젝트의 방향성에 관한 거버넌스 자체를 오픈해 누구나 참여할 수 있도록 허용함을 의미한다. 여기에는 적절한 오픈소스 라이선스의 선택도 중요하고 커뮤니티의 개발자들과의 적극적 소통이 절대적으로 필요하다.


우선 오픈소스 라이선스는 생태계에서 오픈소스의 활용 측면에 관한 것으로 이 SW를 만든 저작권자들과 사용자 사이의 법적인 사용 계약이다. 라이선스는 다른 오픈소스 또는 비오픈소스 SW와의 정합성을 고려하면서, 이 소스가 가장 잘 활용되고 발전될 수 있는 것으로 선택되거나 제정돼야 한다. 최근에는 2차 저작물 공개 의무가 없는 허용적 라이선스를 점점 더 많은 프로젝트들이 채택하고 있다.



오픈소스 SW 관련 재단들 [출처 : 오픈소스이니셔티브]
(오픈소스 SW 관련 재단들 [출처 : 오픈소스이니셔티브])



커뮤니티 활성화 중요


모든 오픈소스 커뮤니티의 가장 중요한 활동 목표 가운데 하나는 커뮤니티의 활성화이다. 이는 프로젝트가 더 많이 활용되고, 기술적 발전이 지속되는 것, 즉 새로운 사용자와 기여자가 끊임없이 유입됨을 의미한다. 커뮤니티와의 스킨십이 필요하다.


당연히 프로젝트의 현재 상태(소스코드와 아직 해결되지 않는 이슈들)가 오픈돼 있어야 함은 물론, 프로젝트의 다양한 면을 알리기 위한 기술 블로그, 포럼과 같은 온라인 커뮤니티 활동도 필요하다. 유력한 컨퍼런스에서 이 프로젝트의 기술적 가치와 그 구현 내용을 설명하는 활동은 큰 도움이 된다.

또 프로젝트의 의사 결정은 IRC나 슬랙(Slack)과 같이 오픈된 채널을 통해 이뤄져야 한다. 그리고 무엇보다 프로젝트에 대한 모든 기여에 대해 의미를 부여해주고, 기술적 수준과 무관하게 참여한 모든 개발자들을 존중하는 태도가 필요하다.


이제 ‘오픈소스를 왜 해야 하는가?’라는 질문은 틀렸다. 혁신은 오픈소스를 통해서만 만들어진다. ‘우리는 어떻게 할 것인가?’를 고민할 때다.






<본 기사는 테크M 제39호(2016년7월) 기사입니다>