2007/01/22 17:02

[펌] 개발자, 구글 신드롬에 빠지다

 



박재호
요즘 들어 IT 전문 매체는 물론 일반 대중 매체에서도 ‘구글’이라는 이름이 심심치 않게 등장하고 있다. 이미 구글에 익숙한 개발자를 중심으로 구글의 실용성과 편리함이 입소문으로 서서히 퍼져나가면서 일반 사용자까지 영향을 미치기 시작한 것이다. 그러나 과거 국내 대형 포탈 사이트에 눌려 꼼짝하지 못하던 구글이 자고 일어나보니 갑자기 유명해졌을 리는 만무하다. 그렇다면 현재의 ‘구글 신드롬’은 어떻게 해석해야 할까.
1970년대 초 유닉스 운영체제가 처음 등장한지 벌써 30년이 지났지만 여전히 수많은 개발자가 유닉스(또는 유닉스와 비슷한) 운영체제를 사용해서 필요한 작업을 처리하고 있다. 큰 이변이 없는 이상 이런 추세는 구식 유닉스의 시간 측정 단위에 사용하는 32비트 값을 다 채우는 2038년 1월 19일까지(여기에 대한 세부적인 설명은 en.wikipedia.org /wiki/Unix_epoch를 참조하기 바란다) 계속 이어질 것이다. 지금까지 어떤 운영체제도 달성하지 못했던 어마어마한 기록을 유닉스는 계속해서 갱신하고 있다. 이렇게 유닉스에 대해 충성심을 보이는 개발자가 많은 이유를 여러 가지 측면에서 분석할 수 있겠지만 작고 간결한 유틸리티를 묶어서 복잡한 작업을 수행할 수 있게 만드는 이른바 ‘작은 것이 아름답다(small is beautiful)’와 ‘각 프로그램마다 제대로 된 임무를 하나씩 맡겨라(Make each program do one thing well)’는 철학(유닉스 철학은 en.wikipedia.org/wiki/ Unix_philosophy 참조)이 밑바닥에 깔려있다.
 
현재의 구글의 이면에도 이와 비슷한 원칙이 자리잡고 있다. 구글이 1990년대 말 처음 등장했을 때 온갖 화려함과 다양한 기능을 무기로 일반 대중을 휘어잡고 있었던 여러 포탈 사이트를 능가하리라고는 상상조차 하지 못했을 것이다. 하지만 구글은 독립적이면서도 제대로 동작하는 기능을 차츰차츰 늘여가면서 세력을 넓혔으며 시간이 지남에 따라 모든 내용을 통합해나가던 기존 포탈 사이트와는 달리 오히려 정반대의 전략, 즉 더 단순해야 한다는 초심을 잊지 않고 있다. 이런 자신감을 바탕으로 개발자는 물론이고 일반 사용자조차 가장 좋아하는 검색엔진으로 확실하게 자리매김했다. 즉 유닉스를 지금까지 버티도록 만들어 놓은 기본 철학을 구글이 검색엔진 부문에서 그대로 계승하는 방식으로 새로운 ‘블루오션’을 창출한 셈이다.
 
그렇다고 구글이 검색엔진 한 분야에만 집중적으로 우물을 판다는 이야기는 아니다. 구글이 나오기 훨씬 전부터 검색엔진 부문에서 한 시대를 풍미했던 알타비스타, 라이코스의 경우에는 기술적인, 상업적인 관점에서 직접 수익으로 연결할 수 있는 성장 모멘텀을 찾지 못하고 주저앉아 버렸지만 구글은 실험적인 다양한 프로젝트를 지속적으로 주류 서비스에 편입시키면서 끊임없는 성장 동력을 얻고 있다. 물론 이런 성장 동력 이면에서는 애드워즈(AdWords)와 애드센스(AdSense)라는 강력한 캐시 카우(cash cow)가 버티고 있음은 물론이다.
 
지난 구글의 성장 역사는 그 자체로도 매우 흥미롭지만 창고에서 시작한 이후 나스닥 상장까지 쾌속 순항을 마친 다음에도 고삐를 늦추지 않고 계속해서 검색 서비스를 개선하고 색인 숫자를 늘이고 수익 창출을 위한 애드워즈와 애드센스 시스템을 개선해 온 점이 더욱 특징적이다. 구글 Quick Profile(www.google.com/intl/en/cor porate/tech.html)과 ZDNet UK(insight.zdnet.co.uk/hardware/ servers/0,39020445,39175560,00.htm)에는 구글과 관련된 재미있는 숫자들이 공개돼 있다.
 
