오픈소스 주요자료

오픈소스 주요자료 상세
[월간지 3호, 국외자료] 구글 플레이의 서비스들과 안드로이드의 비오픈소스적 (non-FOSS) 미래
  1. 작성일 :
  2. 2013.09.23
  3. 작성자 :
  4. 관리자
  5. 조회수 :
  6. 2733

[번역문]

Ars Technica (arstechnica.com)에 기고를 한 Ron Amadeo는 안드로이드 플랫폼과 관련된 구글의 진화하는 전략에 관한 평가를 담은 글을 포스트 하였다. 이 포스트에서는 구글이 안드로이드와 관련하여 수립하고 있는 최우선순위 목표가 “안드로이드의 에코시스템에 있어서의 “흩어짐” (fragmentation)을 줄이는 것”이라고 하고 있다. 여기에서 “흩어짐”이란 전 세계에 걸쳐 다양한 곳에서 사용되고 있는 대부분의 안드로이드 기기들이  서로 다른, 즉 오래되었거나 서로 호환이 되지 않는 버전의 오퍼레이팅 시스템을 사용하는 것을 일컫는다. 그리고 이와 같은 흩어짐의 결과 새로운 피쳐들의 활용은 극도로 느려지거나 완전히 불가능하게 된다. 흩어짐 현상이 야기하는 단점들은 많다. 애플리케이션 개발자들과 관련해서는 그들이 어떠한 앱을 개발할 때 현재 사용되어지고 있는 수없이 많은 안드로이드 기기들 중 다수를 차지하고 있는 기기와 잘 호환되는앱을 개발하여야만 하는 문제가 발생한다.

안드로이드의 에코시스템과 관련하여, “흩어짐” 뒤에 숨어 있는 진짜 문제들 중 하나는 대부분의 소비자 기기들(consumer devices) 의 오퍼레이팅 시스템(“OS”) 업데이트 시에 발생하는 복잡하고, 일관성 없고, 지루한 프로세스(process) 의 문제이다. 구글이 새로운 안드로이드 버전을 시장에 내놓아도 OEM (Original Equipment Manufacturer: 주문자 생산방식의 생산자) 들은 종종 기존에 생산한 기기들과 관련된 업그레이드는 전혀 하지 않는다는 결정을 내린다. 만약 그들이 이와 반대로 기존에 생산한 기기들을 모두 업그레이드 한다는 결정을 내리면 그와 같은 결정에 부합하도록 하기 위해서는 새로 나온 오퍼레이팅 시스템에 그들이 만들었던 스킨(skin)들과 맞춤 생산된 애플리케이션들이 모두 다 적합한지 여부를 포트(port)하고 실험(test) 하여야 하는데, 이것을 모두 하기 위해서는 몇 달이 걸릴 수도 있다. 또한 이와 같은 포트와 실험이 끝난 후에 OEM들은 다시 자신들의 소프트웨어 이미지가 유저들에게 적합하게 배포될 수 있는지 여부를 검사 받고 승인 받기 위하여 각각의 서비스 캐리어들(carrier: ex.) Verizon, AT&T)에게 자신들의 소프트웨어 이미지를 보내야만 한다.

이와 같은 흩어짐과 관련된 문제를 해결하기 위한 구글의 해결책은 핵심 오퍼레이팅 시스템으로부터 가능한한 많은 요소들을 분리(격리)시키는 것이다. 이렇게 함으로써 분리된 요소들은 부분적으로 다시말해, OEM들이나 캐리어들과 무관하게 각자 업그레이드 될 수 있게 된다. 이와 같은 전략은 구글이 자신의 오퍼레이팅 시스템을 전체를 하나로 해서 업그레이드 시키기 보다는 핵심 애플리케이션들을 개별적으로 업그레이드 시키는 현실을 볼 때 분명하게 확인된다. 구글의 핵심 애플리케이션들이라고 할 수 있는 Gmail, Maps, Search, Chrome, Calendar, the keyboard, YouTube, 그리고 Play Store 자체도 제3자가 만든 애플리케이션을 업그레이드 시키는 것과 동일한 방식으로 구글의 Play Store를 통해 업그레이드 시킬 수 있다.  

구글이 안드로이드의 흩어짐을 줄이는 목표와 관련해서 취하고 있는 또 다른 전략은, “구글 Play Services” 라고 불리우는 엄청난 특권을 내포하고 있는 애플리케이션의 역할을 확대하는 것이다. Play Service는 시스템 레벨 프로세스(system level process)와 같이 작동한다. 다시 말해, Play Service는 다른 모든 애플리케이션들에 하위-레벨 API들과 백그라운드 서비스들을 제공한다. 하지만 그것이 행하고 있는 핵심적인 역할에도 불구하고, 구글은 Play Service를 애플리케이션으로 배치하였다. Play Service는 일반적인 경우와는 다르게 아주 강력한 역할을 수행하고 있다. 또한, 기저를 형성하고 있는 안드로이드 오퍼레이팅 시스템과는 확연히 구별되는 애플리케이션이다. Play Service의 중요성을 설명하기 위해서 Amadeo는 다음과 같이 말한다. “만약 구글의 Play Service가 얼마난 중요한 애플리케이션인지에 대해 확신을 가지지 못하는 사람이 있다면, 그것의 작동을 해제(disable) 시켜 보아라. 그 사람은 자신이 소지하고 있는 안드로이드 기기에서 구글과 관련이 있는 거의 모든 앱들에 문제가 발생하는 것을 발견하게 될 것이다.”

