아이티랩 - ‘오픈소스계의 대부’ 구글은 왜 오픈소스 기술을 공개할까?

전 세계 글로벌 IT 기업들은 많은 부분에서 두각을 나타냅니다. 시가총액, 매출, 직원 수, 기업 문화 등에서 다른 기업을 훨씬 앞서가죠. 이러한 대형 IT 기업들이 잘하고 있는 또 다른 일이 있습니다. 바로 오픈소스 기술입니다. 구글, 마이크로소프트(MS), 페이스북, 넷플릭스, 애플 등은 오픈소스 기술을 열심히 확장하고 있습니다. 오늘은 그 중 오픈소스 기여에 큰 축을 담당하는 구글에 대해서 깊게 들여다봅시다.




 구글은 왜 오픈소스를 만들까

구글이 오픈소스 시장에 기여하는 방법은 다양합니다. 일단 기술부터 보죠. 요즘은 오픈소스 기술이 워낙 인기가 있어서 너 나 할 것 없이 많은 기업이 오픈소스 기술을 공개하고 있습니다. 구글은 이보다 조금 빠르게 오픈소스 기술에 관심을 보였습니다. 특히 2008년, 안드로이드 기술을 시작으로 구글이 만든 오픈소스 기술이 화제를 모았습니다. 

10년이 훨씬 지난 지금 현재 구글이 공개한 오픈소스 프로젝트는 약 2천개라고 합니다. 여기에는 크고 작은 프로젝트가 포함하는데요. 구글 내부 별도의 팀이 지원하는 기술부터, 구글 직원 개인이 취미로 만든 기술까지 존재합니다. 

여기서 잠깐. 구글은 왜 내부에서 사용하는 기술을 굳이 오픈소스 기술로 공개할까요? 
“오픈소스 기술이란 내부 소스코드가 훤히 보이고, 이것을 공개하면 기술 유출이 되지 않을까요? 그리고 수익이 줄어드는 거 아닐까요?”라는 근본적인 물음이 생기실 텐데요. 

