Categories
Android Talks KudoTech KudoTranslate SmartPhones weirdmeetup

KudoTranslate: 안드로이드에 대한 구글의 강철의 통제: 어떤 방법으로든 오픈 소스를 통제하기.

안드로이드는 열려 있다 — 좋은 부분은 다 빼고.

By Ron Amadeo

이 글은 Ars Technica의 “Google’s iron grip on Android: Controlling open source by any means necessary“를 옮겨온 것임을 밝힌다. 이 글이 쓰여진 시점은 10월 21일로, 안드로이드 4.4 킷캣과 넥서스 5가 발표되기 전임을 미리 밝힌다.

6년 전인 2007년 11월에 안드로이드 오픈 소스 프로젝트 (Android Open Source Project; AOSP)가 발표되었다. 1세대 아이폰이 몇 개월 전에 출시되어 사람들의 상상력을 현실화시키고 현대 스마트폰 시대로 끌어들이고 있는 상황에서였다. 구글은 아이폰의 앱 파트너였으면서도, 억제되지 않는 아이폰의 경쟁 제품은 어떤 것일까라는 생각을 하고 있었다. 앤디 루빈 Andy Rubin의 안드로이드 개발을 지켜보며 빅 군도트라 Vic Gundotra가 이런 말을 했다:

그는 구글이 행동하지 않으면, 한 사람, 한 회사, 한 기기, 한 통신사가 유일한 선택지인 암울한 미래를 경험하게 될 것이라고 강조했었습니다.

구글은 애플이 모바일 시장을 지배하게 될까봐 겁이 났다. 따라서, 구글이 어떠한 모바일 기반 실력도 없을 때, 아이폰과 경쟁하기 위해 안드로이드는 오픈 소스 프로젝트로 출시됐다.

그 시대에는 구글이 가진 것이 아무것도 없었기 때문에, 어떠한 채택 — 조금이라도 점유율을 올리는 것 — 도 환영이었다. 구글은 안드로이드를 무료로 뿌리고 구글 서비스를 위한 트로이 목마로 활용하기로 했다. 만약 아이폰에 구글 검색이 들어가지 않는다면, 사람들은 데스크톱에서도 구글 검색을 하지 않을 것이라는 것이 논리였다. 안드로이드는 구글 검색 “성”을 둘러싸는 “해자”였다 — 구글의 온라인 재산들을 모바일 세상에서 보호해줄 것이었다.

chart32
우주까지 나갈 듯한 안드로이드의 시장 점유율.

오늘날에는 상황이 좀 다르다. 스마트폰 시장에서 0%의 점유율을 기록하던 안드로이드는 이제 80%를 기록하게 됐다. 안드로이드가 스마트폰 전쟁에서 이겼지만, “안드로이드가 이기는” 것은 “구글이 이기는” 것과는 다르다. 안드로이드는 오픈 소스이니, 구글에 “소속되어” 있는 것이 아니기 때문이다. 누구나 안드로이드를 가져가서 소스를 복제한 다음 그들만의 버전을 내놓을 수도 있는 것이다.

윈도우 폰이나 블랙베리 10이 허덕이는 것에서 봤듯이, 모바일 시장에서는 앱 카탈로그가 모든 것이고, 안드로이드의 거대한 설치 기반은 엄청난 양의 앱을 의미한다. 회사 하나가 안드로이드를 개조하면 OS는 이미 몇백만 개의 앱과 호환이 될 것이다. 그 회사는 앱 스토어 하나만 만들고 그 앱들을 모두 업로드하면 되는 것이다. 이론적으로는, 구글의 것이 아닌 OS로 하룻밤만에 수백만 개의 앱을 갖출 수도 있다는 말이다. 구글이 아닌 다른 회사가 더 나은 안드로이드를 만들어낼 수 있다면, 꽤나 만만찮은 경쟁자가 될 것이고 구글의 스마트폰 독재에 도전을 할 수도 있을 것이다. 이것이 바로 구글의 현재 위치에 대한 가장 큰 위협이다: 성공적인 다른 안드로이드 배포 방법말이다.

그리고 몇몇 회사는 이미 구글에게서 안드로이드를 채가려고 시도하고 있다. 가장 성공적이고 눈앞에 드러나는 다른 안드로이드는 바로 아마존의 킨들 파이어다. 아마존은 AOSP를 가지고 구글 애드온을 모두 빼버린 다음, 자신만의 앱 스토어와 컨텐츠 스토어, 브라우저, 클라우드 스토리지, 그리고 이메일 서비스를 제공한다. 중국이라는 나라 전체도 구글을 피한다. 대부분의 구글 서비스는 사용이 금지되어 있다보니 대체 버전밖에는 도리가 없다. 이 두 가지의 경우 모두 구글이 쓴 안드로이드 코드가 쓰이지만, 구글이 얻는 것은 아무것도 없다.