Play Service 애플리케이션과 관련해서 구글은 Play Store에서 유저들이 업데이트를 스스로 인스톨 하는 것으로부터 한 단계 더 나아갔다. 기존의 방식인 유저들에게 가능한 업데이트에는 어떠한 것들이 있는지를 알려주고 유저들이 업데이트를 하게 하는 방식을 버리고, Play Service 애플리케이션은 유저의 컨트롤을 받지 않고, 즉, 자동적으로 그리고 은밀히 자신을 업데이트 시킨다. 다시 말해, Play Services 애플리케이션은 구글과 직접 연결되는 라인을 깔고 있는 것이고 이 라인을 통해서 구글은 스스로 원할 때는 언제든지 직접 Play Services 앱을 사용하는 유저들의 기기에 자신이 원하는 업데이트를 밀어넣을 수 있다. Play Services는 자유 소프트웨어(free software) 혹은 오픈소스 소프트웨어(open source software) 가 아니다. 구글은 Play Services의 소스코드를 공개하지 않고,  Play Service의 소소코드를 다른 사람들이 변형(modify)시키거나 재배포(redistribute)를 허용 하지도 않는다. 또한, 그 어떠한 형태로든 오픈소스 라이선스(FOSS license) 하에서는 Play  Service를 라이선싱하고 있지 않다. 따라서 Play Services는 이론적으로는 오픈되어 있는 안드로이드 환경 속에 자리잡고 있는 “비오픈소스적 플랫폼(non-FOSS platform)”이다. 이것을 활용하여 구글은 휴대폰 제조업자들과는 완전히 단절된 상태에서 자신만의 서비스를 제공할 수 있게 된다.

Play Services는 최근에 릴리즈 된 안드로이드 버전인4.3 버전에서 새롭게 추가된 것이 아니다. 사실 Play Services는 이미2.2 버전에서부터 안드로이드 소프트웨어 속에 포함되어 있었다. 가장 최신의 안드로이드 오퍼레이팅 시스템 버전인4.3 버전이 적은 비율의 안드로이드 기기들에만 탑제되어 있는데 반해 가장 최근에 나온 Play Services의 최신 업데이트는 현재 사용되어지고 있는 안드로이드 기기들의98.7%에 이미 은밀하게 완료되어 있다.

시간이 흐르는 동안 구글은 Play Service의 역할을 순차적으로 확대시켜 왔고, 결과적으로는 가장 기본이 되는 오퍼레이팅 시스템에 초점을 맞추고 핵심 피쳐들의 개발이 이루어지는 것이 아니라, Play Services 그리고 Play Services의 유관 애플리케이션들에 초점이 맞추어지고 개발이 이루어지도록 하는데 성공하였다. 그 결과 추가적인 API들, 새롭게 구글에서 만드는 애플리케이션들, 그리고 “안드로이드 기기 매니저 원격 wipe/tracking 시스템” (Android Device Manager remote wipe/tracking system) 등과 같은 안드로이드 플랫폼과 관련된 가장 최근의 발전들은 유저들이 자신들이 소지하고 있는 기기에 맞는 오퍼레이팅 시스템의 업그레이드 버전이 나올 때까지 기다릴 필요가 없이 바로 접할 수 있게 되었다.  

 Amadeo는 다음과 같은 결론을 내린다:    

  구글이 엄청나게 큰 작업인 메이저 오퍼레이팅 시스템 업데이트에 모든 패키지들을 다 포함시키지 않아도 되게 된 것의 의미는, 과거에 비해 구글이 더 많은 피쳐들을 더 많은 유저들에게 훨씬 더 빠르게 그리고 자주 전달할 수 있다는 의미이다. 이제 안드로이드 피쳐들의 릴리즈는 구글이 자신의 웹 애플리케이션을 업데이트하는 것처럼 할 수 있게 되었다. 그것은 은밀하게, 백그라운드에서 지속적으로 일어나는 끊임없는 개선작업이다. 당신이 소지하고 있는 안드로이드 기기는 당신이 직접적으로 혹은 제3자가 따로 개선을 하기 위하여 별도의 행동을 하지 않고 가만히만 있어도 지속적으로 개선 될 것이다. 또한 개발자들은 유저들의 인스톨을 기다리지 않고도, 새로운 API들을 활용할 수 있게 될 것이다. 이 모든 요소들이, 더 통일되고, 덜 흩어지고, 더 건강한 안드로이드 에코시스템을 만들 것이다.