◆ 이 글을 쓰는 현재 구글은 웹 페이지 81억 6,868만 4,336개를 색인했다.
◆ 구글은 HTML, PDF(PDF), PS(포스트스크립트), 로터스 1-2-3, 맥 라이트, XLS(엑셀), PPT(파워포인트), DOC(워드), WRI(마이크로소프트 라이트), RTF(RTF), SWF(플래시), TXT(일반 텍스트) 방식을 인식해서 색인할 수 있다.
◆ 현재 구글 이미지는 20억 개를 색인하고 있다.
◆ 유즈넷 메시지는 10억 개를 색인하고 있다.
◆ 100여 개 언어 검색을 지원하며 35개 나라말로 시작과 결과 홈페이지를 보여준다.
◆ 구글 트래픽의 50% 이상이 미국 이외 지역에서 일어난다.
◆ 구글은 2005년 6월 30일 기준으로 직원이 4183명으로 (놀랍게도) 대다수가 기술/공학 부문 종사자이다.
◆ 2004년 기준으로 구글은 클러스터당 PC 2000대를 할당하고 있으며 이런 클러스터가 모두 30개 존재한다.
◆ 2004년에 비해 2005년 색인 숫자가 두 배로 늘어났기에 클러스터 숫자도 거의 두 배 가까이 늘어났을 가능성이 높다.
◆ 클러스터당 1페타바이트(2의 50승이나 근사 값으로 10의 15승, en.wikipedia. org/wiki/Petabyte) 용량을 사용하므로 표준 하드디스크 오류 발생률인 10의 15승이 실제로 심각한 영향을 끼치기 시작한다. 또한 일반 조립 PC를 사용하고 있기에 각 클러스터마다 매일 PC 두 대 가량이 하드웨어에 문제를 일으킨다. 그럼에도 불구하고 2000년 2월 이후에 한번도 전체 시스템 장애를 겪지 않았다. 특정 시스템이 붕괴되더라도 근접 시스템이 백업으로 동작할 수 있도록 되어 있기 때문이다.
◆ 구글 색인 클러스터는 지구상에 현존하는 가장 강력한 병렬 컴퓨팅 프로젝트로 2004년 기준으로 박사급 인력 200여 명과 기타 인력 600여 명이 이 프로젝트에만 매달려 있다.
◆ 구글 색인 크기는 웹 페이지당 평균 10KB를 차지하므로 80억 페이지를 유지하기 위해서는 색인에만 80TB가 필요하다.
◆ 이 모든 기술적인 복잡성에도 불구하고 최종 사용자는 단어를 입력한 다음에 ‘운 좋은 예감’ 버튼을 누르면 대부분 원하는 페이지로 이동한다.
 
개발자는 왜 구글에 열광하는가
1999년에 처음 필자가 구글 검색엔진을 접하고 나서 느낀 감정은 바로 ‘이거다’라는 한 마디로 압축할 수 있다. 실제로 개발이나 저술 활동 과정에서 어려움이 발생할 경우 구글에서 검색하면 정밀 유도 폭탄처럼 원하는 자료를 첫 몇 페이지 이내 범위에 정확하게 찾을 수 있었기 때문이다. 알타비스타처럼 똑같은 문서를 순위와 무관하게 장황하게 제시하지도 않았고(단 요즘 서비스 중인 알타비스타 우선순위 기법은 상당히 정확해졌다) 야후처럼 디렉토리 위주로 유명한 사이트만을 제시하지도 않았으며 찾은 페이지 범위와 속력이 타의 추종을 불허하는 구글에 끌리지 않으면 오히려 이상하지 않은가.
 
물론 일반 사용자라면 포탈에서 수작업으로 골라 놓은 뉴스 헤드라인이나 사용자 참여와 같은 방법을 동원해서 구축해놓은 지식검색, 카페, 블로그 검색에 눈길이 갈지도 모르겠다. 하지만 일반적으로 널리 알려진 자료가 아니라 자신만의 특수한 관심사나 복잡한 문제 해결을 위한 자료 검색 과정에서는 일반 상식에서 벗어난 자료 검색이 필수적이므로 구글과 같은 강력한 검색엔진을 쓸 수밖에 없는 상황이 종종 생기기 마련이다. 이런 상황에서 주변에 있는 개발자에게 포탈 사이트 이외에 사용할 수 있는 검색엔진을 추천해달라고 하면 어떤 대답이 나올까. 이미 구글에 맛을 들인 개발자라면 열이면 열 모두 ‘구글’이라고 합창할 것이다.
 
그렇다면 개발자들이 구글을 좋아할만한 요소에는 무엇이 있을까. 구글 소프트웨어 개발 철학부터 시작해서 구글 개발자 문화에 이르기까지 다양한 개발자 지원 프로그램을 살펴봄으로써 개발자가 구글에 대해 열광하는 이유를 하나씩 벗겨 보자.
 
매력적인 구글 소프트웨어 원칙
개발자도 결국에는 구글이 개발한 소프트웨어를 사용하는 최종 사용자다. 따라서 구글의 소프트웨어 개발 철학에서 논의를 시작해 보자. 구글이 밝히는 설치형 구글 소프트웨어 원칙(www.google.com/cor porate/software_principles.html)은 다음과 같다.
 
