구글, 오픈소스도 파워 유저

일반입력 :2006/12/18 09:45

Joris Evers

구글의 오픈소스 프로그램 매니저 크리스 디보나(Chris DiBona)에 따르면 검색업계 거물 구글은 오픈소스 파워 유저이자 수많은 오픈소스 개발 관련 프로젝트에도 활발하게 참여하고 있다. 또 일부 프로젝트에는 펀딩을 제공하고 있기도 하다.

디보나는 또 구글이 자사 시스템에서 동작하는 우분투(Ubuntu) 같은 소프트웨어 버전도 갖고 있다고 소개했다. 대외적으로는 최근 오픈소스 라이선스 하의 구글 웹 툴킷(Google Web Toolkit)을 발표했다. 자바 소프트웨어 개발 킷인 이 툴킷은 프로그래머들의 웹 2.0 애플리케이션 개발을 지원하는 제품이다.

이 뿐만 아니라 구글이 후원하는 프로젝트인 넷 트러스트(Net Trust) 소스코드는 최근 오픈 소스 개발자들을 위한 협업 공간인 구글 코드(Google Code) 형태로 발표됐다. 인디애나 대학 L. 진 캠프(L. Jean Camp)가 시작한 넷 트러스트는 온라인 안티피싱 프로젝트다.

웹 사이트들이 신뢰할 수 있거나 혹은 인터넷 사용자들의 소셜 네트워크 회원들이 자신들에 대해 어떻게 생각하는지에 따라 신호를 보내게 된다.

디보나에 따르면, 이처럼 다양한 활동을 하고 있음에도 구글은 철저한 사유 소프트웨어 신봉자다. CNET News.com이 디보나를 만나 구글이 선호하는 오픈소스 프로그램, 자바 오픈소싱이 구글에 미치는 영향, 개발자들에게는 발표하지 않은 수많은 코드가 존재하는 이유 등에 대해 들었다.

구글이 오픈소스 프로젝트를 지원하는 기준은 무엇인가?

몇 가지 기준이 있다. 구글 엔지니어들이 펀딩을 원하는 프로젝트를 들고 오면 우선 해당 프로젝트가 실질적으로 펀딩할 만한 가치가 있는지 여부를 판단한다. 여기서 펀딩할 만한 가치는 프로젝트를 통해 더 많은 코드를 개발하고, 더 많은 오픈소스 개발자를 양산할 수 있는지, 아니면 오픈소스 커뮤니티에 도움이 되는지를 말한다.

구글의 펀딩 활동을 자세히 들여다보면 이 세 가지 카테고리 중 하나, 혹은 하나 이상에 속하는 프로젝트에 펀딩을 하고 있다는 사실을 알게 될 것이다. 넷 트러스트는 프로젝트에 참여하는 학생들이 많기 때문에 기본적으로 대학(인디애나 대학)이 더 많은 오픈소스 코드와 오픈소스 개발자를 양산할 수 있도록 지원하는 것이다. 펀딩의 범위는 광범위하다.

넷 트러스트는 구글이 지원하는 오픈소스 프로젝트 중 하나다. 어떻게 시작하게 됐나?

구글 엔지니어 중 한 명이 1년여 동안 넷 트러스트를 시작한 오픈소스 그룹과 관계를 유지했다. 그의 친구 중 하나가 소셜 네트워킹을 이용한 피싱 문제를 해결하는 몇몇 연구과제에 참여하고 있었는데 당시 구글은 수많은 오픈소스 소프트웨어에 투자를 하고 있었다. 프로젝트에 대한 설명을 듣고 흥미를 느꼈다. 진(캠프)을 만나 작업 상황을 전해들은 후 흥미로운 프로젝트라고 판단해 투자를 결정했다.

넷 트러스트는 기본적으로 사용자들이 하나의 웹 사이트에 대해 자신들이 생각했던 그대로의 사이트일 때, 더 중요하게는 자신들이 생각했던 사이트가 아닐 때 서로를 입증할 수 있도록 해주는 방식이다.

친구를 신뢰한다면, 그리고 친구의 친구를 신뢰한다면 해당 인터넷을 조금 더 신뢰할 수 있다는 개념에서 출발한 아이디어다. 사람들이 자신도 모르는 사이에 저절로 따라오도록 하는 것이다.

당신에게 오픈소스 프로젝트 지원을 요청하는 사람들이 많을 것 같다.