Amadeo와 같은 결론을 내리는 것이 현재 일어나고 있는 현상을 규정하는 한가지 시각일 수는 있다. 하지만 휴대폰 제조업자들도 자신들이 의미 있는 컨트롤을 거의 다 구글에게 빼았기고 있는 현재와 같은 에코시스템이 “더 건강한” 에코시스템이라는 결론에 동의하는지 여부는 지켜보아야 할 것이다.

 

[관련 링크]

* http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/

* https://developer.android.com/google/play-services/index.html

* https://developer.android.com/about/dashboards/index.html

 

[원문]

Ars Technica contributor Ron Amadeo has put out a post that offers an assessment of Google's evolving strategy for the Android platform. The post argues that Google's top Android priority is reducing the fragmentation in the Android ecosystem. Fragmentation refers to the phenomenon in which most Android devices worldwide run an array of outdated and incompatible versions of perating system software. As aresult, the adoption of new features is dramatically slowed or even entirely inhibited. Amongst the many isadvantages of fragmentation is the challenge it presents to application developers who must write software that is compatible with the majority of Android devices in use.


One of the main drivers behind fragmentation in the Android ecosystem is the complicated, inconsistent, and lengthy process that accompanies an operating system update of most consumer devices. Following the release of a new version of Android by Google, OEMs frequently choose not to update existing devices at all. When they do decide to update existing products it can take many months to port and test all of the OEM's skins and custom applications on the new operating system. Once this work is completed the OEMs must send the software image to each carrier for testing and approval before the update is finally pushed out to subscribers.


Google's solution to fragmentation is to decouple as many components as possible from the core operating system so that they may be individually upgraded in place without the involvement of OEMs or carriers. This strategy is clearly evidenced by Google's practice of enabling its core application suite to upgrade individually rather than requiring an upgrade of the entire operating system.
Applications such as Gmail, Maps, Search, Chrome, Calendar, the keyboard, YouTube, and even the Play Store itself can now be upgraded through the same Play Store upgrade service as third party applications.


Another step in toward Google's goal of reduced Android fragmentation is the increasing role of an application endowed with super privileges named "Google Play Services". Play Services, acts much like a system level process; it provides lower-level APIs and background services to all other applications. However, despite the critical role it plays, Google chose to deploy Play Services as an
application, albeit an unusually powerful one, that is distinct from the underlying base Android operating system. To illustrate the importance of Play Services, Amadeo remarks "If you ever question the power of Google Play Services, try disabling it. Nearly every Google App on your device will break."


With the Play Services application, Google has gone a step further than allowing users to install updates from the Play Store. Rather than utilize the available update mechanism, the Play Services application automatically and silently updates itself without any user control. The Play Services application possesses a direct line to Google which pushes updates directly to devices whenever it  hooses. Play Services is not free software or open source software; Google does not distribute the source code, allow others to modify or redistribute the source code, or provide Play Services under a recognized FOSS license. Play Services is therefore a non-FOSS platform inside the theoretically open Android environment, giving Google a way to decouple its own services from the andset manufacturer.


Play Services is not a new introduction in a recently released version of Android such as the current version 4.3. Instead it has actually been included with the Android software going back as far as version 2.2. While Android 4.3, the most recent OS release, is installed on only a small fraction of Android devices, the most recent update to Play Services is silently running on 98.7% of all Android devices urrently in use.


Over time, Google has been gradually expanding the role of Play Services and consequentially turning the focus of its headline feature development away from the base OS toward Play Services and its Applications. As a result recent improvements to the Android platform such as additional APIs, new Google branded applications and the Android Device Manager remote wipe/tracking system are available to users without the need to wait for an operating system upgrade for their particular device to become available.


Amadeo concludes with his observation that:


Not having to package everything into a major OS update means Google can get features out to more users much faster and more frequently than before. Android feature releases can now work just like Google's Web app updates: silent, continual improvement that happens in the background. Your device is constantly getting better without your having to do anything or wait for a third party, and  evelopers can take advantage of new APIs without having to wait for the install base to catch up. This should all lead to a more unified, less fragmented, healthier Android ecosystem.


That's one way of characterizing the outcome. It remains to be seen whether handset manufacturers agree that an ecosystem over which they are losing most of their meaningful control is "healthier."

 

출 처 : SFLC (Software Freedom Law Center, http://www.softwarefreedom.org/)

  1. 첨부파일
이전글, 다음글 리스트
이전글 [월간지 3호, 국외자료] 마이크로소프트의 노키아 합병: 모바일 시장에서의 의미
다음글 [월간지 2호, 국외자료] 페어써치 (FairSearch), 안드로이드와 관련하여 구글을 EC에 제소

목록