◆ 설치 : 사용자를 속이면서 소프트웨어를 설치하지 않아야 한다. 소프트웨어를 컴퓨터에 설치하는 과정에서 거부할 수 있어야 하며 다른 소프트웨어 설치 과정에서 끼어들어서도 안 된다.
◆ 솔직한 소개 : 소프트웨어를 설치하거나 활성화할 경우에 주된 기능을 알려줘야 하며 광고를 통해 돈을 벌어들일 경우 이런 사실을 설명해야 한다. 스크롤바를 한참 돌려야 나오는 숨겨진 곳에 이런 사실을 밝히지 말고 가장 눈에 잘 띄는 곳에 보여줘야 한다.
◆ 단순한 제거 : 소프트웨어를 비활성화하거나 삭제할 경우에 손쉬운 방법을 제시해야 한다. 응용 프로그램의 모든 기능을 제거해야 하며 삭제된 이후에 다른 응용 프로그램을 동작시킬 경우 동작해서는 안 된다.
◆ 명확한 동작 방식 : 사용자 환경 설정을 변경할 경우에 이런 변경을 가하는 이유에 대해 명확하게 설명해야 한다. 일례로 응용 프로그램이 윈도우를 열 경우에 어떤 응용 프로그램이 열었는지 확실하게 알려줘야 하며 광고를 보여줄 때도 주체가 누구인지 알려줘야 한다. 또한 사용자 환경 설정을 변경할 경우에는 반드시 명시적으로 이런 사실을 사용자에게 통보해야 한다.
◆ 훔쳐보기 : 응용 프로그램이 개인 주소와 같은 정보를 수집해서 전송할 경우 사용자에게 알려야 한다. 정보를 수집해서 전송한다는 사실을 명시적으로 알리고 동의를 구해야 한다.
◆ 좋은 회사 만들기 : 응용 프로그램 제공자는 상기 가이드라인을 어기는 소프트웨어를 함께 포함시켜 배포하지 않아야 한다. 여러 가지 응용 프로그램이 동시에 설치될 경우에 사용자에게 각 소프트웨어가 무엇인지 알려줘야 한다.
 
이것은 구글이 제작한 구글 툴바나 구글 데스크탑 검색엔진과 같이 배포형 소프트웨어뿐만 아니라 구글 툴바 팝업 제거 기능(www. google.com/corporate/nopopupads.html)이나 구글 페이지 랭크와 같은 기능에도 모두 동일하게 적용되고 있다. 개발자를 짜증나게 하는 엉터리 소프트웨어나 한 술 더 떠서 해를 끼치는 악성 소프트웨어를 퇴치하려는 이런 시도 때문에 개발자는 구글에 높은 점수를 주지 않을까.
 
다양한 API 지원
웹 관련 프로그램을 개발하다보면 다른 웹 사이트가 동적으로 생성한 결과를 이용해야 하는 경우가 생긴다. 보통 스크래핑이라고 부르는 기법을 사용해서 해당 사이트에서 읽어온 HTML 코드의 특정 패턴을 인식한 다음에 필요한 부분만 간추려오는데 여기에는 두 가지 문제점이 있다. 하나는 저작권 침해이며 다른 하나는 URL 규칙이나 생성된 페이지가 변동될 때마다 프로그램을 뜯어 고쳐야 한다는 것이다. 이럴 때 외부로 API를 공개해서 스크래핑보다 강력한 개발 환경을 제공해주면 개발자 입장에서 얼마나 즐겁고 행복할까. 놀랍게도 구글은 구글 코드(code.google.com/index.html) 사이트를 통해 이 일, 즉 API를 지원하고 있다. 현재 구글에서 지원하는 API는 애드워즈, 블로거, 데스크탑 검색, 데스크 바, 프루갈, gmail, 구글 그룹, 구글 어스, 맵(지도), 뉴스, 구글 토크, 구글 비디오, 웹 검색 등이 있다.
 
『구글 해킹』을 보면 구글 웹 검색 API를 이용해 여러 가지 흥미로운 프로그램을 개발하고 있음을 알 수 있다. 물론 API 자체가 가치중립적이므로 흥미를 넘어 오용은 물론이고 악용까지 할 수 있지만 구글은 이런 악용을 방지하기 위해 개발자 등록 절차를 거쳐 키를 발급하고 현재까지는 하루에 질의를 1000번만 가능하도록 만들어 놓았다. 이 가운데 대표적인 API를 간추리면 다음과 같다.
 
◆ 구글 웹 검색 API : 대표적인 구글 API로 표준 XML 기반의 SOAP 기술을 사용한 검색용 웹 서비스이다. 구글로 넘기는 옵션만 올바르게 이해하고 있다면 쉽게 응용 프로그램이 구글에 질의를 던지고 결과를 받을 수 있다.
◆ 구글 데스크탑 API : 구글 데스크탑 응용 프로그램이 기본 파일과 전자편지 형식 이외에 다른 파일 형식도 검색할 수 있는 플러그인을 만들도록 도와주는 API 집합이다. 시중에 존재하는 파일 형식이 워낙 많기 때문에 자발적인 개발자 지원을 이끌어 낼 수 있도록 구글에서는 플러그인을 작성해서 제출하는 개발자에게 티셔츠를 기념품으로 주고 있다.
◆ 구글 애드워즈 API : 구글 애드워즈 서버와 직접 통신할 수 있게 해주는 API 집합이다. 자동 키워드, 광고 문구, URL을 생성하거나, 애드워즈를 독자적인 데이터베이스 시스템과 연동할 수 있게 만들어서 광고 시스템을 자동화할 수 있게 만들어준다.
 