l 구글 오픈소스 홈페이지(출처: https://opensource.google.com/)


여기에는 오픈소스 커뮤니티의 독특한 사상이 한몫했습니다. 오픈소스 개발자들은 더 많은 사람이 함께 기술을 만들수록, 더 좋은 기술이 만들어질 거라고 믿습니다. 예를 들어 안드로이드 오류를 구글 내부에 개발자끼리 발견하고 고치는 것보다 전 세계 개발자가 함께 소스코드를 보고 고치는 것을 선호합니다. 그래야 더 나은 기술을 만들 수 있다고 보는 것이죠. 


또한, 이미 세상에서는 수많은 오픈소스 기술이 공개됐고, 이를 기반으로 다양한 서비스를 만들 수 있습니다. 구글 역시 이미 존재하던 오픈소스 기술을 이용해 서비스를 만들었죠. 그래서 다시 그 이익을 환원하는 차원에서 오픈소스 기술을 공개하는 것이라고 볼 수 있습니다. 


두 번째, 오픈소스 기술은 사실 마케팅 효과를 누릴 수 있습니다. 프로그래머들은 기본적으로 새로운 기술을 탐구하려는 호기심이 많습니다. 이미 잘 돌아가는 기술이 있다 해도 새로운 기술을 실험하고 싶어 하죠. 오픈소스 기술을 공개하면 구글 내부의 기술력이 공개되고, 이를 통해 기술 생태계가 구성될 가능성이 높습니다. 


그런 방식으로 부가 기술이 함께 만들어지고, 그 분야의 핵심 인력을 구글로 영입할 수 있는 효과를 노릴 수도 있습니다. 사실 이러한 원리나 효과는 구글에 국한되는 것이 아니라 모든 오픈소스 기업들에 해당하는 내용입니다. 



 웹, 모바일, 디자인, 머신러닝, 인프라 등 다양한 기술들

구글은 내부 오픈소스 기술을 잘 살펴볼 수 있도록 문서화와 정보를 체계적으로 잘 제공하고 있습니다. 2017년 초에는 오픈소스 구글닷컴(https://opensource.google.com/)이라는 페이지가 공개되기도 했는데요. 

이곳에선 구글의 오픈소스 활동을 한눈에 잘 살펴볼 수 있습니다. 소스코드 자체는 모두 깃허브에서 따로 복사해서 볼 수 있습니다. 또한, 오픈소스 블로그도 따로 존재합니다. 블로그에선 새로운 나오는 오픈소스 소식부터 기존 기술들의 새 버전, 새 기능을 실시간으로 알려줍니다. 오픈소스 개발 뒷얘기도 블로그에서 종종 전하고 있습니다. 

l 엥귤라JS(출처: https://opensource.google.com/projects/angular)


그럼 구글의 오픈소스 기술 중 인기 있는 프로젝트에는 무엇이 있을까요? 여기에는 웹, 인프라, 머신러닝, 모바일 등 다양합니다. 먼저 웹 기술에는 엥귤라JS, 폴리머, 웹 스타터 키트, 크로미움이 인기가 높습니다. 인프라에는 쿠버네티스, 파이어베이스SDK, gRPC등을 꼽을 수 있습니다. 머신러닝 분야에서는 텐서플로우, 텐서플로우 플레이그라운드, 딥드림 등이 있습니다. 

여기에 고(Go), 다트(Dart)라는 프로그래밍 언어도 있으며, 노토 폰트, 머터리얼 디자인 라이트같은 디자인 자료도 누구나 쓸 수 있게 공개하고 있습니다. 자세한 기술에 대한 정보는 구글 오픈소스 공식 홈페이지에서 분야를 선택하면 상세 특징을 볼 수 있습니다. 



 중고등학생과 대학생 오픈소스 교육을 책임지다

구글이 오픈소스 시장에서 특별한 이유가 또 하나 있습니다. 바로 오픈소스 교육에 확장하는 부분입니다. '구글 코드인'과 '구글 썸머 오브 코드'라는 교육 프로그램이 있습니다. 먼저 '구글 코드인'은 13세에서 17세 청소년이 참여할 수 있는 일종의 온라인 콘테스트입니다. 

여기에는 외부 오픈소스 기술 개발 업체들도 함께 참여하는데요. 이 기업 내 개발자는 참가자가 수정하고 개선할 수 있는 소스코드, 문서 등을 과제로 제공합니다. 학생들은 공개된 문제 중의 하나를 선택하고, 소스코드를 개선하거나 오픈소스 문서화 등에 기여하게 됩니다. 그리고 이 중 가장 많은 프로젝트를 수행하고 양질의 기여를 한 참가자에게 수료증, 티셔츠, 본사 방문 기회 등을 제공합니다. 이 프로그램에 참여한 10대 아이들은 기초 지식이 없이도 오픈소스 작동 방식으로 배울 수 있게 된다고 합니다. 

l 구글 코드인(출처: https://codein.withgoogle.com/archive/)


'구글 썸머 오브 코드'는 18세 이상 학생이 참여할 수 있는 프로그램입니다. 이 프로그램 참가자들은 3개월이라는 긴 시간 동안 하나의 오픈소스 프로젝트를 집중적으로 담당합니다. 따라서 취업 이전에 오픈소스 프로젝트를 체계적으로 배워보고 실무에서 필요한 지식을 얻을 수 있게 되죠. 구글은 이 프로그램에서 오픈소스 전문 업체의 개발자를 멘토로 지정해 참가자가 언제든지 질문할 수 있도록 지원하고 있습니다.


l 구글 썸머 오브 코드(출처: https://summerofcode.withgoogle.com/)


사실 코딩 교육 프로그램은 이미 많습니다. 구글 외에도 많은 IT 기업과 정부가 최근 코딩 교육을 주도하고 있지만, 학생을 위한 오픈소스 교육 프로그램은 흔치 않습니다. 구글은 미래 오픈소스 개발자를 더 많이 육성하기 위해 별도의 팀을 만들어 투자하고 있는데요. 이러한 점 때문에 구글의 오픈소스 교육은 조금 더 특별하게 여겨집니다. 구글 코드인이나 구글 썸머오브 코드는 전 세계에서 참여할 수 있다고 하는데요. 한국 참가자도 조금씩 늘고 있다고 합니다. 



 구글이 참여하는 커뮤니티

구글은 직접 오픈소스를 만들기도 하지만, 외부 오픈소스 커뮤니티에 금전적인 혹은 기술적인 지원을 하면서 오픈소스 생태계를 키우고 있습니다. 예를 들어, 아파치 서버 등을 만든 아파치 재단 아파치 소프트웨어 재단이나 자바 IDE 이클리스를 만드는 이클립스 재단을 꾸준히 지원하고 있습니다. 그뿐만 아니라 리눅스 재단, 자유소프트웨어재단 유럽, 노드JS 재단, 파이썬 소프트웨어 재단, R 컨소시엄 등 핵심 오픈소스 재단에도 적극적으로 투자하고 있습니다. 

오픈소스 기술은 누구나 참여할 수 있는 만큼 그 종류나 개수도 어마어마합니다. 그러다 보니 개발자의 현재 요구사항을 정확히 반영한 오픈소스 기술들이 주로 성장하고 그렇지 않은 기술은 도태됩니다. 그래서 대형 기업들의 오픈소스 기술을 살펴보는 것은 현재 기술의 흐름을 알기에 굉장히 도움이 됩니다. 웹, 모바일, 머신러닝 개발자나 연구자가 있으시다면 구글의 오픈소스 기술을 둘러보시는 게 어떨까요?

글 | 이지현 | 블로터 기자

* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.



        
                             저작자 표시                                     비영리                                             변경 금지                                                               

의견 0 신규등록      목록