结果是,即便微软真的去开发一个 Android 分支,也无法真正获得 Android 平台的优势:大量的用户,大量的开发者。这是为什么呢?因为,Android 实际上分为开源和不开源的两个部分,现在 Google 将越来越多的新特性往不开源的部分转移,而通过升级 API 等方式来迫使开发者使用更多 Android 不开源的部分。
布莱特解释,Android 从系统层面分为两套代码:
一个是 AOSP(Android Open Source Platform),它包括了 Linux 核心以及 Dalvik 虚拟机,一套基础的 UI。它们采用了 GPL 和 Apache 等开源许可;
另一个则是 GMS(Google Mobile Service),它包括 Google Play Service 和 Play Store 套装应用。前者提供了一系列的 API,包括 Google 地图、应用内付费等等。而 GMS 是不开源的。
而现在,Google 将精力投入到 GMS 上,而不是 AOSP 上,以访问地理位置的 API 接口为例,GMS 的版本要比 AOSP 的更新更好用。实际上,AOSP 的地理位置 API 自 Android 1.5 之后,就没有太大的变化了。现在,与其说是 Android 应用,还不如说是 GMS 应用。
布莱特认为,如果微软真的要对 Android 做点什么,有以下四种方式:
采用 AOSP 以及 GMS 两套代码。这个方案相当于 Google 拥有代码控制权,对微软不是好的选项;
采用 AOSP,提供一些定制的部分。微软可以提供自己的应用与服务。这个分支可以兼容部分 Android 应用,但兼容性如何却不可知;
采用 AOSP,提供自己开发的 GMS 的替代品。这个方案提供最高的兼容性,但是微软需要付出大量的精力来开发 GMS 的替代品。而这实际上将平台的领导权让给 Google;
采用 AOSP,但应用层方面完全采用自己开发的部分。不过,对于 Android 来说,Linux 核心实际上并非是最重要的部分,而且微软已经开发了出 Windows Phone。
那么,当微软真的独立开发 Andorid 分支,但不采用 GMS 的话,就无法适配许多调用了 GMS API 接口的应用。当然,微软可以开发出取代 GMS 的东西,就好像亚马逊(Amazon)所开发的 Fire OS 一样。
但 Google 依然能够通过提高开发的步调,不断甩开竞争对手的距离,现在 Fire OS 的处境正是如此。这么做不光无法保证 Android 应用的兼容性,还可能因为 API 接口的关系,无法提供完整的应用体验。