Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

[Book] 안드로이드 뜻밖의 역사 - 세상을 뒤흔든 모바일 OS에 담긴 숨은 이야기

지금은 iOS와 안드로이드의 세상이 된 게 자연스럽지만, 안드로이드가 어떻게 만들어졌는지를 다룬 책이다. 지금은 애플의 제품을 거의 다 쓰고 있는 관계로 안드로이드에서는 관심이 멀어진 지 오래되었고 안드로이드 개발자도 아니지만, 안드로이드 이전부터 모바일 제품에 관심 있어서 아이폰과 안드로이드가 등장할 때도 관심 가지고 보고 있었기에 책이 나오자마자 편한 마음으로 읽어봤다.

아는 내용도 있지만 몰랐던 부분도 있어서 꽤 재미있게 읽었다. 아마도 안드로이드 개발을 한다면 들었던 이름도 꽤 나올 가능성이 있어서 더 재미있게 읽었을 것 같다. 안드로이드의 개발되어서 성공까지 간 과정이 자세하게 정리되어 있고 이런 의미 있는 일이 기록으로 남게 된 것만으로도 큰 가치가 있다고 생각한다. 안드로이드 하면 앤디 루빈을 떠올리기 쉽지만, 이 책은 한 명의 영웅이 아니라 안드로이드를 만드는 데 관여한 사람들의 업적을 모두 설명하고 있어서 원서의 제목이 왜 "Androids: The Team That Built the Android Operating System"인지 알 수 있었고 실제로 팀에 훨씬 집중하고 있다는 느낌이다. 그래서 더 좋았다.

1부 시작

2003년 후반 디지털 카메라용 운영 체제를 제공하는 포토팜을 창업하고 루빈이 CEO를, 화이트가 CTO를 맡았다.

화이트는 루빈에게 '포토팜'보다 더 나은 이름을 찾아야 한다고 말했다. 루빈이 android.com이라는 도메인을 가지고 있어서 그들은 회사 이름을 안드로이드로 바꾸고 캐릭터라는 디자인 회사를 고용해 로고와 명함을 비롯한 CI를 만들게 했다.

앤디 루빈이 카메라 운영체제를 만들기 위해서 스타트업을 만들었다는 것은 모르고 있었다. 역시 도메인 드리븐인가!!

루빈은 카메라 운영 체제를 만들지 못했다. 그러나 스마트폰에서 카메라가 얼마나 중요한지 감안한다면 그가 가장 널리 쓰이는 카메라 운영 체제를 만들었다고 주장해 볼 수도 있을 것이다. 단지 우회적인 방법으로 만들었을 뿐이다.

이 문장은 나한테는 꽤 울림이 있었다. 카메라 OS를 만들고 싶었지만, 주위 반응도 별로여서 하기 싫었던(?) 모바일 운영체제를 다시 만들게 되었는데 돌고 돌아 결국은 카메라 운영체제라고 해도 틀리진 않아 보인다. 세상에서 가장 많이 사진을 찍는 운영체제 중 하나니까...

2006년까지 안드로이드 팀에 합류한 사람들은 대부분 비-팜소스, 웹티비-마이크로소프트, 데인저 중 한 회사 또는 두세 군데 회사에서 일한 적이 있다.

비와 마이크로소프트 웹티비 팀에서 일했고 나중에 안드로이드 엔지니어링 팀을 관리한 스티브 호로위츠는 말했다. "그게 이 세계에서 중요한 부분이죠. 성공보다 실패에서 더 많은 걸 배울 수 있습니다."

BeOS를 만들던 Be, PalmOS를 만들었던 PalmSource, Microsoft가 인수한 WebTV, 그리고 앤디 루빈이 창업해서 초창기 스마트폰을 만들던 데인저까지 이 회사들의 이름은 책 전반에 걸쳐서 계속 나오고 안드로이드 초창기 개발자들은 대부분 이 회사들에서 같이 일한 적이 있는 사람들이다. 그리고 안드로이드를 만들기 위해 필요한 기술에 대한 경험이 있고 또 실패한 경험도 있었기에 그 경험을 바탕으로 안드로이드가 더 잘 만들어질 수 있었던 것 같다.

Palm Tungsten T3, Palm Pre, Nexus One