구글과 흡사하게 웹 서비스를 공개하는 있는 다른 업체도 있다. 바로 아마존닷컴이다. 아마존닷컴은 자사 데이터베이스를 외부에서 등록하고 검색할 수 있도록 SOAP 기반 AWS(Amazon Web Service, www.amazon.com/gp/browse.html/ref=smm_sn_aws/102-3808645-3805716?%5Fencoding=UTF8&node=3435361)를 제공하고 있다. 아마존 전자상거래 서비스(E-Commerce Service)를 통해 제품을 웹 사이트에 올리고 관리할 수도 있고 일반 응용 프로그램을 통해 아마존닷컴에 접속하도록 만들 수도 있다. 맥 OS X용 서적 관리 시스템인 Books는 <화면 3>과 같이 AWS 인터페이스를 사용해서 아마존닷컴에 접속한 다음 ISBN으로 정보를 물고 온다.
 

사용자 삽입 이미지

한편 구글이 개발자를 위한 지원을 아끼지 않고 있는 상황에서 최근 마이크로소프트(이하 MS)가 견제구를 슬쩍 던져봤다. 씨넷에 따르면 향후 MS는 MSN 검색 서비스를 위한 SOAP 기반 API를 제공해서 외부 개발자가 이와 연동해서 프로그래밍할 수 있도록 할 것이라고 한다. 구글 웹 API와 마찬가지로 하루에 던질 수 있는 질의 숫자는 제한이 있으며 비상용 고객일 경우에 1만개를 예상하고 있다.
 
구글의 오픈소스 지원정책
요즘 기업마다 오픈소스를 지원하느라 정신 없는 상황이다. 애플과 같은 회사조차도 맥 OS X 코어인 다윈을 오픈소스 프로젝트로 공개하는 상황이니 다른 회사는 두말할 필요도 없다. 구글 역시 API 공개를 통해 외부 응용 프로그램 개발을 장려하는 한편 오픈소스 프로젝트를 직/간접으로 지원함으로써 개발자를 포섭하고 있다.
 
앞서 API와 마찬가지로 구글 코드(code.google.com/index.html) 사이트에서 오픈소스 프로젝트(code.google.com/projects.html)를 소개하고 있다. 구글과 직접적으로 관련 있는 프로젝트는 물론이고 구글 관련 소프트웨어를 개발하면서 갈라져 나온 프로젝트도 올라와 있으니 관심있는 독자들은 방문해보기 바란다. 현재 구글에서 지원하고 있는 오픈소스 프로젝트는 애드워즈 API 클라이언트 라이브러리, AjaxSLT, Coredumper, 구글 mMAIM, 스파스 해시 테이블, 사이트맵 생성기, Kongulo, Goopy/Functional, Perftools 등이 있다.
 
◆ 애드워즈 API 클라이언트 라이브러리 : 구글 광고 서비스인 애드워즈 계정에 쉽게 접근할 수 있도록 자바 클라이언트를 작성하는 데 필요한 라이브러리 집합이다. BSD 라이선스 모델을 따르고 있다.
◆ AjaXSLT : AjaXSLT는 자바스크립트로 구현한 XSLT이며 gmail과 같은 화려한 AJAX 응용 프로그램을 개발하는 데 사용한다. 역시 BSD 라이선스 모델을 따르고 있다.
◆ Coredumper : Coredumper는 프로그램이 돌아가는 가운데 다중 쓰레드 프로그램에서 GDB가 읽을 수 있는 코어덤프를 생성하는 산뜻한 프로그램이다. C/C++로 만들어져 있으며 포직스 시스템에서 동작하며 BSD 라이선스 모델을 따르고 있다.
◆ 구글 mMAIM : mMAIM(MySQL Monitoring And Investigation Module)은 MySQL 서버를 감시하고 분석하는 작업을 쉽게 만들어주는 파이썬 기반의 라이브러리이다. 라이선스 모델은 LGPL을 따르고 있다.
◆ 스파스 해시 테이블 : 스파스 해시 테이블은 구글에서 사용하는 다양한 해시 맵 구현을 포함하고 있다. SGI에서 만든 hash_map 클래스와 비슷하지만 성능이나 공간 최적화 측면에서 더 효율적인 성능을 보여준다. C++로 만들어져 있으며 BSD 라이선스 모델을 따르고 있다.
◆ 사이트맵 생성기 : 파이썬으로 만든 이 스크립트는 웹 서버를 분석해 사이트맵 파일을 생성한다. 이 파일은 운영 중인 웹 서버의 내용을 XML 목록으로 만들어서 구글에 제출할 수 있게 해준다. 라이선스는 BSD이다.
◆ Kongulo : 구글 데스크탑 검색을 위한 간단한 플러그인으로 만들어진 이 소프트웨어는 간단한 웹 스파이더이다. 지정한 인트라넷 웹 사이트를 돌아다니며 지역 데스크탑 검색에서 사용할 수 있게 색인을 걸어준다. 파이썬으로 만들어졌으며 라이선스는 BSD이다.
◆ Perftools : 어마어마하게 빠른 malloc 구현이며 쓰레드와 STL과도 잘 붙는다. 사용자 편의성을 높인 힙 점검 장치와 프로파일러를 탑재하고 있다. C와 C++로 만들어져 있으며 포직스 시스템에서 동작하며 BSD 라이선스를 따르고 있다.
 
