목차
1 개요
구글의 스마트폰/태블릿 컴퓨터용 운영체제(OS) 안드로이드에서 크게 이슈가 되는 문제에 대해 정리한 페이지.
안드로이드에는 크게 아래와 같은 문제점이 있는데, 해결된 문제도 있고 해결되지 않은 문제도 있다. 기술적인 문제는 버전업을 통해서 해결되고 있으나, 몇몇 문제는 OS 자체의 고질적인 문제이고 후발주자인만큼 특허 문제가 취약하며 이런 문제들은 단기간에 해결될 것으로 보이지 않는다.
2 특허 문제
안드로이드는 무료 OS다. 그러므로 어느 제조사든 갖다 쓸 수 있다. 하지만 후발주자인만큼 구축해 놓은 특허 기반이 취약해서 특허에 발목이 잡히고 있다. 오라클은 안드로이드가 자바 프로그래밍 언어 관련 특허를 위반했다고 주장하고 있고[1], 마이크로소프트는 안드로이드가 자사 특허를 침해하였다고 주장하며, 안드로이드폰 제조사에 특허료 명목의 로열티[2]를 받고 있다.
2016년 8월 현재, 안드로이드폰 제조사들 중 가장 큰 손인 삼성전자가 로열티를 지불하고 있으며, 당초 마이크로소프트의 계획은 점차 다른 안드로이드 제조사로 확대될 예정이었다. 하지만 그 안드로이드 제조사들 중 삼성전자를 제외한 안드로이드폰 주 제조사가 중국 회사(...)이기때문에 화웨이같은 곳이 해외로 공식 진출을 하지 않는 한, 대륙의 버프를 받아 당분간 로열티 수입은 삼성이 주 수입원이다. 아이러니컬하게도, 안드로이드를 통해 명시적인 이익을 얻는 것은 구글이 아니라 오히려 마이크로소프트였다. 2011년 기준으로 마이크로소프트는 안드로이드를 통해 얻은 특허료 수입이 자체 모바일 OS 수입을 초과했었다. 하지만 2016년 현재는 구글도 구글 앱스(플레이 스토어, 유튜브)등의 서비스를 공식적으로 라이센스 비용을 받아서 사용 허가를 해주고 있다. 삼성의 경우 대당 700원~800원의 라이센스 비용을 구글에 지출하고 있다. 구글 이 자식들 야금야금 떼먹네? 그래도 삼성 돈많으니깐
마이크로소프트가 구글이 아닌 안드로이드 제조사에게 로열티를 청구한 이유는, 표면적으로는 구글이 안드로이드 OS를 무료로 배포하고 있기 때문에 구글이 이를 통해 직접적인 이익을 얻고 있지 않기 때문이다. [3] 그러므로 안드로이드 기기 판매로 직접적인 수익을 얻고 있는 제조사들을 상대로 청구하게 되는 것이다.
2011년 당시에는 광고 회사인 구글은 안드로이드를 무료로 뿌리고 광고(구글 검색, 앱 광고)로 수익을 얻는데 안드로이드를 좀더 널리 퍼뜨리려 수익을 더 늘리려면 제조사에 안드로이드의 이점을 어필할 필요가 있다. 그 중 하나가 사용료가 없다는 것인데, 로열티 명목으로 한 푼 두 푼 떼기 시작하면 보급형 단말기의 이윤이 그만큼 줄어든다. 현재는 그렇게 크게 문제가 되지 않지만 구글이 충분한 특허 방어를 하지 못하고 대안 OS(ex:Windows Phone, Web OS, Tizen)가 점점 자란다면 제조사들은 특허권 때문에 상대적으로 비싼 안드로이드 대신 대안을 선택할 가능성이 높아진단 말.[4] 하지만 2016년 현재 는 상황이 다르다. 구글이 오히려 더 떼먹는다! 구글은 삼성이 한대씩 팔때마다 컵떡볶이 한개씩 공짜로 얻네?.
구글측도 이에 대한 대응을 꾸준히 하고 있는데 예를 들어 마이크로소프트 특허의 핵심중의 하나인 FAT 파일 시스템의 경우 기존의 ROM을 용도별로 파티션을 나누고 내장 스토리지와 외장 스토리지(SD카드)를 각기 따로 파티션으로 마운트 하는 방식에서 3.0 Honeycomb 부터 하나의 파티션의 구조를 취하며 내장 스토리지 및 외장 스토리지(SD카드)의 경우 가상의 경로로 마운트 하는 방식으로 바꿈에 따라 FAT32 파일 시스템을 마운트해서 쓰지 않는 구조로 바꾸면서 어느정도 대응을 했다. 4.4 킷캣의 경우 SD카드를 읽기 전용 으로 설정해버리는 병크를 저지르면서 쌍욕을 한바가지로 먹었다. ㅅㅂSD카드가 비디오 테잎이야? [5]
마이크로소프트 특허의 다른 축인 EAS(Exchange Active Sync)의 경우도 구글 측에서 대안을 찾고 있는 상황. 다만 EAS의 경우는 기업솔루션과 이통사 요구조건에 밀접하게 연계될 수 밖에 없기 때문에 가시적인 성과가 나올지는 미지수. 실제로 G메일 등에서 구글이 스스로 EAS 지원를 포기하는 방식으로 행동을 취했고 유저들은 호환성에 관련된 문제를 제기했지만... 그냥 그런 일이 있었는지 조차도 모르고 넘어간 분위기.
2013년 12월 10일자로 유럽에서 FAT에 대한 특허가 1심에서 무효판결을 받았다는 기사가 떴다관련 기사. 해당 판결이 최종심에서 확정되면 로열티 액수 산정에서 상당한 단가 조정이 불가피할 전망.
2015년 7월 2일자로 오라클이 구글 상대로 한 저작권 소송이 승소 되었다는 기사가 떴다. 관련 기사 기존에 안드로이드 스마트폰을 만드는 업체에 또다른 타격이 불가피할 전망.
3 태생적 문제
안드로이드라는 OS가 가상머신 위에서 춤추는 OS이다 보니 네이티브인 iOS, Windows Phone, 타이젠에 비해 동스펙 대비 퍼포먼스가 떨어진다. 스펙을 높이지 말라고 한적은 없다 이것이 삼성이 2.3GHZ 쿼드코어 CPU와 램 4GB를 핸드폰에 구겨넣은(...) 뻘짓을 한 이유다. 물론 LG 의문의 1패
다만 이는 안드로이드 롤리팝 이후로 ART를 적용하기 시작하면서 상당 부분 개선되었다. 안드로이드 런타임 항목 참조.
4 버전 업그레이드 문제
다른 운영체제도 그렇지만 안드로이드도 지속적으로 버전업이 진행되면서 기존 버전의 문제를 지속적으로 해결하고 있고, 그 결과 버전이 올라갈수록 속도와 성능 면에서도 비약적인 향상을 보이고 있다. 또한 새 버전의 OS가 등장하면 신기술을 이용한 애플리케이션이 등장하고, 해당 애플리케이션은 구버전의 OS를 가진 안드로이드 폰에서는 사용할 수 없을 가능성이 높다. 따라서 안드로이드폰의 성능을 결정하는 핵심적인 요소는 바로 신규 버전의 OS를 사용하는 것이라고 말해도 과언은 아니다.
대부분의 안드로이드 스마트폰에 안드로이드를 올리려면 커널(common kernel이라 부른다.)을 수정하고 드라이버를 올리고 애플리케이션을 추가하는 작업이 우선적으로 필요하다. 또한 삼성과 엔비디아 같은 AP업체의 경우 자사 AP를 구글에서 기본 지원하지 않으면 안드로이드 디폴트 커널을 쓰지 않고 삼성 커널이나 테그라 커널에서 작업해야 하는데, 이들 커널은 common kernel에 비해 작업의 속도가 뒤쳐진다. 다만 안드로이드의 common kernel 역시 리눅스 기본커널에 따라가는 것이기 때문에 AP업체들도 리눅스 기본커널에 자사 AP에 대한 수정사항을 먼저 적용한 후 안드로이드용 커널이 나오면 안드로이드 커널에서 변경된 부분만 패치하는 식으로 작업하므로 지연 자체는 크지 않은 편. 그리고 종종 common kernel 버전에 삼성, 테그라 등의 AP에 종속적인 부분을 이식해야 하는 경우도 있는데 삼성이나 엔비디아 혹은 협력업체(이미지네이션 등)가 오브젝트 형식의 바이너리만을 제공하는 경우[6] 제조사에서 할 수 있는 커널 버전업에는 한계가 있다. 또 드라이버들이 소스가 공개되어 있더라도 새 커널 버전에 맞게 패치하는 작업이 필요하다. 그 과정에 휴대폰 벤더가 설계한 하드웨어에 버그가 있다면 그 이슈를 해결하기 위한 소프트웨어 패칭도 필요하다. [7] 대부분의 스마트폰 업체들은 이 과정을 100% 자체적으로 해결할 능력이 없고 Workaround도 힘들어 AP업체의 커스텀 코드 수정이 필요한 있는 경우 AP업체들의 문제수정을 의뢰하게 되는데 이는 추가적인 시간이 필요하다는 것을 의미한다.
때문에 단말 제조사의 OS 업그레이드 일정은 AP업체의 포팅 계획에 크게 의존할 수 밖에 없으며 AP업체의 추후 일정이 불확실할 경우 단말 제조사도 그 영향을 고스란히 받을 수 밖에 없다. 설령 AP업체에서 업그레이드된 커널과 프레임워크 소스를 공개했다고 해도 구형 AP의 경우에는 신형 AP만큼 개발지원을 원활하게 받을 수 있다는 보장도 없다는 점 역시 큰 문제.
이것이 안드로이드 폰이 우후죽순으로 등장하고 있고 제조사마다 적어도 한 번에 두세 개 이상의 폰을 내놓고 있는 상황에서, 기존에 나온 안드로이드 폰을 새 버전으로 업그레이드하는 결정을 쉽사리 내릴 수가 없는 이유다. 진저브레드 이후 분열화를 줄인다는 말이 있었고, 자리가 잡히면 1년에 한번 업데이트를 할 계획이라고 밝혔다. 일단 4.0 ICS 이후로의 OS 출시 간격은 2011년 10월(아이스크림샌드위치) 2013년 9월(킷캣)으로 대체로 약속을 지키고 있는 중.
한편 소비자의 입장에서는 OS의 새 버전이 나오는 순간 기존에 가진 스마트폰은 사실상 구형으로 전락하게 되고, 일부 [8] 신규 애플리케이션을 사용하지 못하게 되기 때문에 끊임없이 "현기증 난단 말이에요 빨리 업그레이드 해 주세요"를 제조사에게 요청하게 된다. 그러나 만약 요청이 수용되지 않으면 사용자는 분노하고 해당 폰은 버스폰이 될 운명만을 기다리게 된다. 특히 기변을 자주 하는 사용자들이나 재고처리 문제를 안고 있는 이통사 입장에서도 OS업그레이드는 민감할 수 밖에 없는 사안.
구형 안드로이드폰의 버전업을 어느 정도까지 수용해야 할지는 의견이 분분하지만, 사용자들 사이에서는 "적어도 출시 후 약정기간인 2년 내에 나오는 버전까지는 업그레이드해줘야 하지 않느냐"라는 의견이 대세이고 구글은 24개월 정도의 업그레이드 보장 기간을 제시하고 있고, 실제로 레퍼런스 기기인 넥서스 시리즈에서도 2년 동안은 머리아플정도로 수많은 업데이트를 제공한다. 특히 넥서스 시리즈의 베스트셀러 넥서스7 2013은 출시된지 3년 가까운 시간이 흘렀음에도 안드로이드 최신버전 6.0 머쉬멜로우가 올라가 있을 정도. 아무튼 안드로이드폰 사업에서는 차기 OS 버전의 업그레이드를 확정 또는 약속하는 것이 해당 스마트폰의 인기와 판매도를 결정하는 중요한 척도가 되었다. 안드로이드의 레퍼런스(기준) 단말기 시리즈인 구글 넥서스가 다른 기업의 스마트 단말기들에 비해 성능이 다소 심심한 편[9]임에도 일부 스마트폰 사용자들을 열광시키는 것은 그 어떤 스마트폰보다 가장 빠르고 확실하며 안정적인 OS 성능과 업그레이드를 보장받을 수 있기 때문. 다만 주의할 것은 넥서스 기기는 레퍼런스라는 특성으로 인해 OS업그레이드 시점이 마켓의 앱 업데이트 시점보다도 더 빠를 수 있다는 것이다. 이유는 사실 뻔한데 앱 개발사조차도 새 OS가 적용된 넥서스 기기를 통해서 앱 호환성을 확인해야 하기 때문.
또 다른 문제는 '구글의 OS 업그레이드 속도는 지나치게 빠른데 벤더의 업그레이드가 느리다는 점'이다. 현재로서 사용자가 직접 OS를 업그레이드하는 것은 현실적으로 어렵고 스마트폰 벤더가 업데이트 해주길 기대해야 한다. 하지만 XDA가 나선다면 어떨까? 그만해 미친놈아구글의 계속되는 OS 업그레이드와 이를 따라가지 못하는 제조사, 애플리케이션 개발자, 소비자가 존재하는 한 이러한 문제는 앞으로도 계속될 것이다. 심지어 이런 식으로 업그레이드가 계속되면 여러 버전의 안드로이드폰이 시장에 난립하면서 발생하는 이른바 파편화 문제로 결국 안드로이드 자체가 망할 것이라는 의견도 있는데, 이에 대한 찬반 논쟁은 아직 현재진행형이다. 한국의 경우는 애초에 안드로이드 사용률이 높기 때문에 논란이 별로 없는 편. 다만, 구글이 이 문제를 매우 잘 알고 레퍼런스 제품을 내놓고 있다.
미국에서는 삼성의 비홀드 2가 출시 당시 1.5 컵케익에서 2.0 이클레어로 업그레이드할 거라고 광고 및 약속한 후에, 팔린 이후 반응이 없자 업그레이드가 안 된다고 해서(!) 소송이 걸리기도 했다. 안드로이드 업그레이드 부분은 굉장히 민감한 부분이고 이를 공언하고 지키지 못한 경우엔 굉장히 큰 문제가 된다는 것을 보여준 사례.
마찬가지로 LG전자의 안드로-1의 문제. 옵티머스Q도 마찬가지로 업그레이드를 안 해 주려다 항의 여론에 밀려 업그레이드가 결정되었다. 옵티머스원도 해외에서 한 유저가 진저브레드 업그레이드를 해 주겠냐는 질문에 LG측은 진저브레드의 최소사양이 1Ghz이기 때문에 CPU가 600Mhz인 옵티머스원에서는 업그레이드가 불가하다고 하였지만, 구글 측에서는 진저브레드의 최소사양은 없다고 밝혀서 다행스럽게도 옵티머스원도 진저브레드 업그레이드가 결정되었다.
다만 2.2 프로요의 경우에는 6~7월경 몇몇 폰들에 대해서 프로요 업그레이드를 확답하지 않는 부분에 대해서 네티즌들이 제조사에 많은 질타를 쏟아냈는데, 사실 이때 구글에서는 2.2 CTS(Compatiblity Test Suite, 안드로이드 디바이스의 호환성을 테스트하는 도구)를 공개하지 않았다. 이 때문에 제조사들이 확답을 내지 못했고, CTS가 발표된 현재는 확답을 낸 제조사들이 많은 상황.#
이 문제를 구글에서도 인지하고 있는지 구글 본사에서 버전 2.3 진저브레드 이후로는 안드로이드의 새로운 버전은 1년에 한 번만 내놓는다고 공식 입장을 밝혔으며#, 안드로이드 2.3 진저브레드부터는 OS가 업데이트 될 경우 제조사가 따로 탑재한 UI를 제외한 핵심 기능을 안드로이드 웹사이트나 앱스토어를 통해 업데이트가 가능하다고 한다. 제조사 또한 자사가 따로 개발하여 탑재한 기능만 업데이트해 주면 되니 부담을 덜게 되는 셈.#
진저브레드에서 아이스크림 샌드위치로의 업그레이드 작업은 상당히 난이도가 높았으나[10] 이후 아이스크램 샌드위치에서 젤리빈 단계로의 업그레이드는 비교적 원활한 상황. 이는 부분적으로는 진저브레드와 아이스크림샌드위치의 차이점이 상당히 커서 업그레이즈 작업의 난이도가 가장 높았다는 점이 작용한 결과이기도 하고 진저브레드에서 아이스크림 샌드위치로의 업그레이드 시점에서는 각 제조사의 업그레이드 개발 프로세스가 명확하게 확립되지 않았던 탓도 있다.
그리고 2011년 5월, 구글과 일부 제조사들이 협력하여 출시 후 18개월간 기기가 지원하는 한 즉각적인 업데이트를 할 수 있도록 발표. 파편화 문제와 업그레이드 지원 문제를 표준화해 해결하겠다는 의지를 천명하였다.# 하지만 통신사, 제조사들의 상황이 복잡하게 얽혀있는 문제인 만큼 쉽게 해결되진 않는 듯.#
그나마 다행인 점이라면 안드로이드 펌웨어에 관심을 가지는 기술개발자들이 개인적으로 시간과 노력을 들여서 자체적으로 새로운 안드로이드 버전을 수용한 이른바 '커스텀 펌웨어'를 꾸준히 올리고 있다는 점이다. 대표적인 사이트에는 XDA 포럼이 있다. 일단 개발자 본인들이 자발적으로 행하는 것이니 비용이 들어가지 않고, 삼성 같은 대기업에 비해선 느리지만 중소규모 이상의 기업들보단 생각보다 빠르다(……). 하지만 이마저도 결국 기기 제조사가 커널을 공개하지 않는다거나 하면 개인 개발자도 어찌할 수 없게 되며, 이것도 결국 인지도가 어느 정도 있는 기기들이나 이런 식으로 업데이트가 가능하지 인지도가 아예 없거나, 혹은 지역별로 다르게 출시된 기기가 있다면 그림의 떡이 된다. 더군다나 해가 갈수록 출시되고 있는 기기 종류가 쑥쑥 늘어가는 판국인데 이렇게 되면 개발자들이 지원해줄 수 있는 기기는 갈수록 더 줄어든다. 자체적으로 커스텀 펌웨어를 만들어줄 수 있는 능력과 열의를 모두 갖춘 개발자는 기계처럼 찍어낼 수 없는 노릇이니... 게다가 루팅에 대한 지식과 개념이 없이 그냥 순수 사용자들한테 권하기에는 무리가 많다.
이러한 문제는 애플도 키노트에서 iOS와 안드로이드를 비교하면서 지적한 바 있다. 실제로 대부분의 애플 제품 유저들이 구형/신형 단말기를 막론하고 최신 버전의 OS를 사용하고 있는 반면[11][12] 안드로이드 유저들은 구형은 물론이거니와 나온지 몇달 안되는 신형 단말기에서도 구버전 OS를 사용하는 경우가 많다. 다시 말해서 안드로이드를 가진 사람은 많지만, 오랫동안 안정적으로 최신 버전의 혜택을 누릴 수 있는 사람이 적다는게 안드로이드의 현실이다. 그렇다고 신기능을 그때그때 맛보기위해 기계를 그때그때 새로 살 수도 없는 노릇이니 더더욱 미궁속으로...
구글이 개발자를 대상으로 제공하는 플랫폼 점유율 자료를 보면 안드로이드의 실태[13]를 알 수 있는데 2012년 10월초 기준으로 가장 점유율이 높은 버전은 놀랍게도 3세대 이전인 진저브레드이다. 전체 안드로이드 유저들의 55% 이상이 아직도 2년전인 2010년 12월에 업데이트된 진저브레드를 사용하고 있는 것이다.[14] 심지어는 진저브레드보다 훨씬 전에 나온 구버전인 프로요나 이클레어도 점유율이 꽤 있는 편이다. 젤리빈을 제외하고 가장 최신 버전인 아이스크림 샌드위치의 점유율은 전체 이용자수의 1/4이 채 못된다.
젤리빈 도입 이후 1년 반이 지난 2014년 2월 기준으로 4.1~4.3 젤리빈이 60%를 넘겨 그나마 개선이 되었는데, 아이스크림 샌드위치가 16%, 진저브레드가 아직도 20%에 이르고 있다. 다만 진저브레드가 여전히 시장에서 큰 부분을 차지하는 이유는 업데이트가 안되어서라기보다는 초저가형 제품들 중에서 아직 진저브레드를 사용해서 신제품으로 출시하는 경우가 많다는 것도 간과할 수 없는 부분[15]. 4.4 킷캣은 2014년 2월 기준으로 1.8%를 차지하고 있다.
2014년 12월에 집계된 통계에서도 여전히 젤리빈이 가장 많다. 심지어 당시에 배포된 지 약 한달 정도 된 롤리팝 같은 경우 사용자가 너무 적어[16] 집계조차 되지 않는 반면(접유율이 0.1%보다 작다는 소리다!), 진저브레드와 프로요는 아직도 사용이 많이 되고 있었다. 둘이 합쳐서 약 10%의 점유율을 보이고 있다. 엘지의 경우 맨처음에는 유저들에게 칭찬받다가 끝에는 누더기가 되도록 까였다고 카더라
2016년 9월 기준으로 4.4 킷캣이 27.7%로 점유율이 가장 높고 그 뒤를 5.1 롤리팝(21.9%), 6.0 마시멜로(18.7%) 등이 잇고 있다.
하단의 보안문제와 파편화 항목과도 연관되는 부분이지만, 이 문제는 의외로 심각하다. 운영체제 업데이트에는 보안 관련 업데이트도 포함되기 때문이다.
5 마켓의 질과 불법복제 문제
플레이 스토어의 경우에는 휴대폰 전용 애플리케이션의 양은 애플 앱스토어를 넘어 섰고, 질도 많이 향상되었지만, 태블릿 같은 경우에는 아직 양적으로나 질적으로나 앱스토어보다 모자란게 현실이다. 앱이 오죽 없어서 휴대폰용 앱을 사용하면 그냥 확대된채로 실행되는 경우가 부지기수이다 고퀄리티 애플리케이션 개발에 있어서도 버전 문제와 사양 문제로 쉽지는 않은 편이다. 거기다가 누구나, 무엇이든 등록이 가능하다는 점 때문에 수준 이하의 애플리케이션들이 많이 올라오는 편이다.
가장 큰 문제는 안드로이드 마켓 자체의 규모. 2011년 4분기를 기해 규모 자체는 애플 앱스토어와 비슷한 수준으로 성장했음에도 불구하고, 실질적으로 개발자들이 얻는 수익은 앱스토어에서 얻는 수익의 1/5 가량이라는 통계가 공개됐다. 밑에 언급되는 파편화로 인한 개발 비용도 비용이지만, 아무래도 소비자층의 차이가 가장 심각하다. 스마트폰을 소유하고 있어 안드로이드 OS 시장 점유율에 도움을 준다 하더라도 마켓을 사용하지 않든가, (대표적인 경우가 중국 업체의 커스텀롬이다) 마켓을 사용하더라도 유료 앱을 꺼리든가, 유료 앱을 구매할 의사가 있지만 그 예산이 애플 앱스토어 소비자층에 비해 적은 경우가 많다는 것.
iOS는 그 특성상 사용자의 임의적인 개조나 불법 소프트웨어를 임의로 설치하려면 탈옥을 해야 하며 탈옥을 하지 않을 경우 비교적 앱스토어의 관리가 엄격한 덕분에 안전하게 사용할 수 있는 편이다. 그리고 아이튠즈의 기능 중 하나가 불법 개조된 앱을 동기화 과정에서 걸러내는 것이라는 점도 빼놓을 수 없다. 그리고 애플도 탈옥에 대응을 하지 않는 건 아니다 보니 불법복제가 손쉬운 편은 아니다. 반면 안드로이드의 경우에는 루팅이 빈번한 편이고 개방형 OS인 안드로이드의 특성상[17] 불법복제가 iOS 계열보다는 비교적 쉬운 편. 이는 앱 판매의 어려움을 가져오게 되어 시장 수익성의 불확실성을 가져오는 요인 중 하나이다. 무료 애플리케이션 + 애드웨어 형식으로 내서 광고 수익을 얻고자 하는 애플리케이션도 (앵그리버드가 대표적) 광고를 광고 블럭 애플리케이션 등으로 막아버릴 수도 있다. 결국 구글은 마켓의 통제를 강화하는 방향으로 가고 있는 모양이다. 관련기사 위의 문제가 해결되려면 더 많은 시간이 필요하다.
비단 불법복제만의 문제가 아니라 아무나 게임내 시스템을 무단수정해서 유포하는 것도 문제. 예를 들어, 템플런의 경우 업그레이드를 모두 무료로 할 수 있는 3자 프로그램이 나돌아 다녀서 게임내 아이템 구매 시스템이 무용지물이 되어버렸다. 이러한 문제는 파편화와 버전업그레이드 문제와 겹쳐서 공정성과 폐쇄성이 특히 강조되는 멀티플레이 게임이 활성화되지 못하게 하는 방해물이 된다. iOS 유저들은 할만한 무료 멀티플레이 게임이 나오면 다같이 다운받아 바로 같이 즐길 수 있는 것과 대조되는 부분. 프리덤
구글이 아닌 제 3자가 만든 ESD(T스토어, 원스토어, 갤럭시 앱스 등)가 너무 많다는 것도 문제다. 간단히 iOS와 비교해보자면, 기본적으로 애플에서 지원하는 앱스토어 외에는 앱 장터가 없다.[18] 반면에 안드로이드 OS는 누구나 가져다 쓸 수 있다는 점을 역으로 이용해서 자기들이 기기를 개발, 그리고 이 기기들만을 위한 장터를 개발하는 경우도 많이 늘고 있다.
2013년 2분기에 사상 처음으로 구글 플레이의 다운로드가 애플 앱스토어의 다운로드수를 추월했는데도 매출은 더블스코어 이상으로 발리고 있다.(...) 점유율을 생각하면 안드로이드 앱을 개발하지 않을 수 없는데 매출을 보면 개발의욕이 싹 사라지는 상태.(...) 그런데 이 매출 때문에 개발의욕이 사라진다는 부분은 현업에서 앱 개발에 종사하고 있는 사람들 사이에서는 이견이 있는데, 한국같이 안드로이드폰이 스마트폰 점유율의 90퍼센트를 차지하고 있는 상황에서는 매출 때문에 개발의욕이 사라지기는 커녕 '돈벌려면 안드로이드로 개발해라'는 말이 나오는 상황이다. 실제로 한국은 구글 플레이 매출이 미국의 구글 플레이 매출을 추월하는 상황(...)이며, 이런 특수한 상황의 대표적인 예가 for kakao로 대변되는 좀 기형적인 매출 신장에 기인하는바가 크지만 그래도 현실은 현실. 3000만대가 넘는 스마트폰중 약 2700만대가 안드로이드폰인 상황에서 200~300만의 아이폰 유저가 전부 탈옥없이 앱을 구매하고, 안드로이드폰 유저 전체의 30퍼센트만 합법적으로 앱을 구매하는 상황이라고 해도, 단순 계산만으로도 대충 아이폰 유저의 2배 수준의 소비층이 존재한다는 가정이 나온다. 이런 경향은 안드로이드폰이 압도적인 점유율을 자랑하며 판매 대수의 단위가 다른 중국으로 가면 더 심해져서 수익률이 애플에 비해 떨어짐에도 불구하고 현실적인 이유로 수많은 개발자들이 안드로이드로 앱을 개발하는 원동력이 되고 있다. 쉽게 말해 마음은 아이폰에 있는데, 먹고 살아야되니 몸은 안드로이드로 앱부터 열심히 만들고 있더라...에 가까운 상황. 또한 앱스토어의 수익률에 관해 상위 100위 안에 드는 앱이 수익의 대부분을 독식해서 신규 참여가 어렵다는건 그냥 실력없는 개발자들의 푸념으로 치부할 수 있지만, 기존의 좋은 앱이 많다는건 신규 참여앱이 치고나가기 힘든 분명한 장벽이다. 뿐만 아니라 최근 제대로 팔아먹자고 작정하고 만들어지는 앱들은 그냥 아이폰용과 안드로이드폰용의 멀티플랫폼으로 출시되고 있는 상황이니 저런 구분이 더더욱 의미가 없어지는게 현재 상황. 인기가 좋은 앱들이 대부분 이런식이니 결국 그냥 어느 한쪽만 잘팔리면 그만이다.
6 보안문제
현재 가장 큰 문제
모든 스마트폰, 특히 iOS와 함께 시장점유율이 높은 안드로이드의 가장 큰 문제이며 최근에서야 대두되고 있지만 사실상 처음부터 곪아왔던게 보안 관련 이슈가 몇번 터지니깐 이제와서 관심을 끌게 되었다고 보면 된다. 전문가들이나 일부 유저들의 지적은 이미 수년전부터 있었다. 스마트폰의 경우 사람들이 가장 빈번하게 사용하는 기기이며 사생활에 밀접한 관련이 있고 가장 직접적인 결제 수단과도 연관이 있기 때문에 보안 문제가 터지면 피해가 막심하다.[19]
안드로이드 OS는 보안 부분에서 취약하다. 아니, 취약할 수밖에 없다. 자세한 내용은 앱스토어와 구글 플레이 항목 비교 참조.[20]
6.1 악성코드가 내장된 어플리케이션
무단수정이 쉬워서 정상적인 앱에 크랙을 설치할수 있다.[21] 또한 구조를 분석하여 해킹하기도 쉽다. 그리고 정상적인 앱에서 이미지 같은 리소스를 빼내 가짜 앱에 집어 넣어 진짜 앱처럼 위장하기도 쉽다. 당연히도 짝퉁 애플리케이션의 경우 개인정보 유출 용도로 이용되는 경우가 많다. 좀 더 대담한 경우는, 정상적인 앱을 복제한 후 악성코드를 심은 후 재배포 하는 앱 리패키징 행위. 그래서 안드로이드에선 애플리케이션을 다운받기 전에 권한을 확인해볼 것이 권고된다. 애플리케이션의 기능에 비해 너무 많은 권한이 부여되어 있으면[22] 대부분은 개인정보 유출이다. [23] 앱 옵스라는 선택적 권한 조작기능으로 보안이 향상될줄 알았으나... 링크 하지만 이 기능을 구글 내부 디버깅 용도로 사용했으며 유저를 위한 기능이 아니라고 한다. 심지어 개발자 옵션에서도 접근할 수 없다. 4.4.2 버전부터는 사용할수 없도록 변경했다. 링크 이로서 앱에 대한 권한 문제는 원점으로...
그리고 2015년 6월, 구글이 새로운 개발자 버전인 M 개발자 버전을 발표하면서 차기 버전에는 앱 권한은 8개 카테고리로 나눠 분류하고, 이 권한은 앱을 설치할 때 일괄적으로 동의하는 것이 아니라, 권한을 처음 사용할 때 선택적으로 켜고 끌 수 있도록 할 것이라고 한다. 6.0 마시멜로 버전인 경우 앱별로 권한을 설정할 수 있도록 요청하지만, 앱 개발사가 권한별로 유기적으로 동작하도록 재설계하는 과정이 필요하며, 그렇지 않을 경우 이전 버전의 Android로 설계되었다며 대부분의 권한을 요구하고 있는 상황.
이처럼 아무데서나 앱을 올리고 아무데서나 받을 수 있고 받은 다음 또 아무데서나 수정, 재배포가 가능하다는게 문제라는 것은 다들 지적하는 부분이다. 정말 안타까운 부분은 이게 누가 강요해서 그러는 것이 아니라 사람들이 그렇게 주어진 시스템 안에서 자발적으로 그렇게 행동하고 있다는 것이 문제. 이러한 문제를 인식해서인지 일부 안드로이드폰에는 구글 플레이 외의 다른 스토어에서 다운받은 애플리케이션의 설치를 차단하는 기능[24]이 있다. 그러나 안드로이드의 경우 "아무데서나 앱 다운받을 수 있지?"라는 마인드가 이미 깊게 박혀서, 기업들도 구글 플레이에 굳이 앱을 올리지 않을 때가 있다. 대표적인게 각종 은행앱과 네이버 앱스토어 같은 서드파티 앱스토어들. 그래서 웬만한 소비자들은 그냥 저 설정을 무시하는 경우가 다수.
그런데 문제는 구글 플레이라고 믿을 수 있는게 아니라는 것이다. 앱스토어와 같은 사전검수가 아닌 사후검수이기 때문에 앱이 퍼지는걸 막는 것은 애초에 한계가 있다. 특히 단기간에 치고 빠지는 사기 결제 앱은 잡을 수가 없다. 2013년 8월 보안회사인 트렌드 마이크로는 구글 플레이에 약 70만개가 넘는 악성코드가 있다고 발표 했다. 요약기사 트렌드 마이크로 발표 원문 구글측에서는 평점, 사용자수, 사용후기를 악성앱을 피할수 있다고 주장하지만 아래쪽 사례를 보면 말도 안되는 소리라는것을 알수 있다.
개발자 신뢰 검증 및 인증 기관이 없다. 윈도우나 맥의 경우 verisign과 같은 인증기관의 인증서가 없을경우 프로그램 실행시 경고한다. 인터넷의 경우에도 https 연결시 verisign과 같은 인증기관의 인증서가 없으면 경고를 띄운다. 안드로이드? 그런 거 없다. 신뢰할수 없는 출처 차단은 단지 구글플레이에서 다운로드 받은것을 제외한 나머지를 차단하는 기능일 뿐이다. 구글플레이의 빈약한 보안시스템은 믿을게 못된다. 구글플레이에 평점이 백만개가 넘고 1억 다운로드가 넘어도 안심할수 없다. 평가자 7백만명, 다운로드수 1억 이상의 믿을만한 페이스북앱의 경우 사용자 몰래 전화번호를 빼돌리는 악성행위를 하다 걸렸다. 페북 기사 보안업체 발표 2013년 12월에는 더욱 노골적인 악성앱이 등장했다. 손전등 앱인데 사용자의 위치정보를 무단으로 전송하다가 미국 연방거래위원회(FTC)에 적발되었다. 앱에는 '개인정보 공유 불가'를 택하는 항목이 있었지만 실제 이 선택 기능은 가짜였고 사측은 고객 의사와 관계없이 사생활 정보를 외부에 유출했다고 FTC는 강조했다.손전등 악성앱 기사 대놓고 악질적이다. 유료앱도 믿을수 없다. 한 안티바이러스 앱은 다운로드 1만이상 평점 4.7을 받았지만 실제로는 악성코드를 심는다. 유료앱은 사용자가 안심한다는 특성을 이용해 역으로 악성코드를 배포했다. 관련 기사
구글은 이러한 문제를 해결하기 위해 바운서라는 일종의 백신을 구글 플레이 스토어에 내장했으나 한계가 있으며 이마저도 쉽게 우회 되고 있다. [25] 바운서 우회 기사 구글 뿐만이 아니라 다른 기업들도 휴대폰용 백신을 출시한 상황. 그러나 PC와 마찬가지로 웬만한 소비자들은 백신에 대해 별 관심이 없고 더욱이 휴대폰에 백신을 설치해야 한다는 관념은 더더욱 박혀있지 않다. 백신을 깔아도 문제가 되는게 웬만한 백신 앱은 백그라운드 작업이 제한된다. 배터리나 메모리 등 하드웨어적 한계 때문이다. 결국 백신이 항시 작동하는게 아니기 때문에 한계가 있다.
F-Secure의 리포트에 따르면 스마트폰 악성코드의 96%는 안드로이드용이다. 또한 전체 안드로이드 스마트폰 중 79%가 악성코드에 위협받고 있다. 사실상 안드로이드 기기는 PC처럼 관리해야 하며, 그래야만 보안에 있어 조금이나마 덜 위험해진다.
모든 운영체제는 보안상의 취약점이 있으며 이러한 취약점은 패치하지 않으면 해킹에 악용되고 피해가 발생한다. 안드로이드는 배포 구조상 보안패치가 매우 힘들다.[26] 구글에서 보안패치를 발표해도 제조사에서 개조한 운영체제에 맞게 적용하는 작업을 하지 않는 경우가 많다. 주로 업데이트가 끊긴 기종에게 해당된다. 윈도우의 경우 MS가 보안패치를 직접 실행하고 유저가 바로 받을수 있기 때문에 안드로이드와는 상황이 다르다.
제조사 커스텀 또한 보안문제를 일으킬수 있다고 한다. 관련글 그리고 관련글의 댓글을 인용하면...
음.. adb restore 익스플로잇 등 각종 안드로이드 익스플로잇, Bluebox 마스터키 취약점, Yet Another Bluebox 마스터키 취약점 등 매우 심각한 안드로이드 취약점은 죄다 Google Code입니다.
</br>Google Code는 시스템 디펜던트 하지 않기 때문에 해당 취약점이 가져오는 파급력은 벤더 디펜던트한 취약점보다 훨씬 심각합니다. 게다가 취약점 레벨도 루트 취득 가능 익스플로잇, 시스템 마스터키 우회 등 최상위 심각성을 가집니다. 그러다 보니 올해 포니 어워드는 Bluebox로 이미 결정났다고 보더라도 전혀 무리가 아니고요.
</br>
</br>논문이, 결론을 미리 내려두고 짜맞춘 느낌이군요.
</br>제조사 커스터마이징이 안드로이드를 더 취약하게 만든다는 것은 맞는 말이지만, 이미 구글 코드가 너무 취약한 상태라서 제조사 커스터마이징으로 생긴 취약점은 굳이 활용되지 않는게 현재의 안드로이드입니다. 단순 취약점 갯수로만 따진다면 구글+벤더가 더 많겠지만, 파급력으로 따진다면 벤더의 실수보다 구글의 실수가 훨씬 큰 부분을 차지합니다. 구글 코드의 취약점으로는 안드로이드 전체가 털리니까요. Bluebox 마스터키 취약점은 1.6 도넛부터 4.3까지 다 털렸죠. Yet Another Bluebox는 4.4까지 털죠. 지금 돌아다니는 안드로이드의 절대다수는 마스터키 다 털립니다.
보안문제에 대한 무지는, 안드로이드 = 리눅스 기반, 리눅스 = 바이러스엔 철벽 이라는 오해에서 보인다. 리눅스의 경우 사용하는 사람이 최소한 관련전공자인경우가 다수이기에 보안의 허점이 있더라도 유저의 수준이 높으므로 어느정도 자가복구/예방을하고있기는 하나 Windows는 사용자가 매우 많고 어르신들도 고스돕으로 액티브X라든가... 사용하는 유저의 수준이 낮기때문에 그만큼 보안문제가 자주 터지는 것이다. 안드로이드도 이와 비슷한 맥락이다.
또 한가지 일반적인 리눅스와 안드로이드의 보안성 차이는 업데이트 주기 차이에서 오는 것으로 볼 수 있겠다. 리눅스는 active한 프로젝트라면 알아서 새 버전에 맞춰 따라오라는 식이라 업데이트 주기가 매우 빠르다[27]. 반면, 상업용 성격이 강한 안드로이드는 사소한거라도 뭔가 하나 건드렸다가 호환성 문제가 생겨 어딘가 삐걱대면 대책이 없어지므로 쉽게 건드리질 못한다. 리눅스에서는 오픈소스라는 특징이 빠른 업데이트로 이어져 긍정적인 작용을 하는 반면, 안드로이드에서는 취약점 공개가 되어 오히려 독이 되는 셈.[28] 게다가, 구글에서 아무리 빠르게 대처를 한다고 해도 파편화 문제가 남아있는 한 제조사에서 또 다시 최적화 과정을 거쳐야 한다는 것도 문제이다. 더욱이 어중간한 헛똑똑이들때문에 루팅에 쓰이는 취약점을 막을 때 마다 오히려 욕을 먹는 경우도 있는 판이니(...)
그렇다면 버전업만 잘하면 보안에 문제가 없을까? 불행히도 그렇지 못하다. 일부 저가형 제품의 경우 안드로이드 최신버전을 적용해도 보안 취약점이 넘쳐났다. 어떤 제품은 롤리팝 배포되기 직전시기에 가장 최신버전인 킷캣 4.4.0 이 탑재되어 있지만 보안 구멍이 너무 커서 등급을 도저히 매길수가 없었다. 저가형이나 유명하지 않은 물건들은 거의다 보안 부적합 판정을 받았다. 테스트 기사
안드로이드 유저들은 '사용자가 많아서 이런 사례가 많은것이다.' 등의 변명을 하고 있지만 몇가지 반박을 할수 있다. 통계와 자료에 따르면[29] 미국과 일본에서 아이폰의 사용자 수와 점유율은 결코 작지 않다. 그리고 아이폰 사용자는 대체적으로 구매력이 크다.[30] 해커에게 충분히 매력적인 타겟이다. 하지만 보안업체 통계에 따르면 악성코드가 안드로이드만 노리고 있다. 시스코, 악성코드 99% 안드로이드용 사용자가 많아서 공격을 받는 것이라면 아이폰 사용자가 많은 일본이나 미국에서 아이폰 용 악성코드가 보여야 하는데 안드로이드 용 악성코드만 99%이다.[31]
이 문제를 극복하기 위한 일환으로 삼성전자에서는 KNOX(녹스)라는 보안 솔루션을 개발해 자사 단말기에 탑재했다. 이 보안 솔루션은 안드로이드에 통상 모드와 KNOX 모드를 따로 제공하는데[32], KNOX 모드에서는 모든 작업 및 활동이 암호화되며 KNOX 전용 스토어의 앱만이 사용 가능하다. 그러나 현재 일반 사용자가 쓰기에는 KNOX용 스토어의 앱이 너무 적고, 결정적으로 이 솔루션이 루팅과 롬질, 커널 교체 등을 매우 어렵게 하고 있기 때문에 헤비 유저들에게 까이고 있다(...). 물론 KNOX 이전에도 이미 기업용 커스텀 안드로이드 보안 솔루션은 존재했다. KNOX는 이를 일반 제품으로 확대시켰다는 의의가 있긴 한데, 이게 삼성 제품에 기본적으로 깔려나오다시피하니 일반 소비자에게 사실상 강요를 하는 것처럼 된다는게 문제인 것이다.
더 큰 문제는 녹스가 사실상 무의미 하다는 점이다. 요즘 유행하는 안드로이드 보안 위협은 SU[33]권한 없이 AOSP의 취약점만 노린다. 하지만 녹스는 취약점을 못막는다. 녹스가 부팅 중에는 su를 비롯한 거의 모든 명령어 바이너리의 실행 통제와 /data 파티션 안의 명령어 바이너리가 시스템 권한 없이 시스템을 건드리는 것을 막는 일을 하는데 단순 정보탈취나 앱 제어는 이 두가지가 모두 필요가 없다.
그런가 하면 국가 정보 기관이나 경찰 등의 감시로부터도 매우 취약하다. 단적인 예로, 2014년 8월에 워싱턴포스트는 감마그룹에서 유출된 내부 문서를 근거로 감마그룹이 정보 기관에 제공하는 휴대폰 도감청 프로그램인 FinSpy에 대해 기사를 썼다. 유출된 문서에 따르면 이 프로그램은 안드로이드, 블랙베리(7.1이하), iOS(탈옥), 심비안 윈도 모바일 기기에서 전화번호부나 통화 내용, 문자 메시지를 모두 엿볼 수 있으며, 심지어 기기의 마이크를 몰래 켜서 주변 소리를 엿들을 수도 있다. 여기서 안드로이드는 완전 구버전인 2.xx부터 시작해서 가장 최신 버전인 4.4x까지 모두 지원 대상이 됨에 따라, 모든 모바일 OS중 가장 광범위하게 털리는 취약성을 드러냈다. 참고로 이 프로그램이 지원하지 않는, 즉 도감청할 수 없는 운영체제는 순정 iOS과 윈도폰 OS, 블랙베리 OS 10 세개뿐인데 , 윈도폰 OS는 '아직 지원하지 않음'이라고 쓰여 있어서 미래엔 지원할 수도 있다. 더욱이 블랙베리 OS7은 블랙베리 OS 10과는 완전히 다른 물건이다. (출처 기사)
6.2 WebView 보안 패치 중단
안드로이드에는 웹뷰라는 것이 있다. 앱에서 웹을 열어볼수 있는 기능인데 주로 네이버 계열 앱, 웹페이지가 열리는 앱등 많은 앱들이 이용하는 기능이다. 구글에서 젤리빈을 포함한 이전 운영체제의 웹뷰 보안패치를 중단했다. 문제는 젤리빈 4.3이 출시된지 1년 3개월 즈음에 보안패치를 중단했다는 점이다. 게다가 젤리빈 사용자는 전체 사용자중 60%를 차지하고 있다. 구글에서는 나 말고 누군가 하겠지 라는 대응을 하고 있다. 다시말해 서로에게(구글, 제조사, 개발자) 책임을 전가하고 있다.(관련 기사)
6.3 Stagefright
이 문단은 Stagefright(으)로 검색해도 들어올 수 있습니다.
Stagefright는 안드로이드 2.2(프로요)부터 5.1.1(롤리팝 최신버전)까지 미디어 재생에 사용되는 시스템 라이브러리다. 그런데 2015년 7월 말경 Stagefright를 통해 악성 코드를 실행할 수 있는 중대한 취약점이 발견되었다. 다시 말해 현재 사용되는 거의 대부분의 버전의 안드로이드에서 악성 코드가 포함된 미디어를 첨부한 멀티미디어 메시지(MMS)를 수신할 경우 이를 열어보거나 열어보기도 전에도 취약점에 노출된다는 것.(보도 내용 및 악성 코드 문자 방지법) 쉽게 말해서, 그냥 문자를 수신만 해도 악성코드가 자동으로 설치될 수 있는 취약점인데, 이는 MMS 자동수신이라는 특성상 악성코드가 자동으로 설치되는 것에 기인한 문제이다. 이를 사용자가 해결하기 위해선 MMS 자동으로 불러오기 기능을 해제하고, 출처가 불분명한 문자는 받지 않고 삭제하는 것이 현재로썬 유일한 방법이다. 이 취약점을 처음 발견한 Zimperium이라는 보안 회사에선 사태의 심각성을 고려해서 패치를 미리 만들어서 보고했고, 구글은 2일만에 이 패치를 적용했다. 하지만 업데이트 문제에서도 서술했듯이, 패치가 실제로 기기에 적용되기까지는 많은 시간이 걸릴 것이고, 그나마 업데이트 지원이 종료된 기기와 4.4버전 이전의 기기들은 패치마저 받을 수 없을 것으로 보인다.CyanogenMod최신버전에선 4.4.4도 패치됐다.안드로이드 4.0부터 도입된 ASLR(Address Space Layout Randomization)[34]이란 기능 때문에 큰 걱정을 하지 않아도 된다는 주장이 있으나 구글 연구원의 말에 따르면 32비트 ASLR는 Stagefright 취약점을 막기에는 역부족이라고 한다. 해당기사 보기(영문)
7 파편화: 다양한 플랫폼에서 오는 문제
안드로이드는 H/W, S/W, 서비스, 통신사, 관련 플랫폼이 구성되어서 만들어진다. 위의 구성요소가 전부 다 파편화 되어서 전부 따로 논다. 이것을 맞추려면 개발자가 죽어난다. 가장 잘나가는 운영체제라서 무시할수도 없다. 아래쪽에는 그에대한 예를 인용하였다.
안드로이드기기는 스펙이 파편화되어 있어서 모든 기기에서 버벅대지 않고 부드럽게 돌아가는 앱을 만들려면 미쳐버립니다. 앵그리버드 같은 것도 안드로이드용만 바이너리가 8종이상[35] 되는 걸로 알고 있습니다. 2D앱만 해도 그런데 3D까지 생각하면 머리통 터저버립니다. 유니티[36]만 해도 퀄퀌에 최적화 중이라고 이제야 뉴스에 나오네요.
그렇다고 진저를 지원 안 할수도 없는 형편이니까요. 그리고 스펙이 좋아도 버전마다 따로 만들어줘야 하는 부분이 있습니다.
언젯적이라뇨. 현재진행중입니다. 인앱[37] 때문에 마켓별로 만들어야 하고 해상도도 다 달라서 해상도마다 잘 나오게 해줘야하고[38] 젤리빈에선 되는게 ICS에서 안 됩니다.[39]
파편드립이라니 생각이 있기는 한건가요[40] 제조사들이 기본 안드로이드도 아니고 지들이 커스텀 뽕짝을 해놔서 앱개발자들 미칩니다.
제조사 파편 아직 심합니다. 심지어 같은 삼성 갤럭시s2 s3 노트 노트2 끼리도 제대로 개발하기 힘듭니다. 위에 분들은 아이스크림부터는 os에서 좀 지원해주고 게다가 이제 안드로이드폰 화면크기가 대체로 규격화 되기 때문에 가능하리라 생각하시겠지만 그것은 오직 네이티브로만 개발했을때 얘기이고 수많은 앱들은 웹과 네이티브를 같이 사용하고 있는데 웹쪽에서 문제가 많이 생깁니다.[41] 그리고 네이티브로만 개발한다고 해도 사운드칩셋, 카메라칩셋등이 틀려서 해당 기능에서 기기별로 다르게 동작하는 경우가 많습니다. 아마 실제로 개발해 보신분이시라면 카메라 뒤집히는 증상 아실겁니다. 사운드 칩셋의 경우 openAL 같은 외부 라이브러리를 사용하면 모를까 안드로이드 sdk에서 제공하는 api썼다가는 다증 사운드 출력시 기기별로 오락가락하는거 100% 나옵니다. 저는 저번주에 모 기업의 앱개발을 맡았습니다 iOS 쪽이었구요, 이제 내일 본사복귀해서정리하고 모레부터 휴가입니다. 하지만 안드로이드개발자는 아직도 디버깅 리스트와 싸우고있습니다. 안드로이드 사용자가 워낙 많은 기업인데 기종이 가지각색이고 사용하는 os도 가지각색이라 사용하다보면 생각치도 못한 문제가 막 나오고 있습니다.
width=100% [43]
HW와 OS와 서비스가 긴밀하게 하나로 통합된 iOS 기기와 달리, 안드로이드 단말기는 다양한 제조사로부터 나오므로 기기 표준이 없고 뒤범벅이다. 단지 구글의 기본 가이드 라인만 준수하면 되기 때문에 그에 따라 CPU 종류, RAM 용량, 해상도 등이 기종마다 달라 개발에 어려움이 있고, 이렇게 기종마다 사양이 천차만별인 탓에 어떤 애플리케이션은 호환성 문제나 사양 문제로 설치가 불가능한 경우가 많다.[44][45] 가장 흔하게 접하는 문제는, 어느 해상도에 맞게 애플리케이션을 제작했느냐에 따라서 애플리케이션 이미지가 바둑판 형태로 배열되거나, 정렬이 이상하게 되거나, 초점이 맞지 않고, 이미지와 실제 터치영역이 따로놀게 실행되는 문제이다. 예시를 보면 이해가 빠를것이다.
구글은 이에, "넥서스" 시리즈 같은 표준이 되는 레퍼런스 폰을 만들고 개발자들은 이를 참고하게 한다. "넥서스" 시리즈 중, 넥서스 원을 HTC가, 넥서스 S와 갤럭시 넥서스를 삼성전자가 제조했고, Google Experienced Device 라고 구글과 제조사가 서로 협동하여 당시 안드로이드 버젼을 대표하는 레퍼런스 비슷한 기기를 만들어서 구글 안드로이드 개발자 컨퍼런스에서 HTC Android Dev Phone 1, Googe I/O Device(HTC Magic), HTC EVO 4G, Motorola DROID, Motorola XOOM, 삼성 갤럭시 탭 10.1을 개발자들에게 나눠줬다. 즉, 개발자 입장에서는 레퍼런스와 GED 기기를 표준으로 해서 SW를 만들면 안드로이드 표준을 준수하는 것으로 볼 수 있다는 것이다. 하지만 넥서스 시리즈와 일반 안드로이드 간의 차이가 너무 심해 별 소득이 없다. 거기에다 제조사들은 레퍼런스 모델에 따르기 보다는 이상한 기능(?)을 추가하여 해당 기능을 광고 타겟으로 삼기도 하기에 파편화가 더욱 심화되고 있다. 게다가 여기에는 통신사의 입김도 거세게 작용한다.[46] 또한, 구글이 모토로라를 인수하는 바람에 '표준 기기'의 지위를 앞으로 모토로라가 독점하게 될 수 있다는 우려가 있다. 구글은 모토로라를 독립 경영하게 한다고 했는데, 어떻게 될지는 지켜봐야 할 일이다.
그래프 상으로는 문제가 해소되어 가는 것처럼 보이지만, 수익상의 문제는 여전히 존재하는 상황이다. 현재 iOS 시장에 비해 개발비가 2~3배 정도 드는 안드로이드 앱 시장에서, 애플 iOS 기기에 비해 6배 정도의 유저를 보유하고도 iOS 시장에 비해 수익성은 절반도 안된다는 의미다. 2012년 말, 유저수가 5배에 수익성은 절반이라 했으니 근 1년간 상황이 더 악화된 것이다. 무엇보다 7% 안드로이드 시장이 성장할 동안 안드로이드를 기반으로 하는 별도의 마켓들, 예를 들면 아마존 킨들과도 같은 ESD [47]들은 전혀 조사가 되지 않은 상황이다. [48]
현재 파편화는 개발자가 참기 힘든 수준이 되었다. 이로 인해 앱 개발을 포기하고 타 플랫폼으로 갈수도 있다. 이것을 해결하지 못하면 장기적으로 안드로이드가 몰락할수 있다는 관점이 제시된 바 있고[49] 2012년도 이후에는 안드로이드 몰락보다는 다수의 제조사가 몰락하여 파편화가 끝난다는 충격적인 의견도 나왔으나...[50] 2013년 말로써는 아직까지 반응이 없는 상태다.
또한 안드로이드의 상위 20개 기종의 점유율을 보면 갤력시 시리즈가 무려 33%가 넘고 1~4위까지 갤럭시 시리즈에 20위 안에 들어간 갤럭시 시리즈가 무려 8개가 넘는 상황으로 링크 실제로 개발할때 갤럭시를 최우선으로 고려한다고 한다. 다만 시야를 전 세계로 넓혀 보면, 안드로이드의 진짜 레퍼런스는 갤럭시라는 소리마저 나올정도 였었는데 이건 사실상 몇가지 모델만 중점적으로 팔리는 국내에서나 통용되는 말이지 해외에선 통하지 않는다. 왜 갤럭시를 레퍼런스 취급하기 힘드냐면 갤럭시 내부에서도 다양한 라인업에 따라 다양한 AP[51]와 해상도 그리고 운영체제 버전이 달라지기 때문이다. 짧게 말하면 모든 가격대, 모든 라인업, 통신사의 특수 요청까지 다 받아서 만들기 때문에 갤럭시 내부에서도 파편화가 진행중이다. 예를들면 갤럭시 s3나 s4의 사양이 국가별로 다르며 갤럭시 자체의 가격대가 10만원에서 100만원까지 커버되기 때문에 부품 단가로 인한 파편화가 일어난다. 더욱이 갤럭시 태블릿은 그야말로 7부터 10까지 인치별로 다 팔기 때문에 이건 뭐...답이 없다.
사실 파편화 문제는 iOS 기기들도 해당은 된다. 아이폰, 아이팟 터치, 아이패드의 차이부터 시작해서, 같은 아이폰이라도 아이폰5 이후 화면크기가 16:9로 변경되는 등 차이는 존재한다.[52] 또한 OS의 경우도 아이폰3GS가 지원이 끊기고 일부 유저는 업데이트를 하지 않는 등 격차는 있다. 하지만 이런 파편화가 안드로이드에 비하면 극히 미미하다. 일단 하드웨어의 경우 안드로이드 기기의 종류가 iOS 기기보다 압도적으로 많다. 그리고 OS의 경우도 절대다수의 IOS 유저들은 최신형의 iOS를 사용하며 오픈소스가 아니기에 변형판도 없다. 즉 안드로이드 개발자들은 수많은 하드웨어들을 고려하고, 수많은 변형 안드로이드와 구형버전을 고려하여야 하지만, iOS 개발자들은 소수의 기기들과, 사실상 단일화된 OS만을 고려하면 된다.
일부에서는 이 문제를 다른 시각으로 보기도 한다. 신흥 범용OS의 과도기적인 문제라고 보는 것. 이렇게 보는 시각에서는 주로 PC를 예로 든다. 사실 윈도우 PC 역시 안드로이드만큼이나 파편화되어 있다. 예를 들면 같은 PC임에도 사양은 매우 가지각색이고, PC용 모니터들 역시 지원 해상도가 난립하고 있다. 그런데도 윈도우 PC에서 이렇다 할 파편화 문제가 잘 보이지 않는 이유는 PC 역시 이런 파편화 이슈가 심각한 과도기를 거쳤고, 그 결과 앱 개발 주체가 기업 위주로 재편되었고 그로 인해 앱 개발 역시 많은 예산을 투자하게 되었기 때문이다.[53] 거기다 현재도 PC의 파편화 문제가 종종 나타난다. 예를 들어 그래픽 카드 제조사에 따라 호환이 잘 안되는 게임이 있다던가, 게임이 사용자가 쓰는 모니터 해상도를 지원하지 않아 잘려 보이거나 납작하게 보인다거나[54], 앱에 최소사양과 권장사양을 명시해 둔다던가, 윈도우 버전에 따라 호환이 안되는 앱이 있다던가[55] 하는 것은 윈도우에서도 흔한 일이다. 그러나 파편화가 일어날 하드웨어적 조건이 안드로이드보다 상당히 적긴 하다. 안드로이드도 하드웨어는 제한되어 있으며 다른건 그래픽 칩셋 정도. 제일 문제가 되는 것은 제조사 커스텀이다. 그리고 안드로이드가 윈도우에 비해 업데이트가 제한적이고 많이 일어난다는 것도 문제.
7.1 하드웨어의 파편화
하드웨어(이하 HW)의 파편화는 PC에서도 발생하지 않느냐는 주장이 있다. 실제로 통일되지 않은 하드웨어 때문에 다소의 출혈은 불가피한데,[56] 예를 들자면 PC 패키지 시장보다 콘솔 시장이 더 잘 나가는 건 별다른 이유가 아니라 HW가 단일화되어 최적화하는 데 애로사항이 줄어들 뿐 아니라 플랫폼을 구매하는 데 쓰이는 자금도 줄어들기 때문이다. 예를 들면 XBOX용(펜티엄3기반 700MHz CPU) 게임인 헤일로2의 PC버전은 펜티엄4 2.0이 최소사양이고 펜티엄 4 3.0이 권장사양이다.
그러나 PC의 경우와는 또 다른 게, PC의 성능은 웬만한 스마트폰의 몇 배에 달하고, 이에 걸맞는 연산력 뿐만 아니라 끊임 없이 공급되는 대용량의 전력까지 있다. 노트북은? 그에 반해 스마트폰에 사용되는 HW가 가지는 연산력은 여전히 현대의 SW 개발자들에게 있어서 일종의 제한선으로 작용하고 있다. 조금 심한 예로, 2GB 또는 4GB 메모리가 일상화된 PC 전문 SW 개발자가 스마트폰 개발에 뛰어들면 사용 가능한 메모리가 1/4도 아닌 1/8로 줄어드는 경우도 존재한다. 그 만큼 최적화[57]를 더 해야 한다는 것이고, 이는 곧 개발 기간(및 비용)을 의미한다.
당연히 PC보다 안드로이드 폰의 문제가 심각한 것이, CPU를 예로 들자면 PC는 x86계열 CPU에 맞추면 극단적인 소수의 경우를 빼고는 정상작동하지만 안드로이드 단말기에는 ARM, MIPS, x86 등 여러 가지 아키텍처가 쓰이고 있다. 안드로이드에 가장 많이 쓰이며 레퍼런스 폰들에 쓰인 ARM(CPU) 프로세서용 네이티브 코드를 넣어만든 상당수의 애플리케이션들이 MIPS기반 프로세서 안드로이드나 x86기반 안드로이드에 돌리면 정상적으로 작동하지 않을 것은 당연한 소리이다. 실제로 중국에서 MIPS기반 CPU로 만든 테블릿을 내놓은 걸 테스트하니 제대로 돌아가는 애플리케이션이 한 손에 꼽을 수준이라고 한다.근데 요새도 MIPS가 나오긴 하나?
물론 아예 손을 놓은 것도 아니라서, 인텔이 내놓은 클로버트레일은 X86 기반으로 안드로이드가 작동하는데, 대부분의 앱은 제대로 작동한다. 이는 안드로이드 애플리케이션 중 dalvik으로 만들어져 있는 앱들이 호환성을 타지 않기 때문이다. 물론 고성능을 필요로 하는 게임과 같은 앱들은 네이티브 코드인 NDK로 작동되고 있는데, 이런 앱들은 호환성에 영향을 받는다. 때문에 인텔은 X86 안드로이드에 자체적으로 ARM코드를 X86코드로 바꿔주는 기능인 Houdini Binary Translator을 내장했다. 이것으로 90%이상의 NDK 앱들은 제대로 작동시킬 수 있다고 한다.[58][59]
결론적으로 안드로이드 제조사들이 피처폰 제조에 익숙한 노장들인 탓도 있지만, HW에 변화를 꾀하는 제조사들의 움직임이 오히려 안드로이드 OS의 발목을 잡고 있다 하겠다. 스마트폰 자체를 제작할 때야 이런저런 기능을 넣고 화면 크기를 바꾸는 식으로 제작하면 되고, 실제로 제조사는 이에 맞춰 OS를 변경해 판매하지만 정작 시장이 이런 급박한 변화를 따라가기에는 역부족인 것이다. 무엇보다도 다양한 HW에 따라 SW 개발자가 일일히 이에 맞춰 손을 봐야 하니 그건 그거대로 개발 비용이 증가하는 원인이 된다. 괜히 개발자들이 농담으로 돈은 앱스토어에서 벌고 개발은 안드로이드에서 한다고 하는 게 아니다.
7.2 소프트웨어의 파편화
소프트웨어(이하 SW) 쪽도 파편화가 심각한데, PC만 하더라도 제품사양도 제각각이고, PC 제조사별로 설치된 프로그램도 제각각이지만 윈도우는 모두 순정이다. 하지만, 안드로이드는 운영체제 위에 프로그램이 설치되는게 아니라 아예 운영체제를 개조해버린다.[60] 때문에 제조사나 통신사에 유리한 프로그램이 강제로 설치해 두는 경우가 있다.[61]
- 리눅스도 이런 경향이 없지 않지만 커널은 전부 토발즈의 작품[62]이고, 무엇보다 유저층이 안드로이드에 비하면 전문가가 더 많다.[63] 당연히 안드로이드가 특수 계층을 노리고 있지 않는 스마트폰 OS를 지향하고 있는 만큼, 리눅스나 윈도우를 반례로 들 수는 없는 노릇이다.
어떻게 보면 HW 쪽 파편화보다 더욱 심각한 상황이라고 할 수 있다.[64] 필수적이든 부수적이든 일단 프로그램인 만큼, 실제 사용자가 원하는 앱을 돌릴 연산 능력을 빼았기는데, 기종마다 어느 프로그램이 어떤 영향을 끼치는지 전혀 다른 상황이 온 셈이다. EPIC Games CEO는 2011년 12월, 인터뷰에서 이 상태로는 안드로이드에서 도저히 자사 게임인 인피니티 블레이드 같은 게임을 돌릴 수 없을 것이라고 말했을 정도. 마찬가지로 앵그리버드를 개발한 걸로 유명한 ROVIO CEO는 앱스토어에 판매되고 있는 것과 똑같은 앱을 안드로이드 API를 사용해 모든 안드로이드 기기에서 돌아갈 수 있도록 최적화 시키고, 그 가격을 $2.99로 맞출 수 있다면 안드로이드의 시대가 올 것이라고 말했다.
레퍼런스에 충실한 OS라면 큰 상관이 없겠지만, 현실은 제조사나 통신사나 신제품 광고를 위해서 신기능을 추가하고 이를 컨트롤 하는 기능이 OS에 삽입되는 경우가 많다. 사실상의 표준이며 많이 사용되는 전면카메라 이용 정도라면 애교이지만 제스쳐 기능, 동작인식 등의 사실상의 표준도 아니고 극히 일부의 폰에서만 사용된 기능이라면 충분한 잠재적 문제요소를 가진다.
또한 API[65] 레벨에 따른 파편화도 생기는데, 대표적인 예로 App2SD를 기본적으로 지원[66]하며, 동일한 프로젝트/소스라고 할지라도 API 레벨이 달라지면 에러가 우수수 쏟아진다.
다만 구글에서도 손을 놓고만 있는 것은 아니다. 4.0 이후부터는 안드로이드 기본 UI를 모든 기기에서 사용할 수 있도록 포함시킬 것을 명시하고 있으며, 버전에 따른 API 파편화 등을 Google Play Service라는 별도의 서비스를 통해 막으려는 노력을 하고 있다. 그런데 내장메모리가 엄청나게 작은 구형 폰에서는 저 라이브러리앱이 차지하는 용량도 작은 게 아니라서 컴맹들에게 욕을 바가지로 먹고 있다.(....)
사실 이는 오픈소스의 태생적인 문제인데, 오픈소스라는 개념의 의도 자체가 소스코드가 공짜로 풀리면 수많은 덕후들이 달려들어서 이리저리 마개조하겠지? 그러면서 기술은 발달할거야이다. 즉 애초에 오픈소스는 파편화가 되라고 만든 것이며, 그렇게 이런저런 기술들이 오고가며 역사가 더 나은 방향으로 나아갈 것이라는 믿음에서 출발했다. 따라서 각 제조사에서 안드로이드를 이리저리 뜯어고치는 것은 오픈소스라는 관점에서 보면 막아야할 일은 아니다.. 일반 유저 입장에서 이게 무슨 개소리냐는 반응이 나올 수도 있지만, 애초에 안드로이드라는 것 자체가 리눅스를 모바일 환경에 맞게 파편화한 것이다. 즉 안드로이드의 존재 자체가 '소스코드의 공개가 기술의 발전과 역사의 진보로 이어진다는 믿음'의 증거이다. 물론 파편화로 인한 앱개발의 어려움과 일반유저들의 불편을 '이건 오픈소스니까 너희들이 다 참아'라고 몰아 붙일 수는 없으며 하루빨리 뭔가 뾰족한 해결책이 나와야하는 매우 중대한 문제이다.
7.3 ESD(마켓)의 파편화
안드로이드는 기본적으로 오픈소스 OS다. 이는 구글이 안드로이드를 가져다가 전혀 다른 OS로 개조를 해서 판매하더라도 전혀 제재를 가할 의사가 없고 가할 수 없다는 의미다. 단편적으로는 하드웨어나 소프트웨어를 노리고 OS를 건드리는 경우가 많지만, 특수한 경우 ESD(마켓)을 노리고 OS에 손을 대는 경우도 있다.
한국에서 볼 수 있는 가까운 예로는 구글이 아닌 제 3자가 만든 ESD[67]가 있다. 간단히 iOS와 비교해보자면, 기본적으로 애플에서 지원하는 앱스토어 외에는 앱 장터가 없다.[68] 반면에 안드로이드 OS는 누구나 가져다 쓸 수 있다는 점을 이용해서 자기들이 기기를 개발, 그리고 이 기기들만을 위한 장터를 개발하는 경우도 많이 늘고 있기 때문에 HW 파편화와 SW 파편화에 이어서 중구난방 플랫폼을 만들어버렸다.
이를 중점적으로 노리는 중국시장을 제외하더라도, 미국만 하더라도 아마존이 이를 노리고 있는 실정이다. 아마존에서 출시한 킨들 파이어 모델의 경우, 공격적인 가격대를 유지함과 동시에 안드로이드 OS를 사용하지만 실상 이용가능한 것은 아마존 앱스토어 뿐이다. 당연히 구글도 질세라 킨들 파이어에서 구글 플레이 사용하는 것에 제약을 두었고 [69] 아마존은 그래봐야 소용없다는 식으로 대꾸하는 중이고, 이 전략은 성공했다. 선발주자에 속하는 Barnes & Noble에서는 몇년간 눅(Nook)이라는 기기를 판매하고 있었는데 이들도 마찬가지로 안드로이드를 사용만 했을 뿐 이용가능한 건 B&N 컨텐츠(전자책)로 제약이 걸려있었으나, 마찬가지로 성공했다.
결국 이러한 성공사례들이 겹치고 겹쳐서 구글 마켓을 제외한, 안드로이드를 돌리고 안드로이드 OS를 돌리는 기기라고 광고하지만 정작 기준 ESD는 구글 마켓이 아닌 경우가 점차 늘고 있는 것이다.
8 소프트웨어 질적 수준
안드로이드 기기의 기본 소프트웨어 질적 수준은 전반적으로 결코 높다고 할 수가 없는 상황이다. 사실상 안드로이드 유저들의 사용 패턴은 기본앱은 일단 버려두는 것으로(...) 시작한다.
그 이유중에 하나로 통신사를 들 수 있다. 국내 기업의 경우 삼성을 제외하곤 사실상 통신사와 동등한 입장에서 계약을 할수 있는 제조사는 없다고 봐도 무방하다.[70] 이에 따라 통신사에서 요구하는 자사 애플리케이션 탑재를 요구하거나, 통신사의 새로운 통신망에 대한 서비스를 위해 기기 스펙 다운[71]등이 자주 이루어 진다. 당연히 해당 건은 설계단계에서 기획된 것이 아니기에, 그만큼 버그가 생기거나, 쓸모없는 데몬[72]이 계속 유지되면서 배터리, 램용량을 잡아먹는 문제가 발생한다. 이 문제는 당연히 국내 뿐만이 아니라 해외도 마찬가지인 수년간 계속되어온 안드로이드 기기의 고질적 문제다.
제조사들의 소프트웨어 개발 수준도 원인인데 구글 레퍼런스 기기를 제외한 대부분의 경우 안드로이드 OS를 이리저리 입맛대로 고치기 일쑤다. 문제는 이들이 소프트웨어를 잘 만드는 게 아니다라는 것.
어떤 사람들은 이걸 두고 기종이 얼마 없는 애플과는 달리 다양한 하드웨어를 다루는 일반 제조사 입장에선 어느 정도의 한계가 있지 않는가라고 주장하기도 하는데 크게 설득력있는 의견은 아니다. 안드로이드 기기 제조사 중에선 애플보다 더 적은 제품 라인의 제조사들도 있었지만 그들의 소프트웨어 개조 능력은 하나같이 극악이었다. 그리고 삼성같이 여러개의 기기를 뽑아내는 제조사라고 해도 탑재한 소프트웨어는 비슷비슷하기 때문에 큰 상관이 없다. 물론 애플만큼 하드웨어 못지 않게 소프트웨어 개발 능력까지 탁월한 경쟁사가 거의 없는 것은 감안해야 하지만, 안드로이드 기기가 나온지가 몇년이 지났는데 아직도 기존 소프트웨어의 질이 한참 못미친다는 것은 비판의 대상이 될 수밖에 없다.
순정 안드로이드는 통화, 주소록 쪽에서는 일반 제조사들보다 기능적으로 불편한 경우가 많아 이 경우에는 제조사 커스텀이 편한 경우도 있는 경우도 있다. 정확한 지적이긴 한데, 결국 순정 안드로이드조차도 불편한 구석이 있다는 것이다. 하지만 제조사 커스텀도 일부 기능은 사용자 편의성을 고려하지 않은 UI와 발적화 때문에 그냥 버려지기 일쑤다.
델, 모토롤라나 소니, 삼성 등 대기업에서 내놓는 기기들을 보면 기본 애플리케이션과 OS만으로 용량을 6-10GB 씩 잡아먹는가 하면 순정이었으면 쾌적했을 기기를 버벅이게 만들기도 한다. 특히 과거 델이나 모토롤라는 그야말로 재앙급으로 안드로이드를 뜯어고쳤다. 통신사로는 NTT 도코모의 팔레트 UI를 들 수 있다.
어떤 안드로이드 유저들은 안드로이드는 루팅으론 안되는게 없다고 하면서, 루팅 만능론을 펼친다. 실제로도 안드로이드 포럼에 가면 루팅을 권하는게 거의 일상이 되었다. 기본앱 관련 불만이 하도 많다보니 이런 유저들은 해당 맘에 안드는 기본 앱들은 삭제해버리면 그만이라고 별 문제 아니라고 말하는데... 결과적으로 또 그렇지 않는 스마트폰이 또 어디에 있겠는가.[73] 루팅은 iOS로 따지면 탈옥과 같아서 제조사/통신사와 관계를 끊겠다는 의미와 동일한 행위이므로 애초에 정상적인 사용 방법이 아니다. 제발 그 놈들이랑 연줄좀 끊고 싶다
게다가 일반 유저들은 이걸 했다가 정말로 벽돌을 만들어 버리는 경우도 많고, 루팅의 의미를 잘 모르고 하라고 해서 시도해봤다가 나중에 AS를 거부당하기도 하므로, 불특정 대중을 상대로 제품의 장단점을 언급할 때는 논외로 쳐야 할 것이다. 그리고 유저들이 이런 것에 시간을 쏟아야 한다는 것 자체가 이미 소비자 편의성하고는 거리가 먼 것이다. 대부분의 유저들은 구입후 바로 작동하는 안정적인 기기를 선호하기 마련이다.
9 사후보장과 법적책임 문제
하드웨어 제조사, 통신사와 구글로 입장이 갈리는 상황에서 문제가 터졌을 때 이에 대한 책임을 질 것이냐를 두고도 문제다. 고질적인 문제라고 밖에는 할 수 없는 것이, 하드웨어 문제라면 제조사나 통신사가 책임을 지면 그만이지만 소프트웨어 문제라면 구글은 기본적으로 오픈소스로 안드로이드를 배포하고 있는 것이라 웬만한 법적인 책임에서 자유롭기 때문에 이 책임이 제조사나 통신사로 떠넘겨지게 된다. 물론 법적 소송을 준비해 확실하게(?) 끝장을 본다고 가정하면 소비자가 제조사나 통신사를 상대로 이길 확률이 높아 보이지만, 법원에서 판결날 때까지 2년동안 문제있는 폰을 무작정 쓰고 있을수는 없는 노릇 아닌가.
일각에선 구글은 기본적으로 OS 업데이트를 계속해서 내놓고 있고, 따라서 이는 통신사나 제조사가 알아서 했으면 될 일이라고 문제 자체를 과소평가하는 일도 있는데, 이건 어디까지나 구글이 제대로 할때의 이야기다. 결국 안드로이드라는 생태계를 주도, 관리하고 있는 것은 구글이고 레퍼런스 폰 외의 스마트폰이 안드로이드를 돌리고 구글 플레이에 접속가능케 내버려두는 건 구글이 아니던가. 더군다나 HW, SW 파편화 문제로 제조사 입장에선 하드웨어 제조면에서 벗어난 소프트웨어 개발이라는 부담을 가지는 상황에서 구글이 내놓는 레퍼런스 OS 업데이트를 실시간으로 따라잡으라는건 기본적으로 무리다.
일각에서는 보안패치 업데이트와 OS 업데이트로 갈라 구글이 후자를 관리할 수 있는 시스템으로 바꿔야 한다고 주장하는 모양이다. # 다만 위에 적었듯, 구글이 굳이 나서서 고생할 필요가 전혀 없는 상황이다. 3위 이하 업체중에 딱히 이렇다할 경쟁력이 없는 게 주된 이유 일 것이다.
하지만 보안 문제가 크게 발생 할 경우 구글의 책임론이 더욱 커질 것이다. 하지만 밑에서 설명할 반독점 문제 때문에 사실상 구글을 통제할 수 없을 것이란 의견이 많다.
10 독점
안드로이드는 블랙베리 OS나 iOS와 달리 어느 제조사나 가져다 쓸 수 있었기 때문에 제대로된 모바일 소프트웨어가 준비되지 못했던 제조사들에겐 그야말로 가뭄에 단비였다. 이동 통신사들로써도 애플에게 지나치게 의존도가 높아지는 것을 경계하여 안드로이드란 대체제를 환영했다. 특히 구글 플레이 수익의 30% 가까이를 이동통신사에게 챙겨줬으니 대폭 밀어줄 이유가 충분했다. 퍼스트무브를 보인 iOS의 경우 OS X처럼 아이폰 전용 운영체제이다보니 중저가부터 프리미엄 모델을 모두 섭렵하고 모델 개수도 굉장히 많은 안드로이드에 비해 점유율을 자연스럽게 뺏길 수밖에 없었다.
문제는 안드로이드가 널리 퍼지게 되고 점유율이 높아지면서 점점 구글의 입김이 강해지고 있다는 것이다. 사실상 안드로이드를 무료로 쓴다는 명목으로 구글의 다른 서비스를 이용하거나 꼭 거쳐가도록 강요하는 체제인 것이다[74].구글 앱 10개 의무설치, 구글 서비스 이용, 구글 플레이 매출 수익 구조 대폭 변경 [75]
월스트리트저널에선 “구글은 언제나 자신들이 개방(open)을 지향한다고 주장해왔다. 그러나 현실에서 그 개방이란 대단히 제한적인 것이었다.”이라고 직격타를 내리기도 했다.
다만 이는 구글과 안드로이드의 이름, 서비스를 빌려쓰려고 하는 제조사들의 선택의 문제일 뿐이라고 볼 수도 있다. 가령 아마존은 AOSP를 주물거려서 아예 구글 서비스를 떼어내고 자사 서비스를 탑재한 킨들 파이어를 내놨고 이는 안드로이드 정책상 아무 문제가 되지 않는다.
EU에서 반독점법 위반으로 결론을 내렸다. 구글이 시장지배력을 남용하여 안드로이드 단말기 제조사들과 계약을 맺을 때 구글의 검색 엔진을 사전에 설치하도록 하고 구글의 경쟁 모바일 운영체제(OS)를 설치하는 것을 제한했다는 지적을 받았다. 즉, 제조사마다 나름 소프트웨어적으로 하고 싶은게 있는데 그걸 못하게 압력을 행사했다는 것.
- ↑ 오라클의 자바특허소송은 1심에서는 오라클이 패소했으나 오라클이 항소하여 열린 항소심에선 구글이 패소하였고, 이후 구글이 대법원에 상고하였으나 허가되지 않아서 1심으로 파기환송된 상태이다.
- ↑ 주로 FAT파일시스템과 EAS(Exchange Active Sync)가 로열티의 큰 부분을 차지하고 있다.
- ↑ 하지만 구글이 아예 땡전한푼 못버는건 아니고, 검색 광고로 수익을 얻고 있다. 검색 광고 자체는 운영체제와는 아무 상관이 없으니 잘못된 부분은 없지만...
- ↑ 상용S/W 진영의 Open Source진영에 대한 견제로, 해당 프로젝트가 어느정도 시장에서 성숙기가 되면, 그때서야 잠수함특허로 특허권을 주장하는 경우가 일반적이다. 메이저 제조사/칩셋제조사 몇이 모여 새로운 OS를 만들거나 갈아탄다고 하여 특허문제가 발생하지 않으라는 보장은 없다.
- ↑ 사실 이는 구글 입장에서는 별로 문제될만한 일이 아니었다, 왜냐하면 되지 말아야 할 것을 안 되게 한 거니깐. 자세한건 저장소 구조의 대개편, 그리고 SD카드 사용시의 대혼란 을 참고
- ↑ NVIDIA는 이것 때문에(안드로이드 일은 아니었다) 리눅스의 아버지 리누스 토르발즈로부터 친히 공개석상에서 가운데손가락을 먹기도 하였다.
- ↑ 대부분의 칩과 하드웨어는 버그가 있고 하드웨어를 리콜할 수 없기 때문에 소프트웨어로 해결하게 된다. 그러니까 소프트웨어 Workaround... 그런데 이미 출시한 제품에 대한 OS업데이트의 경우 HW 자체는 이미 안정화시킨 다음이기 때문에 일반적인 개발과정만큼 많은 문제는 발생하지 않는다.
- ↑ 지금은 4.0이상이면 대부분 작동됨. 물론 다되는건 아니고 구글 앱인 Inbox도 4.0에서 작동 안된다. Keep은 2.3에서 작동 안되고.. 구글앱이 버전을 먼저 따진다.
- ↑ 넥서스5는 그렇지않음
- ↑ 예를 들면 진저브레드를 사용한 제품들 중에는 피처폰 시절의 잔재인 YAFFS파일시스템을 사용하는 경우가 많았는데 이것이 아이스크림 샌드위치 이후 보다 일반적인 EXT4파일시스템으로 변경된다. 문제는 EXT4파일시스템은 NAND플래시의 HW스펙에 의존하는 부분이 있어서 기존 YAFFS파일시스템을 사용하는 제품에는 아예 적용이 불가능했고 그렇다고 YAFFS파일시스템을 그대로 두자니 파일시스템에 의존적인 아이스크림샌드위치의 기능들과 충돌하는 문제가 발생했다. 이 문제점은 아이스크림 샌드위치 이후로 출시된 제품에서는 거의 해결된 부분.
- ↑ 거의 대부분의 기기가 약 4년간의 OS지원을 받고 있다. 아이폰 3Gs의 경우 1년에 한번씩 신버전이 발표되는 iOS의 특성상 처음 3.0 버전에서 시작하여 4.0, 5.0, 6.0까지 4년동안 계속 올라갔다. 다만 성능은 글쎄... 그래서인지 애플이 일부러 구형 기기에 OS지원을 함으로써 버벅이게 만들고 신형 기기를 사게끔 유도한다는 음모론도 존재한다. 소비자 입장에선 기존 버전으로 렉 없이 잘쓰고 있었는데 초기화한 뒤로 강제로 최신 버전으로 업데이트가 되고 폰이 쓰레기가 되는 것은 분명히 기분 나쁜 일이다. 특히 iOS 7 이후 iOS의 버전이 판올림 될 때마다 기존 구형 기기의 속도를 심하게 느리게 만드는 것도 사실이다 보니, (아이폰 4S 같은 경우에는 업데이트 후 소송까지 들어왔다!)꼭 OS를 최신 버전을 쓰는 것이 사용자에게는 무조건 좋다고 볼 수가 없다. 사실 애플이 구형 기기를 강제로 최신 버전을 올려 버리는 것은 사용자를 배려해서가 아니라, 애플과 개발자 입장에서 일괄적으로 사용자들이 최신 버전을 사용하게 강제해 버리면 그만큼 소프트웨어 관리가 편해지기 때문이다. 즉 개발자 입장에서의 편의와 애플 자신이 소프트웨어 관리하기 편해서 최신 버전을 올려주는 것이지 실제로 사용자를 위한다고 보기 어렵다.
- ↑ 그럼에도 불구하고, 운영체제 업데이트는 전반적으로 장점으로 여겨지고 있다. 애플도 운영체제 최적화를 위해 부던히 업데이트를 하는 편이고, 이러한 업데이트에는 보안 관련 업데이트도 포함이 되기 때문이다. 또한 소프트웨어 관리가 편해진다는 말은 바꿔 말하면 개발자들에 가해지는 부담이 줄어든다는 것으로, 전체적인 애플리케이션 질 확대에 일조하고 있는 것 또한 사실이다. 물론 사용자들이 운영체제 업데이트를 통해 꼭 득만을 보는 것은 아니지만, 최대한 오랫동안 소프트웨어 지원을 받는 것이 결과적으로는 더 좋은게 사실이다. 파편화 및 보안 항목도 참조.
- ↑ 정확히는 구글 플레이 스토어에서 집계한 자료이다.
- ↑ 이것도 2012년 7월 자료보다는 상황이 좀 더 나아진 것이다. 이 자료 발표로부터 불과 3개월 전에는 전체 이용자의 63% 이상이 진저브레드를 사용중이었다. 이게 진저브레드 직후에 최소사양 개념이 생겨서, 미달하는 경우 업데이트를 안해주는 상황도 한 몫 한다.
- ↑ 초저가형 시장을 타겟으로 싸게 풀리는 AP들이 진저브레드까지만 지원되는 경우에 해당한다.
- ↑ 참고로 당시엔 레퍼런스(넥서스) 제품뿐만 아니라 LG의 옵티머스 시리즈 등에도 업데이트가 배포된 시점이었다.
- ↑ 애플리케이션의 사이드 로딩이 가능하다
- ↑ 탈옥 후에 다른 앱 장터를 쓸 수 있긴 하나 탈옥은 일반적인 사용 방식이 아니니 논외로 한다.
아닌데? - ↑ 소액결제 승인번호가 줄줄이 유출되고 있다.(#)
- ↑ 대부분의 사람들은 개방성을 위시한 무책임한 방임이라고 비꼬기도 한다.
- ↑ 대표적인 예로 게임의 아이템 언락, 광고 블럭등
- ↑ 구글이 이부분에 대해 조금더 적극적인 대처만 하더라도 상당한 개선이 될수 있다고 보는 시각이 있다. 예를들면 OS측면에서 어플이 사용하지도 않는 권한을 너무 많이 요청한 경우 주의문구나 안내문구를 앱 실행할때마다 보이게 한다던지. 실제로 마시멜로부터는 앱에서 민감한 권한을 요구할 경우 무조건 사용자의 허가를 받도록 변경되면서 좀 나아졌다.
- ↑ 애플리케이션의 권한 문제는 애플처럼 권한을 일부만 승인해주는 방식을 쓰면 되나 구글은 이것을 적용하지 않았다. 안깔거나 깔거나 둘 중 하나다.
- ↑ 보안 메뉴에서 설정/해제할 수 있다
- ↑ 소프트웨어를 통한 자동화 방식이어서 해커가 우회 방법을 찾기 쉽다. 구글 눈에만 보이지 않으면 지속적으로 피해를 입힐수 있다.
- ↑ 구글에서 AOSP(원본 안드로이드)를 배포하면 그것을 제조사에서 가져다가 개조하는 구조. 새 버전이 나오려면 구글 - 제조사 순으로 2단계 이상 거쳐야 한다.
- ↑ 물론 패치하고는 나몰라라 하는건 아니지만 적어도 안드로이드보단 부담이 적다
- ↑ 이전 판에서 오픈소스이면서 보안이 강한 예로 SELinux가 언급되었는데 안드로이드에는 이미 SELinux가 적용되어 있다.
- ↑ 미국 점유율 자료, 일본 스마트폰 판매 순위
- ↑ 예를 들어 폰 자체 가격도 안드로이드 계열에 비해 비싸다.
- ↑ 애플은 사전 검열 방식이라 통계가 왜곡됐다는 주장도 있지만 여기서 말하는 악성코드는 앱, 웹(운영체제 취약점)까지 모두 포함한 것이다.
- ↑ 거의 따로 논다고 할 정도로 독립적이다.
- ↑ 슈퍼유저, 다시말해 루트권한
- ↑ 다만 안드로이드 4.0 아이스크림 샌드위치에서는 완전히 적용되지 않았다. 게다가 4.0 미만은 이런 기능이 존재하지도 않는다.
- ↑ ARM, MIPS는 몰론 x86, x86-64, PowerPC 등등 각 CPU에 해당하는 바이너리가 많다.
- ↑ 게임 엔진. 가장 유명한 예로 배드 피기즈를 이걸로 만들었다. 물론, PC게임들도 제법 있다. Kerbal Space Program등.
- ↑ 구글 자체 결제, 네이버 자체결제, 티스토어 자체 결제 등등
- ↑ 자동으로 해상도 맞춰주는 기능은 이쁘지가 않다. 결국은...
- ↑ 젤리빈으로 업그레이드하면 되지 않냐고 말하는 사람이 있는데, 안드로이드 사용자 중에서 OS 업그레이드를 전혀 하지 않는 경우가 태반이다. 물론, 기기 제작사에서 업그레이드를 제공해주지 않는 것도...앞 항목에 잘 나와 있다.
- ↑ 누군가가 생각없이 "언제적 파편드립인가요"라고 남긴 댓글에 대한 답이다.
- ↑ 대표적인게 내장 브라우저. 갤럭시용과 옵티머스용과 베가가 퍼포먼스 부분부터 다르다.
- ↑ 해당 게시글 참고
- ↑
개발자의 분노가 느껴지는해당 게시글 참고 - ↑ 전자의 대표가 모토마이저, 마일스톤, 드로이드, 모토글램 이외에는 동작을 보증하지 못한다. 하지만 이건, 범용 애플리케이션이 아니라 특화 애플리케이션이다. 후자의 대표가 어도비 플레쉬, CPU가 ARMv7(Cortex-A8) 600MHz 이상, WVGA이상의 해상도가 권장 사양이다.
- ↑ 이는 장점이 될 수도, 단점이 될 수도 있다. 모델에 딱 맞는 특화 애플리케이션을 만들 수도 있지만, 이런 애플리케이션을 쓰는 사람은 일반 유저가 아닐 가능성이 크다.
- ↑ 한국의 경우, 넥서스 원, 넥서스 S, 갤럭시 넥서스마저도 통신사 간섭으로 파편화가 일어나고 있다. 통신사의 망연동 테스트, 제조사의 안정성 테스트 등을 핑계로 최신버전 소프트웨어를 유지하는 것이 힘들기 때문이다. 갤럭시 넥서스는 순정롬이 4.1.2가 나오는 시점에 한국향이 4.1.1로 업데이트된다거나 하는 것이 그 예.
- ↑ 티스토어, 올레 마켓, 오즈스토어, 삼성앱스 등등
- ↑ 조사에 중국이 포함되지 않은 이유이기도 한데, 안드로이드 OS를 기반으로 전혀 다른 기기를 제조해서 판매하는게 충분히 가능하고 널리 퍼진게 중국시장이다. 미국도 아마존, B&N같은 eBook시장이나 타블렛 시장을 중점적으로 안드로이드를 가져다 전혀 다른 OS로 개조해 판매하는게 퍼져있다.
- ↑ 참고 링크 안드로이드 파편화(원문), 안드로이드 파편화(번역), 개발자 관심 하락1, 개발자 관심 하락2, 안드로이드앱 개발안함1, 안드로이드앱 개발안함2, 안드로이드앱 개발안함3
- ↑ 실제로 스마트폰 점유율과 이익을 살펴보면 애플과 삼성 이외에는 매우 적은 비중을 차지하고 있다. 그나마 애플이 전체 스마트폰 분야에서 상당한 이익을 차지하고 나머지를 안드로이드 진영이 나눠먹는다고 하면 삼성전자 이외에는 입에 풀칠하기도 힘들다. 괜히 운영체제 업그레이드를 못하는게 아니다.
- ↑ 저가형은 브로드컴(인도같은 이머징 시장과 100불 이하용), 퀄컴 스냅드래곤, 삼성 엑시노스 (통신사 요청이나 물량공급 때문에)
- ↑ 그래봤자 세대별로 다른것이고 동일세대 기기들의 파편화는 안드로이드에서의 제조사, 통신사의 커스텀으로 인한 그것과는 비교할게 못된다.
- ↑ 윈도우에서 인디개발자 앱이 잘 보이지 않는 이유를 생각해 보자. 물론 규모의 경제 때문에 여타 OS들 보다는 압도적으로 인디 개발자 앱이 많긴하다(...)
- ↑ 전체화면만을 지원하는 게임이 이런 경우가 많다.
- ↑ 특히 서버용 운영체제나 막 새로 나온 운영체제
- ↑ 이것은 소프트웨어와 하드웨어가 같은 개발사에서 개발되는 애플의 매킨토시의 강점이기도 하다. 매킨토시의 전통적인 장점인 기기 안정성은 여기서 나오는 것이다. 물론, 인텔로 이주한 현재 매킨토시의 강점은 OS X를 돌린다는 것 정도다. BIOS안 쓰고... 어차피 PC는 자원이 모바일에 비해 엄청나게 많으므로 굳이 하드웨어 레벨까지 내려가서 코드를 작성할 필요가 없는 것도 있다.
- ↑ 이 과정에는 어셈블리를 써야 하는 상황, 아니면 임베디드 프로그래밍을 다뤄야 하는 경우가 많이 나온다. 무식한 비유지만 기기마다 설계가 다 다르므로 사용하는 프로그램 언어가 다르다고 이해하면 좋다.
- ↑ http://pc.watch.impress.co.jp/docs/column/ubiq/20130926_616841.html
- ↑ 다만 90% 호환성 제공이라는 인텔의 언급은 충분히 걸러 들어야 할 필요가 있다. 통상 제대로 된 SW업체의 경우 나름대로의 앱 검수과정을 거친 후 호환성이나 버그 갯수 등이 일정 수준 이상을 충족하는 것을 확인한 후 출시하게 된다. 그런데 검수과정 자체는 대체로 각 SW회사들의 영업비밀에 해당하는 내용이라서 공개되거나 공유될 만한 것들이 아니고 따라서 인텔이 특정 앱들에 대해서 바이너리 변환기가 호환된다고 확인해줄 수 있을 만한 권한을 있을 턱이 없다는 것이다.
- ↑ 앞의 아마존 킨들과 눅을 상기해보자.
- ↑ 예를들어 SKT는 멜론이 기본 옵션으로 설치돼 있다.
- ↑ 본인이 코딩을 하지 않더라도 리눅스에 들어가는 코드는 모두 본인이 최종적으로 결정한다.
- ↑ 사실 리눅스도 개인용 운영체제로서는 이 문제 때문에 골머리를 썩이고 있다. 지금이야 리눅스를 개인용으로 쓰는 경우는 극소수이고 유저들 중 전문가가 많지만, 만약 안드로이드처럼 컴맹부터 컴덕까지 만인이 같이 사용하는 운영체제가 된다면 이 파편화는 큰 문제가 된다.
- ↑ iOS와는 달리 제조업체의 업데이트에만 의존해야 하는 것도 문제점 중 하나이다. 애초에 일반 사용자의 경우 폰을 처음 받은 상태 그대로 사용하는 경우가 많기에, 동일 모델이라 해도 안드로이드의 경우 출시 시기별로 버전이 달라지게 된다(...)
- ↑ Application Programming Interface. 특정 플랫폼용 프로그램을 개발할 때 사용하라고 제공되는(당연하겠지만 해당 플랫폼 개발사에서 제공하는 경우가 대부분. 가장 대표적인 예가 Win32 API.) 기본 기능들. 여기서는 Target 안드로이드 버젼이라고 보면 된다. 프로요가 8(2.2) or 9(2.2.x), 진저는 10, 허니컴은 11 이런 식.
- ↑ API Lv 9 이상
- ↑ LG 스마트월드, 차이나모바일 모바일 마켓, ZTE APPS, 레노버스토어, 티스토어, 올레 마켓, 오즈스토어, 삼성앱스 등
- ↑ 탈옥 후에 다른 앱 장터를 쓸 수 있긴 하나 탈옥은 일반적인 사용 방식이 아니니 논외로 한다.
- ↑ 어쩔 수 없는 이야기기는 하지만 킨들 파이어쯤 되면 구표준규격과도 맞지 않아서 구글 플레이에서 이용할 수 있는 앱도 얼마 없다.
- ↑ 그 삼성조차도 X통신사에서 맘먹고 엿먹이겠다고 나오면 엿을 먹을 수 밖에 없는 상황이라고 한다. 이런 얘기를 공식적으로 할 수 있을리는 당연히 없으니 그저 카더라 통신일 뿐이지만.
- ↑ 갤럭시 노트가 대표적이다.
- ↑ 사용자가 보는 화면이 아니고, 시스템이 스스로 운영하기 위해 돌리는 프로그램들. 예를 들면 MLT
- ↑ 그리고 애초에 하드웨어를 글러먹게 만든 경우에는 답이 없다.
- ↑ 구글의 수익 구조, 즉 광고에 기반한 것을 보면 당연히 예상가능한 변화였다는 것도 기억하자. 유튜브고, 구글닥스고, 캘린더고, 지메일이고, 안드로이드고 죄다 광고수단이다. 심지어 광고 안 나오던 iOS의 유튜브 앱도 이젠 광고가 지천에 깔려서 귀찮을 지경에 이르렀다.
- ↑ 특히 통신사들은 수익에 큰 타격을 입었다. 구글이 일방적으로 매출 수익에서 통신사가 가져가는 양을 반절로 깎아버리고 자신들이 가져가는 양을 그만큼 늘렸기 때문이다.