돈과 오픈소스와 관련해 재미있는 사실은 돈이 반드시 소스 코드로 전환되지는 않는다는 것이다. 우리가 가장 중점을 두는 것은 펀딩 활동의 결과다. 코드 지향적이지 않은 프로젝트를 들고 오는 사람은 지원하지 않는다는 말이다. 구글은 코드 작성을 원하는 사람들과는 얘기가 잘 통하지만 관료주의를 창출하려는 사람들과는 그렇지 않다는 평판이 자자하다.

구글이 시작한 오픈소스 프로젝트가 있나?

코드는 많이 발표했지만 우리가 새로운 코드를 개발하기보다는 기존 커뮤니티에 참여하는 것을 더 선호한다. 나의 경우 새로운 커널 개발보다는 리눅스 커널에 패치를 추가하는 것을 더 좋아한다. 아파치도 마찬가지다. 새로운 아파치를 개발하기보다는 패치를 아파치로 돌려보내는 게 더 낫다. 그리고 이렇게 하는 것이 더 좋은 방식이라고 생각한다.

구글이나 구글러들이 참여하고 있는 오픈소스 프로젝트 중 중요한 프로젝트로는 어떤 것들이 있나?

아파치 프로젝트와 아파치 소프트웨어 재단 관련 프로젝트들일 것이다. 그 다음은 리눅스 커널인 앤드류 모튼(Andrew Morton)을 채용하는 것이다. MySQL에 일부 패치를 제공했지만 톱5 프로젝트에는 포함되지 않는다. 오픈BSD와 오픈SSH에도 수많은 개발자들이 참여하고 있다.

파이어폭스도 포함되나?

물론이다. 왜 파이어폭스가 금방 떠오르지 않았는지 모르겠다.

클라이언트 애플리케이션의 성격이 분명한 파이어폭스 외에는 모두 서버 측면의 프로젝트인 듯하다. 우연인가? 당신이 참여하고 있는 프로젝트에도 서버 프로젝트가 더 많은가?

대개는 서버 프로젝트에 더 많이 참여한다.

당신이 서버 소프트웨어를 사용하기 때문에 서버 프로젝트에 더 많이 참여하는 것인가?

그렇다. 우리 자체적으로 더 중요한 소프트웨어에 대한 패치에 관심이 많다. 당연한 것 아닌가? 그동안 발표된 것들 중에는 구글의 전문 분야가 아닌 것들도 몇 가지 있기는 하지만 대부분은 관련이 있는 것들에 집중한다.

구글 내에서 사용하는 오픈소스 소프트웨어는 어떤 것들인가?

리눅스 커널을 사용한다. GNU 툴도 갖고 있고, 자유소프트웨어재단의 컴파일러 컬렉션도 많이 사용한다. 아파치 라이브러리도 일부 사용하는데 아파치 웹 서버를 자주 사용하지는 않지만 라이브러리는 꽤 많이 이용하는 편이다. 오픈SSL과 오픈SSH, 그리고 파이톤과 C 같은 언어, MySQL도 많이 사용한다.

현재 사용하는 리눅스 버전은?

내부의 데스크톱용으로 개발한 우분투 버전인 구번투(Goobuntu)다. 구글의 서버 시스템은 기존 레드햇 기반에서 출발했지만 지금은 상당히 많이 변화됐기 때문에 우리 자체 시스템이 됐다. OS의 경우는 레드햇을 추적하는 경우가 많았는데 이제는 상당부분 정리돼 전혀 다른 모습이다.

데스크톱에서 우분투를 사용하는 특별한 이유가 있나?

글쎄... 구글이 우분투를 정말로 좋아하고, 또 우분투의 실행력이 뛰어나기도 하기 때문이 아닐까. 사용자 친숙한 제품이면서 관리도 편하다. 그리고 가장 최신 버전인 데다 보안도 우수하다. 잘 만들어진 프로그램이라는 점도 있다.

우분투는 데비안(Debian)으로 출발해 꽤 괜찮은 제품으로 발전했다. 대단한 성과라고 생각한다. 우리가 현재 사용하는 것은 수정이 가해졌기 때문에 구글 네트워크에서 동작하고, 구글의 소프트웨어 개발자들이 사용하는 툴을 제공한다.

리눅스 구글 버전을 모두 커뮤니티에 제공하나? 아니면 굳이 그렇게 할 필요가 없나?

그렇게 할 필요는 없다. 검색 장비용으로 일부를 사용하고 있으며, 리눅스 구글 버전을 공개해야 한다는 점 때문에 우리 웹사이트에 등록은 돼있다.