이와 같은 오픈소스 이외에도 구글은 다음과 같은 몇몇 오픈소스 관련 프로젝트를 지원하고 있다.
 
◆ 파이어폭스 지원 : 대표적인 오픈소스 프로젝트인 파이어폭스 사용자를 위해 구글이 선물 보따리를 준비했다. 바로 파이어폭스용 확장(toolbar.google.com/firefox /extensions/)이다. 현재 구글 툴바, 구글 SMS(안타깝게도 미국에서만 쓸 수 있다), 구글 서제스트(suggest)를 제공하고 있으며 앞으로 숫자가 늘어날 것으로 보인다. 또한 파이어폭스 초기 화면(www.google.com/firefox?client=firefox-a&rls=org.mozilla:ko-KR:official)도 예쁘게 만들어서 제공함으로써 파이어폭스를 간접적으로 지원한다.
◆ 위키피디아 호스팅 : 요즘 신문 뉴스 기사보다 인기가 좋다고 알려진 오픈소스 개념의 백과사전인 위키피디아 호스팅을 구글에서 지원하겠다는 제의가 있었다(meta.wikimedia.org/wiki/Google_hosting). 기존 지원 업체와 맞물려 미묘한 문제가 걸려 있어 아직 확정되지는 않았지만 만일 구글에서 위키피디아를 본격적으로 지원해줄 경우에 기존 아마추어 위주로 운영되고 있는 지식 검색에 일대 변혁을 일으킬 것으로 보인다.
◆ 구글 특수 분야 검색 : 구글에서는 리눅스, BSD, 매킨토시, MS 윈도우와 같은 개발자를 위해 특수 분야만 검색할 수 있는 인터페이스(www.google.com/options /specialsearches.html)도 제공하고 있다. 특히 리눅스와 BSD를 별도 항목으로 분리시켜 놓은 정책은 오픈소스 위상을 높여주기에 무척 고무적이라고 할 수 있다. 참고로 주류에 속하는 MS 윈도우 분야 검색은 오히려 최근에 들어왔다.
 
구글 개발자 문화
과거에는 소프트웨어 개발자라면 누구나 한번쯤 MS에서 근무하는 꿈을 꾸곤 했었다. 부족함이 없는 멋진 환경에서 뭔가 쿨한 일을 한다는 느낌도 좋았고 잘하면 백만장자가 될지도 모른다는 꿈도 꾸면서 말이다. 하지만 이제는 MS도 구글에 왕관을 넘겨줘야 할 때가 다가온 느낌이다.
 
제품은 조직을 닮아간다는 말이 있듯이 개발자 입장에서 일하기 좋은 회사가 십중팔구 좋은 제품을 만들어 낼 가능성이 높으므로 요즘 한창 관심의 대상으로 떠오르는 구글 내부의 개발자 문화를 살펴보는 방식으로 간접적으로 구글 열풍을 감지해보도록 하자. 잠재적인 개발자를 키우는 여름방학 코드 짜기부터 시작해서 구글이 말하는 ‘구글에서 일해야 하는 10가지 이유’를 살펴보자.
 
여름 방학 코드 짜기
앞서 구글과 오픈소스 프로젝트에 대해 설명했다. 구글은 직접 오픈소스 소프트웨어를 만들기도 하고 다른 오픈소스 프로젝트를 지원하기도 하는데 학생들로 하여금 오픈소스 개발 세계를 소개하는 프로그램인 여름 방학 코드 짜기(Summer of Code, code.google.com/ summerofcode.html) 프로그램을 후원하고 있다.
 
구글은 여름 방학이 끝날 때까지 프로젝트를 성공리에 완성한 학생에게 총 4500달러라는 거금을 제공하며 여러 오픈소스 공동체에서는 현재 진행 중인 프로젝트 가운데 학생들이 붙어서 풀만한 문제점이나 개선점을 추려내 아이디어를 제공하고 멘터링 서비스를 운영하는 방법으로 실제 오픈소스에 공헌이 가능하도록 프로젝트 진행을 도와준다.
 