0% 점유율의 꼴찌 상태에서는 공짜로 뿌리기는 쉽다. 정확히 안드로이드가 시작한 지점이다. 하지만 1등이 되면, 그 때만큼 두 팔을 활짝 열고 환영하기란 쉽지 않다. 안드로이드는 구글을 보호해주는 것에서 그것 자체가 보호가 필요한 것으로 바뀌었다. 모바일은 인터넷의 미래이고, 세계에서 가장 큰 모바일 플랫폼을 통제한다는 것은 많은 이점을 가져다준다. 현재로서는 이 오픈 소스 지니를 다시 램프 안으로 우겨넣는 것은 어렵다. 문제는 이렇다. 어떻게 오픈 소스 프로젝트를 통제할 것인가?

구글은 언제나 안드로이드의 대체 버전에 대한 방어책을 세워뒀다. 많은 사람들이 생각하는 “안드로이드”는 크게 두 가지로 나뉜다. 안드로이드의 기반이기도 한 안드로이드 오픈 소스 프로젝트 (AOSP)의 오픈된 부분과 구글 앱이 대부분인 클로즈 소스 부분이다. 구글이 완전히 반대쪽으로 가서 안드로이드를 완전히 폐쇄시키지는 않겠지만, 현재 있는 오픈 소스 프로젝트에 대해서는 어떻게든 영향력을 행사하려는 것 같다. 그리고 구글의 방법은 더 많은 앱들을 클로즈 소스인 “구글” 우산 내로 들어오게 하는 것이다.

몰래 클로즈 소스로

안드로이드에는 언제나 클로즈 소스인 구글 앱들이 있었다. 처음에 이 그룹은 지메일, 지도, 토크, 그리고 유튜브같은 구글의 온라인 서비스를 위한 클라이언트들로 구성되었다. 안드로이드가 시장 점유율이 없었을 때는 구글은 이 앱들을 AOSP에 포함시키는 데 전혀 문제가 없었다. 그러나 안드로이드가 모바일 파워하우스가 되자, 구글은 이 공개된 소스 코드에 좀 더 통제가 필요하다는 판단을 했다.

이 앱들 중 일부는 여전히 AOSP 버전이 따로 있을 수는 있지만, 거의 대부분의 AOSP 버전에 대한 작업은 통제되는 버전이 나오고 나서 멈춰졌다. 더 적은 오픈 소스 코드는 구글의 경쟁자로서는 더 많은 일을 해야한다는 것을 뜻한다. 오픈 소스 앱을 죽이지 못한다면, 모든 개발을 클로즈 소스로 옮겨 그 앱을 아예 어밴던웨어로 만들어버릴 수도 있다. 구글이 앱을 리브랜드하거나 플레이 스토어에 새로운 안드로이드 부분을 올린다는 것은, 그것의 AOSP 버전은 죽은 것이다.

검색

그럼 검색 앱부터 시작해보자. 구글이 AOSP의 기능을 복사하면 어떻게 되는지 보여주는 가장 좋은 예이니까.

2010년 8월에 구글은 보이스 액션을 선보였다. 그와 함께 구글은 “구글 검색”이라는 앱을 (당시에는) 안드로이드 마켓에 선보였다. 이게 프로요였을 때의 얘기였다. 위의 사진은 AOSP 버전의 검색 앱과 안드로이드 4.3에 구글이 넣는 구글 검색 앱의 최신 버전이다. 보시다시피, AOSP 버전은 아직도 프로요 (안드로이드 2.2) 당시의 모습 그대로다. 일단 구글이 클로즈 소스 앱을 출시하면, 오픈 소스 버전은 바로 버렸다. 구글 버전은 음성으로도 검색할 수 있고, 오디오 검색에, TTS(Text-to-Speech)에, 음성 답변 기능에, 마지막으로 예측형 비서 서비스인 구글 나우도 있다. AOSP 버전은 웹과 지역 검색을 할 수 있고… 그게 다다.

음악

구글은 구글 I/O 2010에 자사의 클라우드 뮤직 서비스를 처음으로 선보였고, 우연찮게도 AOSP의 음악 앱도 그 시점부터 냉동수면에 들어갔다. 지금까지도 프로요 앱처럼 보이고, 행동한다.

플레이 뮤직은 구글의 클라우드 음악 스토리지에 접근할 수 있었고, 그와 함께 거대한 음악 스토어와 구독 옵션도 생겼다. 플레이 뮤직은 몇몇의 인터페이스 재디자인을 거쳐 이퀄라이저와 크롬캐스트 지원까지 생겼다. 두 앱은 이제 너무 달라서, 한때 이 둘이 같은 앱이였다고 생각하기도 힘들다.

캘린더