나는 1990년대 말부터 모바일 기기에 관심이 많았다. 폰도 그렇지만 당시엔 PDA라는 기기(책에도 나온다)를 무척 좋아하면서 포켓PC 등이 등장하면서 스마트폰으로 넘어갈 때까지 관심 있게 보고 있었다. 위 사진은 지금도 가지고 있는 당시 기기들인데 맨 왼쪽은 내가 제일 좋아했던 PalmSource의 palm Tungsten T3이다. 가운데는 안드로이드, 아이폰과 경쟁하기 위해 Palm이 막바지에 만들었던 Palm Pre인데 여기 들어간 WebOS가 당시 사용성에선 셋 중 가장 좋았다고 생각한다. 하지만 자금력이 없는 Palm Pre는 Palm을 재기시키지 못했고 HP에 인수되었다가 LG전자에 넘어가면서 지금은 LG 스마트TV에 들어가 있는걸로 알고 있다. 맨 우측은 책에도 나오는 안드로이드의 첫 레퍼런스폰 Nexus One이다. 그때는 iPhone보다 오픈 플랫폼을 지향하는 Android가 성공할 꺼라고 생각해서 미국에서 거금을 들여와서 한참 동안 사용했었다.(하지만 이후 아이폰으로 넘어갔다.)

삼성 미팅은 휴대전화 사업부 대표인 이기택과의 만남으로 시작됐는데 이기택은 과거 데인저와의 기회를 놓쳤는데 같은 일이 다시 일어나는 걸 바라지 않는다면서 안드로이드와 함께하는 데 관심이 있다고 말했다. 시어스는 당시 미팅 상황을 설명했다. "이기택이 그의 팀에 성사시키자고 말해서 우리는 계약이 이뤄졌다고 생각했어요. 그런데 열 명이 넘는 중간 관리자가 있는 그의 팀을 만났는데 그중 누군가가 물어보더군요. '누가 운영 체제를 만드나요?' 우리가 '스웨트랜드라는 개발자입니다'라고 말하자 그들이 웃더군요. 삼성에서는 300명이 삼성 자체 운영 체제를 만들고 있다면서요."

Android가 시장에서 성공했을 때 앤디 루빈이 삼성도 찾아왔다던 일화가 뉴스로 많이 돌아다녔고 삼성이 이 중요한 프로젝트를 놓쳐서 아쉽다는 얘기가 많았다. 그 이야기가 책에도 나오는데 루빈이 투자받기 위해서 한창 돌아다닐 때이다. 개인적으로는 삼성이 안드로이드를 놓친 게 별로 아쉽지 않다고 생각하는 편이고 삼성이 안드로이드에 투자하거나 인수했더라면 지금의 안드로이드의 위치에 못갔을 꺼라고 생각하는 편이다. 위 일화에서도 당시 삼성의 시선을 보여주고 있다고 생각한다.

"우리는 시연 프로그램을 보여 주었고 앤디는 발표 자료를 넘겼죠. 루빈이 수익 창출 부분을 이야기하자 래리가 발표를 끊고 이야기했던 게 기억나요. '그건 걱정 말아요. 나는 여러분이 최고의 휴대 전화를 만들기를 바랍니다. 나머지는 나중에 궁리해 보죠."

위는 안드로이드가 구글에 인수된 뒤에 회사에서 첫 발표를 할 때 얘기다. 지금은 안드로이드로 모바일 시장을 차지한 가치의 중요성이 당연하게 느껴지지만, 당시에는 어찌될 지 예상하기 어려운 상태에서 안드로이드라는 프로젝트 혹은 팀을 다루는 구글의 태도가 많은 것을 보여준다고 생각한다.

2부 플랫폼 구축

"휴대 전화 제조사가 다른 누군가의 플랫폼에 흥미를 느끼게 하기는 정말 어려웠어요. 그들은 자기 회사만을 위한 소프트웨어를 만들었고 휴대 전화가 PC와 똑같아지는 걸 무서워했어요. PC 세계는 플랫폼을 소유한 소프트웨어 판매사가 하드웨어를 일상 용품으로 만들어 버리는 곳이었으니까요."

아이폰 출시를 계기로 운영 체제가 필요해진 회사들은 자신들이 만들 수 있는 것보다 더 복잡한 뭔가를 찾고 있었고 그에 따라 좀 더 기꺼이 안드로이드와 함께 일하려고 했다.