이번 여름 방학 코드 짜기 프로젝트에 참가한 오픈소스 멘터링 조직을 보면 단순히 시간 때우기용 프로젝트와는 거리가 멀다는 느낌이 올 것이다. 대표적인 몇몇 단체를 예로 들어보면 아파치 재단, 페도라 코어, FreeBSD, 가임, 그놈 재단, Handhelds.org(임베디드), KDE, 모노 프로젝트, 모즈데브(모질라), 오픈오피스, 펄 재단, 파이썬 소프트웨어 재단, 삼바, 서브버전, 우분투 리눅스, 와인 프로젝트 등이 있다. 이 정도면 웬만한 핵심 오픈소스 단체가 모두 참가했다고 봐도 틀린 것이 아니다. 여름 방학이 끝날 무렵 성공했거나 실패했거나 상관없이 학생들이 오픈소스 개발 모델에 대해 어느 정도 감을 잡을 수 있기 때문에 앞으로 자라나는 개발자를 확보한다는 측면에서 이런 프로젝트 후원은 매우 의미 있다.
 
사용자 삽입 이미지
구글 신입 모집 광고

MS에 입사할 경우 치러야 하는 코딩 인터뷰는 악명이 높다. 조엘 온 소프트웨어 20장을 보면 알겠지만 구체적으로 칠판에 프로그램을 짜면서 인터뷰를 해야 한다. 하지만 구글은 한술 더 떠서 수학적인 사고방식으로 무장하지 못한 개발자라면 입사 원서조차 내지 못하도록 조치를 취했다. <화면 6>과 같이 수학 문제를 내놓은 빌보드가 등장하면서 여러 온/오프라인 매체들이 일제히 빌보드의 정체에 대해 기사를 실었으며 매스메티카로 유명한 울프람리서치에서도 MathWorld 헤드라인 뉴스로 이를 다루기도 했다. 스스로 수학을 어느 정도 잘 한다고 생각하는 개발자라면 MathWorld 웹 페이지(mathworld.wolfram.com/news/2004-10-13/google)에 접속해 도전해 보기 바란다.
 
구글이 이처럼 신입 모집 광고부터 튀는 개발자를 찾아내려고 노력하는 이유는 혁신을 위한 창의성을 발휘할 수 있는 사람을 뽑으려고 하기 때문이다. 단순히 수학이 중요하다기보다는 문제를 해결해 나가는 과정과 기발한 생각을 중요하게 생각하는 것이다. 이렇게 스스로 문제를 알아서 풀어가는 개발자가 많아야 구글 랩과 같은 프로젝트를 원활하게 유지해서 향후 성장 동력을 마련하는 초석을 닦을 수 있다.
 
구글에서 일해야 하는 10가지 이유
요즘과 같이 경쟁이 치열한 상황에서 각 회사마다 유능한 사람을 뽑기 위해 내세우는 특장점이 있다. 어려운 수학 문제까지 풀어가면서 구글에 입사하려고 애를 쓰는 개발자가 한 둘이 아니라는 사실은 구글에 무언가 특별한 것이 있다는 것이다. 그 정체를 정확하게 규명할 순 없으나 구글이 직접 제시한 10가지 이유에서 힌트를 발견할 수는 있다.
 
1. 상부상조 : 위대한 삶을 살기 위해 필요한 정보를 사람들에게 제공한다.
2. 인생은 아름다워 : 리마커블한 제품 개발
3. 감사는 최고의 동기 부여책이다 : 구글의 직원 지원 프로그램 참조
4. 놀이와 일은 별개가 아니다.
5. 종업원을 사랑하며 이런 사실을 알기를 바란다.
6. 혁신이 생명줄이다 : 정보 처리 부문에서 최고를 지향한다.
7. 어딜 보더라도 좋은 동료가 있다 : 다양한 부문에 걸쳐 온갖 경력으로 무장한 친구를 찾을 수 있다.
8. 세계를 하나로 묶는다 : 모든 국가와 모든 언어를 지원한다.
9. 아무도 간 적이 없는 신세계로 용감하게 나가자 : 풀어야 할 수많은 난제가 있다. 여기서 수많은 사람을 기쁘게 해줄 창조적인 신제품을 만들 기회를 얻을 것이다.
10. 공짜 점심과 같은 선물이 있다 : 구글 식당은 품질이 높기로 유명하다. 최근 구글 식당의 수석 요리사가 그만둔다고 해 새로운 요리사를 구하기 위해 난리가 났었다.
 
국내에서 바라보는 구글
지식 검색부터 시작해서 쇼핑까지 포탈 사이트 내에서 모든 작업을 처리하기를 원하기 때문인지 국내에서는 검색 서비스만 전문적으로 제공하는 구글의 지명도는 그다지 높지 않았다. 하지만 요즘 들어와서 갑자기 ‘구글’이라는 단어가 언론에 많이 오르내리고 있는데 구글 뉴스로 검색해봐도 이런 현상을 어렵지 않게 감지할 수 있다. 그렇다면 띄엄띄엄 나오던 구글 이야기가 최근 들어 상당히 밀도 있게 전개되고 있는 이유는 무엇일까.
 