구글 캘린더는 최근에야 클로즈 소스화되었다. 이 과정이 안드로이드 커뮤니티에 선전되는 것은 놀라웠다: 이제 기본 캘린더를 모두가 받을 수 있어요! 이제 플레이 스토어에서 업데이트도 됩니다! 기능도 더 많아졌어요! (아, 그리고 이제 클로즈 소스에요.)

이건 꽤나 최근에 갈라진지라, 아직 두 버전 사이의 차이점은 그다지 크지 않다. 구글 캘린더는 기기들 간의 알림을 동기화해주고, 멋진 새 아이콘을 얻었다. 이제 AOSP 캘린더는 어떠한 업데이트도 얻지 못할 가능성이 크다.

키보드

keyboard
설정을 보면 무슨 기능이 빠졌는지 알 수 있다.

심지어 키보드도 몰래 클로즈 소스가 되는 것을 피하지 못했다. 몇 달 전, 구글은 기본 키보드에 스와이프와 비슷한 제스쳐 타이핑 기능을 추가했고, 이 앱은 플레이 스토어에 “구글 키보드”라는 이름으로 등장했다. 그 기능의 소스 코드가 어디 있는 지 맞출 수 있겠는가? AOSP에는 없다. 위 사진을 보면, 두 앱의 설정 화면의 차이점을 볼 수 있다. 구글 키보드는 스와이프 키보드에 대한 설정이 있지만, AOSP 버전은 그게 없다. 구글 키보드가 나오자마자 버려진 셈이다.

갤러리/카메라

카메라와 갤러리는 사실 하나의 APK(안드로이드 애플리케이션 패키지 파일)다. AOSP버전은 “Gallery2.apk”라는 파일명을 가지고 있고, 구글의 버전은 “GalleryGoogle.apk”다. 위의 사진에서 볼 수 있듯이, 포토 스피어는 구글 버전에만 있다 — 혁신적인 카메라 모드가 AOSP 버전에는 없는 셈이다. 오픈 소스 버전은 또한 어떠한 구글+ 기능도 포함되지 않는다.

그러나, 최소한 여기에는 구글을 칭찬해줘야할 부분이 있다. AOSP 버전이 기능은 따라오지 못하지만, 최소한 구글은 안드로이드 4.3의 디자인을 오픈 소스 버전에도 탑재했다.

미래

아직 출시는 안 됐지만, 이제 다음으로 퇴출될 앱은 기본 SMS 앱이다. 많은 사람들이 구글 행아웃이 SMS를 탑재하고 아이메시지를 쫓아가야 한다고 아우성을 피우고 있지만, 그것은 결국 안드로이드의 SMS 기능을 클로즈 소스로 옮기는 것을 뜻한다. 구글이 그 이사를 하면, 한두 안드로이드 버전 뒤에는 크롬이 브라우저에게 그랬던 것처럼 (최소한 크롬의 대부분은 아직 오픈 소스다) SMS 앱이 사라지리라 장담한다.

행아웃이 SMS 기능을 통합하는 순간, AOSP 메시징 앱은 완전히 버려질 것이다. 메시징 앱은 이미 은퇴길의 한 반쯤은 온 것 같다. (안드로이드 4.0의 거대한 재디자인 후 변화가 없다.) 그리고 만약 이게 현실화되면, 그 말이 무슨 뜻인 지는 짐작하시리라 본다: 오픈 소스 문자 앱이 죽는 것이다.

n5-apps-640x657
왼쪽: “구글 사진”을 보여주고 있는 킷캣의 사진. 오른쪽: 현재 “G+ Photos.”

그 다음으로 짤릴 앱은 바로 오픈 소스 갤러리다. 새로운 안드로이드 버전인 킷캣의 유출된 사진에는 새로운 아이콘과 함께 “구글 사진”이라는 이름의 앱이 있었다. 알파벳 상으로 “이메일 E-Mail”과 “지메일 Gmail” 사이에 있어야 하는 “갤러리 Gallery” 앱은 보이지 않는다. 구글 사진을 직접 본 적은 없지만, 현재 “G+ Photos”라는 앱과 같은 아이콘을 공유하고 있다. 보아하니 AOSP 갤러리 또한 구글+에 많이 의존하는 클로즈 소스 앱으로 교체될 것으로 보인다. 구글의 새로운 벽이 쳐진 정원의 궁극적 예이다.

제조사들을 묶어버리기

구글이 오픈 소스 코드베이스를 최대한 깎아내리려 하는 것도 있지만, 앱을 통제하는 것이 구글의 유일한 힘쓰기는 아니다.