우리의 오픈소스 범위와는 차이가 많이 나는 다른 오픈소스 준수에 대해서도 언급할 필요가 있을 것 같다. 가장 중요한 것은 오픈소스 라이선스를 준수하는 것이며, 우리가 최초로 실행에 옮겼다. 그리고 나서 서머 오브 코드(Summer of Code) 같은 활동과 넷 트러스트에 대한 펀딩이 시작됐다.

넷 트러스트 등에 대한 펀딩은 언제 했나? 특정 오픈소스 라이선스 하에서 진행돼야 한다는 요구 사항은 없나?

선호하는 것은 아파치 라이선스지만 다른 소프트웨어와도 기꺼이 협력할 생각이 있다.

아파치 라이선스를 선호하는 이유는?

사용자 준수가 정말 편리한 라이선스다. GPL(General Public License), LGPL, MPL, CPL처럼 라이선스 준수와 관련한 문제가 전혀 없다. 이 문제는 사용자들에게는 어려울 수 있다. 우리는 편한 것을 원한다. 프로젝트에 펀딩을 하고, 사용자들이 우리가 펀딩한 프로젝트를 통해 이점을 얻을 수 있는 것도 이 때문이다.

오픈소스와 폐쇄 소스의 혼합에 대한 구글의 생각은? 혼합 소스 기업의 좋은 사례가 구글인 것 같은데.

오픈소스와 폐쇄 소스는 분명히 공존한다. 앞으로도 공개하지는 않을 생각이지만 구글 내에서 사용하는 오픈소스 기반 배포의 최정상에서 동작하는 소프트웨어가 상당히 많다.

썬이 자바를 오픈소스화했는데. 이 때문에 달라진 부분은 없나?

지금도 상당히 많은 양의 자바를 사용하고 있다. 자바의 오픈소스화는 환영한다. 썬에도 도움이 될 것이다. 우리가 소프트웨어를 출시하는 방식과 우리 소프트웨어를 구글닷컴을 통해 사용자들에게 보여주는 방식에서 본다면 자바가 오픈소스냐 아니냐 하는 점은 그리 문제가 되지 않는다. 하지만 자바를 오픈소스화한 것은 환영할 만한 일이다.

자바의 오픈소스화로 더 많은 유연성이 확보된 것 아닌가?

실제로 더 많은 유연성을 확보할 수 있게 됐다. 전에는 자바에서 버그가 발견됐을 때 처리하는 절차가 지금보다 훨씬 더 어려웠다. 우리가 사용하는 자바에 패치를 원하면 썬과 특별 협약을 맺어야 했다. 물론 협약을 맺기는 했지만 자바가 오픈소스화된 후로는 썬을 통해 패치를 하는 것이 더 수월해졌고, 우리가 원하면 자바 커뮤니티에도 제공된다.

오픈소스의 가장 큰 장점은 무엇이라고 생각하나?

우리 입장에서 가장 큰 장점은 유연성이다. 오픈소스 소프트웨어가 정말로 멋진 것은 우리의 OS에 수정을 가하기 전에 누구에겐가 허락을 구하지 않아도 된다는 점이다. 데이터베이스에 수정을 가하기 전에도 허락을 얻을 필요가 없다.

또 클리이언트당 라이선스 사용료를 지불할 필요도 없다. 비용 절감이라는 측면에서뿐 아니라 유연성과 속도라는 측면에서 이는 매우 중요한 요소다.

우리 컴퓨터에서 우리가 좋아하는 것을 할 수 있다는 것은 엄청난 가치다. 경쟁업체 누구도, 그리고 친구들 누구도 우리에게 No라고 하지 않는다. 이는 주목할 만한 사항이다. 이런 장점을 더 많은 기업들이 인식했으면 하는 바람이다. 당초 예산을 초과하는 비용을 들여 소프트웨어를 구매하는 경우가 간혹 있다.

소프트웨어를 구매할 때는 판매자가 구매자에 대해 알아야 하기 때문에 판매자를 신뢰해야 한다. 또 판매자는 구매자를 지체시킬 수 있는 힘을 갖고 있기 때문에 파트너를 선정할 때 매우 신중해야 한다. 오픈소스가 좋은 점은 구매자 자신이 바로 파트너라는 점이다.

그러나 사유 코드도 구글에게는 매우 중요하다. 사업상 비밀을 비밀로 유지하는 것이 매우 중요한 일인가?

분명히 그렇다. 최고의 기능은 어떤 것도 공개될 수 없다. 모호성으로 인한 보안이나 유사한 것들이 나올 수 있는 가능성 때문이 아니라 이러한 기술 자체가 전쟁의 일부이기 때문이다. 암호 자체를 공개하는 것이 아니라 암호를 해독할 수 있는 키를 공개하는 것이나 마찬가지다. @