당시 휴대폰 시장을 다시금 생각나게 했다. 우리나라는 좀 더 통신사가 힘을 가지고 있지만 휴대폰 제조사들은 어느 정도 경직되어 있었고 그런 요구사항을 받아들이느라고 힘들어했던 일화들도 책에 나오는데 아이폰은 아이폰 자체로도 대단했지만, 아이폰의 등장은 안드로이드에게도 중요한 기회가 되었다는 점이 재미있다.

'다이앤, 구글로 와요. 여기 정말 멋진 일들이 있어요.' 그들이 내게 넌지시 말했죠. '플랫폼이고 오픈 소스에요.' 돈 걱정할 필요가 없는 구글에서 오픈 소스 모바일 플랫폼 일을 한다니? 어떻게 싫다고 말하겠어요? 완벽했죠.

팀은 액티비티 접근 방식을 받아들이기로 결정했다. 해밀턴이 어떤 식으로 그렇게 됐는지 설명했다. "다이앤에게는 그녀가 원하는 비전이 있었고 그냥 앉아서 타이핑했죠. 그렇게 된 거에요. 그녀가 생산적이고 일을 마무리 했기 때문이죠." 이 결정 모델은 오노라토가 구현한 초기 뷰 시스템 같은 다른 부분에서도 마찬가지였다. 팀은 일을 어떻게 해야 하는지에 관해 회의를 하거나 위원회를 열거나 논쟁을 벌이는 데 시간을 많이 쓰지 않았다. 그래서 누군가가 해법을 단숨에 만들어 내면 일이 거기서부터 진행됐다.

나도 좋아하는 접근 방법이다. (현실에서는 말처럼 쉽진 않지만) 일을 하는 사람이 결정하게 되는 구조였고 안드로이드 팀에서는 잘 동작했다.

시장에 안드로이드 기기가 몇 가지밖에 없을 때도 팀은 장기적인 게임을 생각했고 잠재적으로 거대하고 다양한 사용자와 기기 생태계를 예상했다.

리눅스가 이미 어느 정도 발전해 있었지만 내게는 이게 더 나은 기회였는데 특정 제품에 초점을 맞추고 있어서였어요. 안드로이드는 운영 체제 명세 또는 구상이었을 뿐 아니라 제품 개발이기도 했어요. 분명한 도전이었고 성공하지 못할 수도 있었지만 우리는 시도했죠. 비전을 실현하는 가장 좋은 방법은 그 일을 돕는 것이었습니다.

지금은 당연한 안드로이드의 결과를 당시에도 꽤 꿈꾸고 있었고 그래서 더 성공할 수 있었던 거 같다.

로봇을 자유롭게 사용하게 한 건 획기적이었다. 이리나는 좀 더 전통적인 브랜딩 접근 방식에 대해 이야기했다. "독자성이 브랜드 가이드라인에 도입되고 정말 엄청난 제약이 따라붙죠. '로고 주위에 빈 공간이 있어야 해요. 색상은 이렇고요. ...' 로고는 신성시되죠. 그런데 이 로고가 전통적인 관념을 완전히 산산조각 냈어요." 로고의 이러한 측면은 안드로이드 팀 자체에서 나온 게 아니라 안드로이드 오픈 소스화에 대응해 이리나의 브랜딩 그룹에서 나온 것이다. "이 방식은 그 문제를 해결하려는 우리의 창의적인 아이디어였어요. 디자이너로서 업무는 제품이 무엇을 상징하는지 소통하는 것이에요. 그건 당시로서는 획기적이고 창의적인 아이디어였어요. 오픈 소스는 우리에게 제약이 아니라 해법이었고 이 로고 작업 중에서 가장 잘한 일이라고 생각해요."

여기서 로봇은 안드로이드 로고를 말한다. 로고를 자유롭게 변형할 수 있게 했다는데(사실 몰랐지만...) 이 부분도 안드로이드가 다른 팀과 다르게 일했던 것을 느낄 수 있었다.

티모바일의 동의를 얻기 위해 안드로이드 팀은 두 가지 일을 해야 했다. 첫째는 티모바일 네트워크가 안전할 것이라고 안심시키는 일이었고, 둘째는 안드로이드 마켓과 함께 티모바일에서 관리하는 앱 스토어를 운영할 수 있게 하는 일이었다.