만약에 어느 회사가 AOSP를 토대로 개조된 안드로이드를 만들고, 구글 앱을 복제해 구글의 안드로이드의 진정한 경쟁제품을 만든다 하더라도, 어느 제조사든 그 OS로 기기를 만들게 설득하기는 힘들 것이다. 만약 열린 시장이었으면, 그 회사가 안드로이드 제조사에게 전화를 걸어서 바꾸라고 설득하면 되겠지만, 구글이 나서서 그 설득을 좀 더 어렵게 만들고 있다. 모바일 시장에서 구글의 진짜 힘은 구글 앱 — 지메일, 지도, 구글 나우, 행아웃, 유튜브, 플레이 스토어 등 — 을 통제하는 것에서 나온다. 이것들은 안드로이드의 킬러 앱이고, 크고 (작은) 제조사들은 이 앱들을 자사의 기기에 탑재하기를 원할 것이다. 이들 앱은 오픈 소스가 아니니, 구글에서 라이센스를 받아야 한다. 이 시점부터 아마 영화 “대부”의 장면이 상상되실 것이다. 이 앱들은 몇몇 필요조건이 있기 때문이다.

공식 필요조건이 아닐 지는 몰라도, 구글 앱 라이센스를 받는 것은 오픈 핸드셋 연합(Open Handset Alliance: OHA)에 가입하면 훨씬 더 쉬워진다. OHA는 안드로이드 — 구글의 안드로이드 — 에 헌신하는 제조사들의 모임으로, 이 모임의 회원들은 구글이 승인하지 않은 기기를 만드는 것을 계약적으로 제한받는다. 그렇다, OHA에 가입하려면 회사의 생명을 포기하고 경쟁하는 대체 버전의 안드로이드 기기를 만들지 않겠다는 서명을 해야 한다.

에이서는 중국에서 알리바바의 앨리윤 Aliyun OS를 돌리는 기기를 만들으려 할 때 이 계약에 의해 저지당했다. 앨리윤은 안드로이드를 개조한 OS였고, 구글이 그 소식을 듣는 순간 에이서는 프로젝트를 그만 두거나, 구글 앱 라이센스를 포기하라는 연락을 받았다. 구글은 심지어 이에 대해 공개적인 블로그 포스트까지 썼다:

안드로이드는 모두가 무료로 쓸 수 있지만, 안드로이드와 호환되는 기기들만의 완전한 안드로이드 생태계의 잇점을 얻습니다. 오픈 핸드셋 연합을 통해 각각의 회원은 수많은 호환안되는 버전이 아닌, 하나의 안드로이드 플랫폼을 만드는 데 일조합니다.

이 덕분에 개조된 안드로이드를 당당하게 내놓을 정도로 뻔뻔한 하나의 회사만 상황이 어려워졌다: 아마존 말이다. 킨들 OS가 호환되지 않는 안드로이드이니 어떠한 메이저 제조사도 아마존을 위해 킨들 파이어를 만들 수 없다. 그러니 만약 아마존이 다음 태블릿을 만들어야 한다면, 에이서, 에이수스, 델, 폭스콘, 후지쯔, HTC, 화웨이, 쿄세라, 레노보, LG, 모토로라, NEC, 삼성, 샤프, 소니, 도시바, 그리고 ZTE는 즉각 후보 목록에서 지워야할 것이다. 현재 아마존은 킨들을 생산하기 위해 주로 노트북을 생산하는 퀀타 컴퓨터와 계약을 맺고 있다. 아마 별로 선택지가 없었을 것이다.

제조사들 입장에서는 구글의 안드로이드에서 개조 버전으로 슬쩍 옮길 수도 없다는 소리다. 경쟁하는 개조 버전을 한 대라도 내놓는 순간, 죽음의 키스를 받으며 안드로이드 커뮤니티에서 차인다. 깨끗하게. 이러다보니 어떠한 유명 안드로이드 제조사라도 개조된 안드로이드를 올린다는 것은 매우 무서운 것이다. 구글 절벽에서 뛰어내려야 하고, 돌아갈 길도 없기 때문이다.

구글 앱을 라이센싱받고 싶어하는 제조사들은 구글의 “호환성” 테스트를 통과해야 한다. 이 테스트는 플레이 스토어의 모든 앱이 기기에서 구동될 수 있는 지를 확인하는 것이다. 그리고 구글에게는 “호환성”이라는 것은 안드로이드 엔지니어가 내부적으로 말한 것처럼 “제조사를 우리가 원하는 대로 조종할 수 있게 하는 클럽”같은 유연한 개념이기도 하다. 구글은 현재 “호환성”을 점검하기 위해 자동화된 도구를 사용하지만, 구글 앱 라이센스를 얻으려면 제조사가 개인적으로 구글에 이메일을 보내서 일종의 “반지에 키스”를 해야한다. 이 과정의 대부분은 밀실의 합의와 비밀계약으로 이루어지기 때문에 우리가 알게 되는 정보의 대부분은 공개적인 승강이나 구글과 잠재적 안드로이드 탈영자들 (예: 에이서) 사이의 소송에서 공개되는 자료들 뿐이다.

