안드로이드 5.0 롤리팝은 2014년 11월에 공개되었습니다. 그런데 세 달 뒤인 2월 기준으로 롤리팝을 실행 중인 안드로이드 기기는 전체의 2%에도 미치지 못했고, 3월이 되어서야 겨우 3% 안팎에 머물고 있었습니다.
경쟁 상대인 iOS와 비교하면 차이는 더욱 극명합니다. 애플은 9월에 iOS 8.0을 출시했고, 단 두 달 뒤인 11월에는 이미 60%가 넘는 아이폰이 최신 버전을 사용하고 있었습니다. 사실 이전 iOS 버전들의 채택 속도에 비하면 이조차 '느린' 편입니다.
대체 무슨 일이 벌어지고 있는 걸까요? 왜 안드로이드 기기는 경쟁사보다 최신 버전 업데이트가 그렇게 느릴까요? 그리고 왜 당신의 기기에는 아직 롤리팝이 오지 않은 걸까요?
문제의 핵심은 안드로이드의 설계 방식
느린 업데이트 배포, 그리고 더딘 업데이트 채택률 문제는 안드로이드 버전 역사를 들여다보면 결코 새로운 이야기가 아닙니다. 실제로 2011년에도 안드로이드의 파편화된 버전 채택 현황을 다룬 바 있는데, 그때 이후 거의 달라진 것이 없습니다.
문제의 근원은 안드로이드의 핵심 설계 철학에 있습니다. 휴대폰을 제조할 수 있는 누구나 환경을 수정하고 커스터마이징할 수 있는 개방형 구조인 것입니다. 이러한 개방성은 자유를 사랑하는 안드로이드 사용자들에게 가장 큰 매력 포인트지만, 동시에 몇 가지 큰 문제도 함께 안고 있습니다.
롤리팝은 11월에 정식 공개되었지만, 실제로 당시에는 넥서스 기기 일부에서만 사용할 수 있었습니다. 이유는 간단합니다. 제조사마다 업데이트를 도입하고 개발하는 속도가 제각각이기 때문입니다. 같은 맥락에서 각 제조사들이 롤리팝 지원 예정 시점을 별도로 발표한 것이기도 합니다.
반면 iOS는 애플이 긴밀하게 관리하고 통제하는 단일 생태계입니다. HTC, 삼성, 모토롤라 버전의 아이폰을 따로 신경 쓸 필요가 없습니다. 어떤 아이폰이든 다른 아이폰과 동일하기 때문에 업데이트 테스트가 쉽고 배포 속도도 빠를 수밖에 없습니다.
결국 안드로이드 업데이트가 늦어지는 모든 원인은 한 가지로 귀결됩니다. 지원해야 하는 기기의 수가 너무 많다는 것입니다.
모든 것은 구글에서 시작됩니다
비유를 하나 들어보겠습니다. 당신과 친구 두 명이 각자 같은 레고 키트를 구입해 서로 다른 작품을 만들었다고 상상해 보세요. 몇 달 후 레고가 새 키트를 출시하고, 세 사람 모두 이미 만든 작품을 업그레이드하기 위해 새 키트를 구매합니다.
새 부품을 기존 작품에 통합해야 하는 것은 모두 같지만, 그 과정은 사람마다 다릅니다. 작품 구조가 저마다 다르기 때문입니다. 당신은 쉽게 적응할 수 있지만, 친구들은 어려움을 겪으며 더 오랜 시간이 걸릴 수 있습니다.
그럼, 그 새 레고 키트(즉, 새 안드로이드 버전)가 만들어지는 과정부터 살펴보겠습니다.
구글은 차기 안드로이드 버전을 비공개로 개발합니다. 새 버전을 공식 발표하면 구글은 해당 버전의 소스 코드를 웹사이트에 공개하여 이동통신사와 제조사들이 이를 평가하고 어떤 기기에 새 업데이트를 지원할지 결정하도록 합니다.
역사적 패턴을 보면 구글은 대체로 6~12개월 주기로 새 안드로이드 버전을 발표해 왔으며, 주로 7월과 11월 사이에 출시하는 경향이 있지만 상황에 따라 일정을 조정하기도 합니다.
소스 코드가 공개되면, 이를 적절히 패키징해 고객에게 제공할 준비를 하는 것은 제조사의 몫입니다.
그리고 이동통신사에서 마무리됩니다
1년여 전, HTC는 새 안드로이드 버전을 기존 기기에 배포 가능한 형태로 만들기 위해 필요한 복잡한 과정을 담은 인포그래픽을 공개한 바 있습니다.
레고 비유로 돌아가 보면, 당신이 HTC이고 새 레고 부품을 기존 작품에 통합해야 하는 상황입니다. 이를 위해서는 이동통신사들과 협의하며 그들이 원하는 것이 무엇인지 파악해야 합니다.
예를 들어 AT&T는 A, B, C 부품을 자사 기기에 넣기를 원하는 반면, T-Mobile은 X, Y, Z를 원할 수 있습니다. 전 세계에는 100개가 넘는 이동통신사가 있고, 각자 요구하는 사양이 다릅니다. HTC 입장에서는 이들을 모두 수용해야 하므로 수백 가지 변형 빌드를 만들고 테스트해야 합니다.
버그를 잡고 나면(과정 전반에 걸쳐 수없이 많은 버그가 등장한다는 점은 두말하면 잔소리입니다), 해당 기기들은 이동통신사와 구글, 그리고 지역별 규제 기관의 승인을 받아야 합니다.
모든 절차가 끝나면 비로소 HTC는 OTA(무선 업데이트) 서버에 기기별 업데이트 파일을 준비할 수 있습니다. 서버 준비가 완료되면 HTC 사용자에게 업데이트 가능 알림이 전송되고, 다운로드 후 적용하면 됩니다.
다른 제조사들도 유사한 방식으로 운영됩니다.
보다시피 이는 요청, 테스트, 반복 수정이 오가는 소프트웨어 개발 특성상 상당한 시간이 소요되는 복잡한 과정입니다.
당신의 안드로이드는 어떤 버전인가요?
그렇다면 왜 당신의 안드로이드 기기는 아직 최신 버전이 아닐까요? 사용 중인 모델이 최신 버전을 지원하지 않는 경우도 있겠지만, 더 가능성 높은 설명은 조금만 더 기다리면 된다는 것입니다.
안드로이드의 느린 업데이트 과정이 불편하신가요? iOS로 갈아탈 정도인가요? 아니면 그냥 감수하고 계신가요? 아래 댓글로 의견을 나눠주세요!
이미지 출처: Shutterstock(waiting room, Pile of Android Phones, Basic Android Phone), HTC Update Process Infographic