울타리 친 정원은 무너졌다. 그리고 안드로이드와 티모바일은 구글 플랫폼에서 애플리케이션 스토어를 운영하기로 합의했다. 이제 스토어를 제대로 만들어야 했다.

"우리는 팜소스에서 다른 사람들이 우리 플랫폼을 사용하게 하려고 애썼는데, 어려웠던 점 한 가지는 마이크로소프트가 PC 세계에서 했던 것과 똑같은 일을 누군가가 모바일 세상에서 하지 않을지 사람들이 몹시 두려워 한 것이었어요."

아이폰이 흔든 시장에 나온 안드로이드는 빠르게(?) 스마트폰 플랫폼으로 자리 잡기 시작한다. 아마 그 이전에는 통신사와 하기 어려웠던 협상도 가능해졌다.

다른 회사들은 사람들이 한 일을 보고 채용하고 그 일을 더 하라고 한다. 구글은 어떤 사람인지 보고 채용하고 그들에게 필요한 일은 뭐든 하라고 한다. 그 사람들이 과거에 한 일은 그들이 무엇을 할 수 있는지 보여 주는 훌륭한 예이지만, 구글이 보기에는 그들이 할 수 있는 일로 그들을 제한할 필요는 없었다. 그렇게 해서 뛰어난 글꼴 렌더링 전문가가 구글에서 에뮬레이터를 개발하게 됐다.

이건 좋은 거 같기도 하고 아닌 거 같기도 하고... ㅎㅎ

안드로이드의 '결과적인 오픈 소스'[^1] 모델 그 자체에 있다. 외부 개발자는 버그를 발견해서 고쳤을 때 그 버그가 그사이에 내부 또는 향후 버전 코드에서 고쳐졌는지, 심지어 자신의 시간 전부를 들여 작업한 코드가 존재 하기는 하는지 알 방법이 없다. 코드는 향수 요구 사항이나 변경 사항에 따라 옮겨지거나 재작성되는 경향이 있다.
[^1]: 결과적인 오픈 소스는 당시 안드로이드 오픈 소스 모델에 내가 붙인 용어다. 안드로이드는 오픈 소스가 됐지만 오픈 소스로 개발되지는 않았다. 그보다는 팀이 몇 달간 내부적으로 개발하고 나서 코드를 공개했다.

"나는 오픈 소스 소프트웨어에 대한 확고한 믿음이 있습니다. 오픈 소스는 전혀 상상하지 못했던 걸 만들 힘과 스스로 뭔가를 만들어 볼 수 있는 자원을 사람들에게 주기 때문이죠. 안드로이드가 나왔을 당시 상황을 보면 OEM은 iOS 라이선스를 받을 수 없었습니다. 그리고 마이크로소프트는 획일적인 경험을 제공했어요. 그와 대조적으로 안드로이드는 OEM이 매장 진열대에서 스스로를 특화할 수 있도록 빠르고 손쉽게 기능을 만들 수 있는 기회를 주었어요."

"무언가를 오픈 소스로 만드는 게 중요하다고 생각하지 않아요. 오픈 소스로 만들지 않고도 공짜로 줄 수 있죠. 나는 오픈 소스 옹호자에요. 나는 우리가 하고 있는 것보다 더 오픈 소스를 해야 한다고 생각해요. 그런데 안드로이드의 강력함이 오픈소스라는 점에 있다고 단정할 수는 없을 것 같아요. 안드로이드를 오픈 소스로 만들지 않고 공짜로 제공했더라고 성공했을 거예요."

오픈 소스로서의 안드로이드도 많이 나오지만 안드로이드는 "결과적인 오픈 소스"라고 하고 있다. 지금은 정확히 모르지만 한때 외부 기여를 안받기 때문에 구글의 안드로이드식 오픈소스를 비판하는 얘기도 많이 있었다. 그럼에도 오픈소스로 공개된 안드로이드는 충분히 효과를 본 것 같다.

"그게 OR드로이드가 아니라 AND로이드라고 부른 이유에요. 두 가지 대안 중에서 결정해야 한다면 우리는 늘 둘 다 골랐거든요."
- 팀에서 누군가가 한 말

초기에(그리고 이후 수년가) 팀에서 계속된 논쟁 한 가지는 그들이 만들고 있는 게 제품인가 아니면 플랫폼인가 하는 것이었다. 다시 말하면 휴대 전화(제품)를 만들고 있는가 아니면 다양한 제조사가 만드는 여러 가지 휴대 전화에서 현재와 미래에 사용할 운영 체제(플랫폼)를 개발하고 있는가 하는 토론이었다.