다른 부분에서의 통제는 구글 앱들이 모두 하나의 번들로서 라이센스가 된다는 것이다. 따라서 만약에 지도와 지메일만 원한다 하더라도, 구글 플레이 서비스, 구글+, 그리고 구글이 원하는 앱들 모두를 기본으로 깔아야 한다. 스카이훅이라는 회사가 안드로이드에서 구글과 경쟁할 위치 서비스를 개발하면서 이것을 어렵게 배웠다. 스카이훅의 서비스로 바꾼다는 것은 구글이 사용자들에게서 위치 데이터를 수집하지 못한다는 것을 뜻했다. 이건 구글에게 좋지 않았고, 스카이훅은 결국 “비호환” 판정을 받았다. 구글 앱들을 원하는 제조사들은 스카이훅의 서비스를 쓰면 안됐다. 스카이훅은 구글을 고소했고, 아직 재판은 시작되지 않았다.

블로트웨어로 실험하기

대부분의 제조사들 입장에서는 구글 생태계를 떠나면서 성공을 한다는 것은 몽상 이상의 이야기다. 제조사들이 마운틴 뷰의 분노를 사지 않고도 구글이 없는 존재를 실험하고 싶으면 구글의 앱들의 다른 버전들을 만드는 수밖에 없다. 이것이 우리가 블로트웨어(우리나라에서는 ‘제조사 앱’이라 한다 — 역자 주)라고 부르는 것들이다. 블로트웨어는 일종의 소프트웨어 엔지니어링의 “어쩌면” 사고적 실험으로, 제조사들이 구글의 중심 앱들을 모두 복사해내 구글의 울타리쳐진 정원 밖에서 사는 것이 얼마나 어려운 것인지 보려는 것이다.

lolsamsung
삼성이 꿈꾸는 구글 없는 세상.

삼성이 이 방면에서는 특히 “괜찮은” 성적을 거두고 있는데, 자체적 사용자 계정 시스템에, 백엔드 동기화, 그리고 앱 스토어까지 있다. 또한 가장 완전한 모음의 구글 대체 앱들을 가지고 있다. 이 중 인터넷, 이메일, 캘린더 등 많은 것들은 AOSP에 뿌리를 두고 있지만 구글이 클로즈 소스 버전에 눈을 돌리면서 버린 이후로 꾸준히 업데이트를 해 왔다.

구글 앱이 있는 스마트폰에서 두 개의 캘린더 앱이 있는 건 우스꽝스럽고 과잉적으로 보일 수도 있다. 하지만 많은 제조사들은 블로트웨어를 상황이 악화될 것을 대비한 중요한 전략적 대체 시스템 — “2차 계획” — 으로 본다. 구글이 갑자기 예상에 없던 행동을 하는 바람에 제조사가 차이게 되면, 그 회사는 최소한 고객이 쓸 수 있는 뭔가는 줘야 하지 않겠는가? 제조사들은 그들이 판매하는 스마트폰에 넣어 — 왜냐하면, 그러지 않을 이유가 없지 않은가? — 가치있는 피드백을 받는다. 이러한 전략이 과잉이고 소비자들에게 혼란을 줄 수도 있지만, 몇몇 사용자들은 제조사의 버전을 더 좋아할 지도 모르는 일이다.

이 거대한 대체 앱들의 목록을 보면 삼성이 꼭 당장이라도 뛰어내릴 것처럼 보이지만 구글 앱을 베끼는 것은 구글을 벗어나는 거대한 과정 중 작은 부분에 속할 뿐이다. 제조사가 원하는 안드로이드의 측면은 바로 거대한 써드 파티 앱 카탈로그이다. 구글은 이것이 약점이라는 것을 알고 있고, 이에 따라 앱 생태계도 구글에 의존하도록 만들기 시작했다.

써드 파티 앱들을 묶어버리기

우리는 이전에 플레이 서비스의 업데이트 영향력을 본 적이 있는데, 이는 또한 개조된 안드로이드에 대항할 수 있는 훌륭한 무기이기도 하다. 플레이 서비스는 구글이 가지고 있는 클로즈 소스 앱으로 구글 앱 패키지의 하나로서 라이센스된다. “보통” 안드로이드에서 플레이 서비스로 옮겨지는 기능이 있다면 그 기능은 클로즈 소스가 된다고 보면 된다. 이 앱은 사용자들이 독점적이고 클로즈 소스인 기능들을 쓰도록 유혹할 뿐만 아니라, 개발자들이 구글의 독자적 API를 쓰도록 묶어버리는 역할도 한다.