흥미롭게도 국내에서 구글이 유명해진 이유는 기술적인 문제가 아니라 사회적인 문제로 볼 수 있다. 아무리 뛰어난 기술일지라도 결국에는 사용하는 문맥에 따라 약이 될 수도 있고 독이 될 수도 있기에 사회적인 문제를 결코 흘러 넘길 수 없다. 하지만 언론에서 너무 흥미 위주로 접근하는 과정에서 구글의 부정적인 측면을 확대 재생산할 수도 있기에 지나친 반 기술주의 움직임과 관련해 부작용을 경계해야 한다. 오해를 불러일으킨 부분에 대해서는 구글에게도 변명의 기회를 줘야 하지 않을까.
 
주민등록번호와 구글
개발자 입장에서 주민등록번호만큼 강한 유혹을 던지는 개인정보는 없을 것이다. 국가적으로 공인한 유일한 키(unique key)이자 손쉽게 다른 정보에 접근할 수 있기에 외부 키(foreign key)가 될 수도 있기 때문이다. 주민등록번호와 실명만 알고 있으면 인터넷에서 개인의 신원을 위조할 수 있으며 집/회사 주소나 전화번호를 비롯해 다른 여러 가지 신상 정보 역시 모두 주민등록번호라는 메타 정보를 활용해서 얻을 수 있기에 일단 주민등록번호가 외부에 유출되면 골치 아픈 일이 생길 가능성이 높아진다.
 
그런데 일부 언론에서 구글을 주민등록번호 유출의 주범으로 몰아가는 웃지 못할 상황이 벌어지고 있다. 구글 검색엔진이 너무 강력하기 때문에 지인 이름만 입력하면 주민등록번호를 필두로 전화번호부터 콘도 예약 기록까지 모두 나오기 때문에 이를 국가적인 차원에서 막아야 한다는 주장이다. 실제로 국내 유명 포탈 사이트들은 주민등록번호처럼 보이는 정보를 색인하지 않도록 자체 검열을 실시하고 있기에 상대적으로 이런 문제에서 자유롭다. 그렇지만 구글에 대한 대안으로 논의되는 것들을 보면 ‘언발에 오줌누기’라는 생각이 머리 속을 떠나지 않는다.
 
물론 보여주지 말아야 하는 정보를 보여주기 때문에 잘못됐다는 논리는 정말 단순 명쾌하다. 그러나 본질적인 문제는 업계의 관례다. 실명을 반드시 확인해야 하는 금융권이나 전자정부 사이트라면 주민등록번호라는 개인정보를 필요악으로 수집할 수밖에 없겠지만 나머지 일반 사이트에서 주민등록번호를 필수적으로 수집하고 이를 검색엔진이 물어가도록 방치해온 것 자체가 잘못된 것이다. 단순히 편의를 위해 아니면 나중에 어떻게 사용해볼 요량으로 주민등록번호를 요구하는 안이한 생각이 문제를 불러일으킨 것이다.
 
하지만 최근에는 다음이나 EBS와 같이 아예 주민등록번호를 입력 받지 않는 곳이 늘어나고 있으며 국가적인 차원에서 본인 확인을 위해 주민등록번호를 대체할 다른 수단을 강구하고 있다는 소식이다. 또한 주민등록번호를 비롯한 개인정보를 과도하게 수집해놓고도 제대로 관리하지 못하는 기업이나 단체에 대해 비판의 목소리도 커지고 있기 때문에 구글이 국내 개인정보 보호에 대해 오히려 관심을 불러일으킨 셈이 됐다.
 
구글 어스와 동해, 국가 주요 기관 사진
회사에서 구글 어스(earth.google.com)를 설치해서 동료에게 살고 있는 집 위치를 물어본 다음 검색해서 찾아주니 다들 너무나도 놀라는 표정을 지었다. 각자 자리로 돌아가서 구글 어스를 설치해놓고 평상시에 알고 있던 이런저런 장소를 탐험하는 즐거운 시간을 보냈으리라. 그런데 요즘 이런 구글 어스가 계속해서 언론 한 귀퉁이를 장식하고 있다.
 
시작은 바로 동해였다. 반크(www.prkorea.com/)에서 구글 어스에 나타나는 동해 표기가 ‘일본해(Sea of Japan)’라는 사실을 발견해 구글 쪽에 정정요청을 한 것이다. 결국 구글은 반크 손을 들어줘 일본해가 동해로 바뀌었는데 이번에는 일본 쪽에서 반크 사이트를 다운시킬 정도로 격렬하게 항의를 했고 결국 구글은 <화면 7>과 같이 동해와 일본해를 병기했다.
 
사용자 삽입 이미지
이 과정에서 구글 어스에 대한 관심이 증폭됐는데 후폭풍으로 청와대를 비롯한 국내 주요 기관 사진을 손쉽게 얻을 수 있다는 보도가 나오면서 다시 한번 정부차원 대응이 필요하다는 주장이 솔솔 피어오르고 있다. 미국의 경우에는 군사 시설이나 주요 국가 시설물에 대한 사진을 제한하고 있기 때문에 구글 어스로 검색할 경우에 결과가 나타나지 않는다. 하지만 미국을 제외한 다른 나라에서는 이런 서비스를 기대하기 어렵다는 사실이 문제가 된다. 웹 사이트인 경우에는 구글의 웹 수집기인 구글 봇에게 특정 사이트 내용을 색인하지 않도록 요청하는 방법(www.google.com/webmasters/bot.html 참조)으로 민감한 정보 노출을 막을 수 있지만 키홀 인공위성의 경우에는 위장막을 설치할 수도 없으므로 특별히 조치를 취할 수 없기 때문에 주민등록번호 노출 문제와는 성격이 조금 다르다.
 