팀에서 벌어진 제품 대 플랫폼 논쟁은 사람들이 출신 회사에 따라 의견이 갈렸다. 바로 데인저 출신 대 비-팜소스, 웹티비-마이크로소프트 출신으로 나뉘었다. 데인저 출신 사람들은 단순한 해법을 선호했고 제품에 좀 더 중점을 두었다. 비-팜소스와 웹티비-마이크로소프트 출신 사람들은 좀 더 플랫폼적인 사고방식을 지녔고 안드로이드에서도 그러한 접근 방식을 선호했다.

브라이언 스웨트랜드는 양쪽을 다 알았는데 비와 데인저에서 일했기 때문이다. "둘 다 필요합니다. 내가 비에서 얻은 교훈이에요. 비는 당시 틀에 박혀 있었어요. 그래서 플랫폼이 되는 데 집중했죠. 제대로 된 앱이 없고 순수한 플랫폼만 만든다면 악순환을 끊지 못해요. 사람들이 필요로 하는 걸 만들지 않은 거고요."

안드로이드처럼 대단한 프로젝트가 아니라고 하더라도 (내 취향일 수도 있지만) 비슷한 결정을 하게 되는 경우는 많은 것 같다. 잘못하면 둘 다 고른다는 것은 아무것도 안 고른 것과 다름없기도 해서 현실에선 쉽지 않긴 하다. 안드로이드 내에서도 출신에 따라서 선호가 달라진다는 것도 재미있었는데 성공 혹은 실패했던 경험에 따라 달라지는 걸로 보인다.

4부 출시

당시 안드로이드 팀의 어떤 엔지니어가 한 말이 다양한 곳에서 인용됐다. "소비자로서 나는 반해 버렸어요. 당장 하나 갖고 싶네요. 그러나 구글 엔지니어로서 '우리는 처음부터 다시 시작해야만 해'라고 생각했어요."
이 발언은 아이폰 때문에 안드로이드의 모든 게 바뀌고 개발 계획이 재작성됐음을 암시한다.

아이폰 발표는 모든 휴대 기기 제조사에 영향을 끼쳤는데 전체 모바일 산업에 파문을 일으켰으며 두려움을 야기함으로써 결국 다소 역설적으로 안드로이드가 시장에서 자리 잡는 주요한 이유가 됐다.

아이폰은 발표 자체도 충격적이었지만(사실 난 그때 그렇게까지 아이폰의 위력을 알아채진 못했다.) 앞에서도 얘기했듯이 확실히 안드로이드에도 긍정적인 영향을 주었다. 마치 아이폰이 나오고 안드로이드가 만들어진 것처럼 보이지만 실제로는 비슷한 시기에 비슷한 목표를 가지고 두 프로젝트가 움직인 것이고 잘 모르는 성공하지 못한 프로젝트도 많이 있을거라고 생각한다. 당시 추억이 자꾸 생각나서 책을 보는 내내 재미가 있었는데 아이폰 이전의 PDA나 포켓PC 등은 대부분 스타일러스라고 부르는 얇은 팬을 통해서 화면을 터치했다. 나도 거기에 익숙했고 당시 대부분 기기의 화면 터치 성능은 좋지 않았기에(보통 손톱으로 터치했다 ㅋㅋ) 스티브 잡스가 아이폰을 시연하면서 QWERTY 키보드를 손가락으로 터치하는 걸 보고 놀랐다기보다는 말도 안 된다고 저렇게 동작할 리가 없다고 생각했었다.(안목이 없었지...)

5부 안드로이드가 해낸 이유

우리는 적당한 때에 적당한 위치에 있었어요.

수많은 안드로이드 팀이 비슷하게 얘기한다. 우리 팀이 엄청나게 잘했다고 얘기하는 게 아니라(실제로 잘했지만) 수많은 사람이 비슷하게 위처럼 얘기한다는 게 더 좋았다. 현실에선 한 명의 영웅적인 활동으로 되는 일도 많지 않고 미래를 다 예측하고 준비되어 있었다고 말하기 어려운 거니까...

2022/09/14 01:58 2022/09/14 01:58