안드로이드 앱 생태계를 구글에서 뺏는 것은 쉬워보인다. 그냥 자신만의 앱 스토어를 열고 개발자들을 그 스토어에 앱을 올리도록 설득하면 끝이니까. 하지만 플레이 서비스에 묶여서 나오는 구글 API를 이용해서 구글은 개발자들이 구글에 더 의존적이 되도록 유도한다. 구글 플레이 서비스를 통한 구글의 전략은 개발자들의 삶을 구글이 승인한 기기에서는 매우 쉽게, 구글이 승인하지 않은 기기에서는 매우 어렵게 함으로써 “안드로이드 앱 생태계”를 “구글 플레이 생태계”로 바꾸는 것에 있다.

구글 API를 써서 앱을 만든 다음 킨들이나 다른 구글이 승인하지 않은 AOSP 버전에서 돌리면 어떻게 될까? 짜잔! 앱이 망가진다. 안드로이드 시장 자체에서 구글의 안드로이드가 차지하는 양은 많고, 개발자들은 앱을 쉽게, 또 제대로 동작하게 만들어서 많은 대중에게 공개하는 것이 목적이다. 구글 API는 이 모든 것을 해낼 수 있지만, 구글 앱 라이센스를 가진 기기에서만 제대로 동작한다는 부작용이 생긴다.

구글 지도 API

구글 지도 API는 앱에 구글 지도 데이터를 이용할 수 있게 해준다. 지도 위에 날씨를 보여준다던가, 여행 앱에서 위치를 지도로 표시해준다던가할 때 매우 유용하다. 유일한 문제는 이것이 안드로이드가 아닌, 구글 서비스의 한 부분이라는 것이다. 지도 API에 의존하게 되면 구글이 승인하지 않은 기기에서는 앱이 제대로 동작하지 않을 것이다.

이에 대한 대응으로, 아마존은 노키아에게서 지도 데이터를 받아서 구글 지도 API의 복제판을 만들어야했다. 아마존은 심지어 구글 지도 API에서 이주하는 방법을 설명해주는 페이지도 따로 존재할 정도다. 구글은 생태계 안에 있으면 매우 쉽지만, 밖으로 나가려 하면 매우 어렵게 만드는 것이다. 킨들에서도 지원을 하고 싶다면, 두 개의 다른 지도 API를 모두 지원해야 한다.

안드로이드를 개조하려는 업체 — 이 상황에서는 아마존 — 에게는 새로운 지도를 라이센스하거나 나가서 행성 전체를 지도로 만들어야할 판이니 상황이 좋지는 않다. 아마존은 게다가 구글의 엄청난 개발속도도 따라붙어야 한다. 아마존의 지도 API는 구글 지도 API v1을 지원하지만, 구글은 벌써 v2를 만들었다. 만약 여러분이 지도 API v2의 기능에 의존하는 개발자라면, 아마존은 그것을 지원하지 않는다. 할 일이 더 늘어난 셈이다.

구글 클라우드 메시징

 

구글 클라우드 메시징(Google Cloud Messaging: GCM)은 안드로이드 기기에 푸시 알림을 보내는 가장 쉬운 방법이지만, AOSP에서는 이를 절대로 볼 수 없을 것이다. I/O 2013에 GCM은 플레이 서비스로 종속되었고, 이제는 알림을 받기만 하는 것이 아니라 위로 올릴 수도 있다. 기기 간 알림을 동기화하는 기능의 주요 재료이기도 하다. 개발자들은 기기들에 속보를 전하거나 앱에게 새로운 데이터가 있고, 동기화를 해야한다고 신호를 보낼 때 GCM을 사용한다.

구글 지도는 그렇게 많은 양의 앱에서 사용되지 않는 것 같지만, 많은 앱들이 제대로 동작하려면 푸시 메시징은 필요하다. 이것 또한 아마존이 뒤쳐지지 않기 위해 베껴야 했다. 아마존의 버전은 “아마존 디바이스 메시징”이라고 불리며, 아마존 기기에서만 동작한다. 지도 API처럼, 개발자는 적은 양의 사용자들을 위해 일을 더 하고 테스트도 해야하는 셈이다. GCM의 모든 기능이 아마존의 것에 있다고 장담도 하지 못하니, 개발자는 그 차이점을 찾기 위해 또 삽질을 해야한다.

위치 API

 

구글 I/O 2013에서 구글은 안드로이드 위치 API를 손봐서 구글 플레이 서비스의 일부로 배포했다. 간단히 말해, 안드로이드의 최신 위치 서비스가 이제 클로즈 소스가 된 것이다. 위에 서술한 역사가 반복된다면, 옛날 API는 아마 버려져 썩을 것이다. 추가된 기능 중에는 연합 위치 제공자 Fused Location Provider, 안드로이드 위치 알고리즘의 “완전한 재설계”, 지오펜싱 (지도 위에 위치를 정해놓고 그 위치에 기기가 들어가게 되면 이벤트를 발동시키는 기능), 그리고 가속도계 데이터와 복잡한 알고리즘으로 GPS를 켜지 않고도 사용자가 걷고 있나, 자전거를 타고 있나, 운전하고 있나를 판단하는 활동 인식 기능 등이 있다.