하지만 전문가들 사이에서도 여기에 대한 의견이 분분하다. 기술발전과 더불어 고해상도 이미지를 얻을 수 있는 길이 많기 때문에 단순히 구글 어스 서비스만 제한한다고 해서 문제를 근본적으로 해결하기는 어렵다는 것이다. 또 구글 어스가 서비스하는 해상도로는 군사적인 위협 수준까지 이르기에는 역부족이라는 지적도 있다. 다시 말해 이미 군사 목적으로 사용했던 GPS도 해상도를 완화시켜 상업화된 마당에 디지털 이미지 서비스도 상업화되는 추세를 거스를 수 없다는 것이다.
 
구글 어스를 오용할 경우 생기는 문제점에 대해 걱정이 쌓여가는 와중에 구글 어스에 대한 긍정적인 면도 부각되고 있다. 바로 허리케인 카트리나가 덮친 이재민 거주 지역에 대한 피해 상황을 제공한 것이다. 네티즌 제보를 접수한 구글이 미국해양대기관리처(NOAA)에서 제공받은 실시간 사진을 사용해서 예전 사진과 비교한 다음이 피해 상태를 알려주는 서비스를 시작했다. 구글 어스를 사용해서 예전 사진과 새로운 사진을 비교할 수도 있고 <화면 8>과 같이 피해 상황을 한 눈에 조감할 수도 있다. 구글 어스의 사례는 가치중립적인 기술을 어떻게 활용하느냐가 관건이라는 점과 정보공개와 올바른 사용에 대한 더 깊은 고민이 필요하다는 문제를 제기했다.
 
사용자 삽입 이미지
구글의 한국어 서비스

마지막으로 구글의 한국어 서비스에 대해 몇 가지만 짚고 넘어가자. 아직 한국지사는 설립되지 않았지만 구글에서 일해야 하는 10가지 이유에서 밝힌 ‘세계를 하나로 묶는다 : 모든 국가와 모든 언어를 지원한다’ 정책에 따라 구글은 한국어 서비스에 대해 상당히 발 빠르게 대응하고 있다.
 
기념일마다 바뀌는 로고에 한국 버전을 제공하고 있으며 원래 구글 한글 버전 홈페이지인 www.google.co.kr에 구글 한글이라는 부제를 달았다가 네티즌들의 항의를 받고 바로 구글 한국이라고 수정했으며, 구글 툴바는 물론이고 gmail도 한글 버전을 제공하고 있다. 또한 인터넷 신문에서 자료를 수집해서 자동으로 분류한 후 제공하는 구글 한국어 뉴스 서비스와 대학교 검색 서비스도 한국 현실에 맞춰 제공해 상당한 인기를 모으고 있다. 앞서 살펴본 구글 어스에 동해 표기를 병기한 것도 구글이 한국 시장을 상당히 높게 인식하고 있다는 증거로 해석된다.
 
그러나 아쉬운 점도 많다. 우선 구글이 제공하는 각종 프로그램은 여전히 한글화가 기대에 미치지 못한다. 최근 새로 출시한 구글 토크(www.google.com/talk)도 입력 도중에 글자가 완성되지 못하고 풀어져버리는 버그가 있으며, 아직 한글 버전은 공개되지 않았다. 구글 한국어 번역은 아직 초기 단계이며 구글 서제스트도 아직 한글 서비스를 시작하지 않고 있다.
 
구글플렉스를 이룰 수 있을까
지금까지 구글의 역사와 개발자에 있어 구글의 의미, 국내에서 비춰지는 구글의 모습에 대해 개괄적으로 살펴봤다. 장황하게 설명했으나 검색엔진인 구글의 신드롬 이면에 숨겨진 비밀은 매우 단순하다. 사용자가 원하는 정보를 가장 빠르고 손쉽게 찾아준다는 사실 하나이기 때문이다. 그러나 이런 목표를 달성하기 위한 구글의 움직임은 그리 단순하지 않다. 검색 결과라는 ‘공짜 선물’을 한걸음 앞서 제공하기 위해 수많은 인력과 자금을 투입하는 일이 결코 쉽지 않기 때문이다.
 
개발자 포용 정책의 성공에서 출발해 이제 서서히 국내 일반 사용자에까지 영향을 미치고 있는 구글이 향후 구골(2의 100승, en.wikipedia.org/wiki/Googol)을 넘어서 구글플렉스(10의 구골승, en.wikipedia.org/wiki/Googolplex)으로 발전해 갈 수 있을지 필자 역시 흥미진진한 시각으로 바라보고 있다. [maso]
Trackback 0 Comment 0