지도 API나 GCM을 구글 자체 앱으로 만드는 건 둘 다 구글 서버를 쓰는 것이니까 합당해보인다. 그러나 위치 스택 전체를 옮겨오는 것은 구글이 힘을 휘두르는 것이라고밖에 보이지 않는다. 위치를 얻는 방법은 이제 두 가지다. 좋고, 저전력이며, 클로즈 소스인 구글의 방법이나, 쓰레기같고, 전력 소모도 크며, 오픈 소스인 방법 말이다.

앱 내 구매

현재 최고의 앱 내 구매 시스템은 구글 플레이 스토어를 통해서 이루어진다. 그러나 만약 개발자가 앱이 킨들이나 중국에서도 구동되게 하고 싶다면, 다른 솔루션을 찾아야 한다. 이것 또한, 만약에 살아남을 수 있는 개조된 AOSP를 만들고 싶다면, 복사를 떠야 한다. 아마존 역시 아마존 앱 내 구매 API로 그렇게 했다. 삼성 또한 2년 전에 앱 내 구매 API를 선보인 적이 있다.

플레이 게임

플레이 게임은 모바일 개발자들이 어려워하는 문제를 쉽게 풀어주는 또다른 자체 API다. 사용자 계정, 리더보드, 도전 과제, 클라우드 저장, 복제 방지, 그리고 (안드로이드에서는) 실시간 멀티플레이어 등의 다양한 기능을 제공한다. 최고인 것은 거의 모든 플랫폼에서 동작한다는 것이다. 웹앱, iOS, 그리고 안드로이드까지. 아, AOSP는 제외하고. 이것 또한 써드 파티 앱이 의존할 수 있는 것이고 다른 안드로이드 배포 업체라면 복사를 떠야 하는 것이다.

아마존은 게임서클 GameCircle이라 불리우는 게임 API가 있지만, 아마존 지도 API가 그러듯이 플레이 게임을 완전히 대체하지는 못한다. 개발자는 아예 완전히 다른 멀티플레이어 네트워크를 만들기 위해 시간을 보내야할 것이다.

iOS를 지원하며 묶어버리기

구글의 전략에서 악역에 가까운 천재적인 부분은 구글 API의 90%가 iOS에서도 지원된다는 점이다. 자, 여러분이 구글의 API를 쓸지 말지 결정하는 개발자라고 생각을 해보자. 구글의 솔루션은 최고의 사용성과, 기능성, 그리고 간단하게 적용할 수 있다는 장점이 있다. 게다가 구글은 가장 큰 두 개의 모바일 플랫폼을 지원하니 잠재적 사용자 베이스의 대부분을 지원할 것이다. 유일한 문제라면 개조된 안드로이드는 지원하지 않을 것이라는 건데, 어차피 그걸 쓰는 사람들은 극히 소수일 뿐이다.

대부분의 개발자들은 구글 API를 선택하겠지만, 다음 문제는 이제 킨들과 개조된 안드로이드는 어쩌지? 개발자들은 대체 API를 직접 찾아야 하는데, 옛날일 수도 있고 현재 앱과 호환이 안될 수도 있다. 이 다른 솔루션이 완벽한 대체제가 되지 못하면, 개발자는 어떻게 없는 기능을 피해가며 앱을 써야할 지 고민해야 한다. 거기에 현재 iOS + 안드로이드 사용자 베이스에 비하면 턱없이 적은 사용자 수인데, 굳이 지원할 필요가 있을까? 투자한 시간을 돌려받을 수 있을까? 그냥 “에라이 개조된 안드로이드는 꺼져”라고 외치고 그 과정을 다 넘기고 바로 Q/A에 들어갈 수도 있는 것이다.

삼성은 아무데도 안 간다

이 부분은 왜 아마존이 구글 없이 살아가도, 삼성은 그러지 못하는 지 설명하는 곳이다. 아마존은 구글의 API를 열심히 복사하고 있지만, 삼성은 구글에 의존하는 개발자들에 많은 답을 제시하고 있지 않다. 삼성이 구글 생태계를 떠난다고 예측하는 것은 지도 데이터를 라이센싱한다거나 클라우드 메시징 API가 생기기 전까지는 너무 이른 것이다.

아마존은 지금까지는 잘 따라왔지만, 인터넷에서 태어난 회사다. 서버와 소프트웨어는 잘 알고 있기 때문에 많은 양의 클라우드 서비스를 만드는 것은 큰 변화가 아니다. 삼성전자는 보시다시피 전자기기 회사다 — 클라우드 인프라와 API를 만드는 것이 원래 적성은 아닌 셈이다. 그러니 아마존은 몇 년 동안 클라우드 서비스 플랫폼의 지원을 받아 이 싸움을 계속할 수 있지만, 삼성은 훨씬 더 가파른 길을 올라야 하는 것이다.

삼성은 약간 앞으로 나아갔다. 앞에서 말했듯이, 삼성에게는 앱 내 구매에 대한 SDK를 만들었다. 흥미롭게도, 광고 SDK도 있는데, 광고는 실제로 돈을 벌어들인다. 구글은 광고를 안드로이드, iOS, 개조된 안드로이드, 그리고 심지어 윈도우 폰에서도 지원한다.

“보기만 하고 만지지 마세요”의 오픈

한 회사가 안드로이드를 개조해서 진지하게 경쟁을 하고 싶었다면, 이 글에서 나열한 전부를 복제해야한다. 거기까지 했더라도, 이제 겨우 동등하게 맞췄을 뿐이다. 여전히 사용자들에게 구글의 안드로이드를 버리고 개조된 안드로이드로 와야할 이유를 설명해야 한다.

구글은 모든 걸 내부에서 한다. 지도와 다른 클라우드 서비스를 모두 공짜로 가져다 쓸 수 있다. 이 과정을 따라하려는 회사가 있다면 이중 뭔가는 아웃소싱을 해와야할 것이다. 아마존이 노키아의 지도 데이터를 라이센싱해와야 하는 것이 대표적인 예다. 구글은 지도에서 — 실제로 돈이 되는 — 광고를 팔지만, 아마존은 사용자당 요금을 걷어들여 라이센스비를 충당해야 한다. 이 완전히 다른 수입 상황은 안드로이드를 개조하려는 회사가 매일매일 겪어야하는 문제다. 구글의 서비스는 없는 것보다도 덜 들고, 구글과 경쟁을 하려면 매달 다른 회사에 돈을 내야 한다.

만약 그 회사가 어떻게 안드로이드를 개조해서 구글의 생태계 밖에서 설득력있는 것을 만들어낸다 하더라도, 거의 모든 제조사가 그 새로운 OS를 돌리는 기기를 만들지 못하도록 계약적으로 막아놨다는 작은 문제도 있다. 이 안드로이드가 더 낫다 하더라도, 제조사가 구글의 생태계에서 나온다면 그 가치에 비해서 문제 — 혹은 위험 — 가 더 많을 것이다.

안드로이드가 오픈된 것은 맞지만, “보기만 하고 만지지 마세요” 수준의 오픈이다. 안드로이드에 공헌을 하고 소소한 취미생활을 하는 데 사용해도 좋지만, 거의 모든 곳에서, 구글의 축복 없이는 거대한 카드 덱이 쌓여있는 것과 같은 상황이다. 안드로이드를 가지고 구글이 원하지 않는 것을 하려는 순간, 세상이 여러분을 향해 무너져 내릴 것이다.

16 replies on “KudoTranslate: 안드로이드에 대한 구글의 강철의 통제: 어떤 방법으로든 오픈 소스를 통제하기.”

“AOSP 버전은 웹과 지역 검색을 할 수 있고… 그게 다다.”
에서 “지역”(= local)은 기기 내부(내장/외장 SD카드) 데이터를 말하는 것 같네요. 단어를 대체할 필요가…

훌륭한 Insight를 적절한 예시와 함께 너무도 쉽게 풀어주셨네요. 감사합니다.

번역 감사합니다. 잘 읽었습니다.
원글 쓴 사람은 요즘의 오픈소스들에 대한 이해는 좀 부족한것 같네요.
글에서 ‘열었다 도로 닫기’ 와 ‘통제’를 잘 구별이 안되는것 같습니다.
널리 알려진 오픈소스 프로젝트중 통제되지 않는게 얼마나 있을지…

좋은글 잘 읽었습니다.

부분부분 이해가 안되었던 부분도 있었지만
전체적인 메시지는 파악한거 같아요
좋은글 감사합니다.

빅데이터에 대해서도 영상을 보고 충격이었는데 이번도 약간
빅데이터만큼은 아니지만 충격이네요^^;

삼성폰을 쓰면서 왜 그렇게 삼성이 자사 앱들을 만드는지에
대해서도 알게 되었고 좋은 글이었습니다.

아주 좋은 글이네요 근데 솔직히 통합하면 편한건 사실인지라……

아 진짜 이거 장난아닌 글이네요.. 잘 읽었습니다.
역시 구글애들은.. 머리가..쓸데없이 (나쁜쪽으로도) 잘돌아가..

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다