2007 年 11 月 5 日,Google 联合多个手机制造商、芯片厂商和移动运营商,宣布成立全球联盟,共同开发一个开源移动操作系统——Android。在当时,这款既诞生于闭源 iOS 之后、也不如搭载在首代 iPhone 那般让人惊艳的系统,却凭借开放策略迅速赢得全球的支持,最终成为移动领域的霸主。
但让人始料未及的是,如今,这个曾以“开源”打遍天下无敌手的 Android,正悄然向“闭源”的趋势靠拢。
据外媒 Android Authority 报道,Google 已向其证实,Android 开发将全面转向内部进行,最快下周开始。这意味着未来 Android 所有核心开发都将移入私有环境。不过值得注意的是,源码仍会对外开放,只是开发过程不再公开,但 Android 生态逐步走向封闭已成为不可否认的现状。
CSDN 付费下载自视觉中国
放弃双分支开发模式,全部转向内部开发
事实上,熟悉 Android 的人应该知道,一直以来 Google 对 Android 的开源策略并不彻底——Android 既包含开源部分,也有闭源部分。从这一属性来划分的话,它主要由两大部分组成:
据 Android Authority 称,虽然 Google 允许外部开发者向 AOSP 贡献代码,但真正主导开发的还是 Google 自己,最终决定哪些代码被采纳、何时发布新版本的也是 Google。换句话说,AOSP 虽然是开放的,但 Android 的发展方向还是 Google 说了算。
长期以来,Google 为了在 AOSP 的开源属性与自家产品开发策略之间保持平衡,他们既要维护公开的 AOSP 分支,又要在内部持续迭代包含 GMS 的版本。
简单来看,就是对同一个系统采取双分支维护的方式。这种模式带来了额外的开发成本,Google 需要花费大量精力在两个分支之间合并代码,而由于代码差异较大,合并时经常会遇到冲突。
而 Android Authority 透露WhatsApp网页版,Google 早就习惯在内部开发 Android 的核心部分,而不是完全在 AOSP 公开推进。Google 这样做的理由是,避免开发者和手机厂商跟着那些尚未完成的实验性功能折腾,希望让大家用更稳定、统一的 Android 版本。但从另一个角度看,这也让 Google 对 Android 生态的掌控更为严格,防止厂商们随意改动 AOSP,导致 Android 版本过于碎片化。
目前,AOSP 里还保留了一些公开开发的组件,比如蓝牙协议栈,但 Android 的核心部分,尤其是 Android OS 框架,早已搬到了 Google 内部。
来源:《全面认识 Android OS》
现在,Google 进一步调整策略,放弃 AOSP 和内部版本的双分支开发模式,将所有 Android 开发工作集中在内部,不再对外公开。
对外给出的理由是——进一步简化开发流程,让每个人的工作都更轻松。
这是否意味着 Android 将完全“闭源”?
那么,这是否就意味着 Android 以后成为“闭源操作系统”了?
其实未必。
Google 向 Android Authority 证实称,它仍会保持 Android 的开源性质,因此这并不意味着 Android 彻底变成闭源。
每次发布新版本时,Google 仍会向 AOSP 公开源码,比如今年晚些时候发布 Android 16 时,源码也会同步开放。此外,由于 Android 的 Linux 内核分支采用 GPLv2 许可证,Google 仍然必须遵守开源协议,持续发布 Linux 内核的源代码。
不过,这一调整会影响 Android 部分组件的源码发布节奏。
过去,一些组件(如构建系统、更新引擎、蓝牙协议栈、虚拟化框架、SELinux 配置)会优先在 AOSP 中开发,而核心 OS 框架等大部分组件则主要在 Google 内部进行。现在,部分功能(如仅解锁存储区 API、上述提及的蓝牙协议栈)仍然在 AOSP 中开发,但从下周起,所有 Android 的开发工作都将彻底转入 Google 内部,源码只会在正式发布新版本时才统一开放。
对开发者的影响
谈及此举会对带来什么样的影响WhatsApp网页版,对于 Google 自己的团队来说,这样做确实能减少工作量,让开发流程更加顺畅。
从外部来看,对普通 Android 用户来说,这一变化几乎没有影响,很多人可能甚至不会察觉。
对大多数开发者而言,影响也不大,因为这次调整只涉及 Android 平台本身。而那些开发自定义 ROM 的开发者,通常也是基于 AOSP 的特定版本或发布分支进行开发,而不是直接跟进 AOSP 主分支,因此对他们的影响也很有限。同样,基于 AOSP 进行产品开发的厂商,原本就不会直接使用 AOSP 主分支WhatsApp网页版,因为它本身并不稳定。
不过,对于希望直接参与 AOSP 开发的外部开发者来说,这无疑是个坏消息。没有 GMS 许可的开发者将更难向 Android OS 贡献代码,因为 AOSP 上能看到的代码将始终比内部开发版本滞后几周甚至几个月。
此外,Google 的最新变化也会让外界对 Android 未来版本的了解变少。过去,AOSP 的代码更新经常会透露一些即将推出的新设备、新功能,或者某些即将被移除的特性,甚至还能看出哪些应用可能会被 Google 限制。而一旦 Android 彻底转向内部开发,这类信息可能就不再能被提前发现,开发者和用户也就更难在 Google 推出不受欢迎的改动之前进行反馈或抗议。
一些 Android 开发者也同样认为:
这可能会给一些开源 Android 版本的开发者带来麻烦,比如 LineageOS。相比于逐步了解和适应新变化,一下子面对大量变更会更加棘手。
不过,老实说,这对那些以 Android 为基础开发系统的从业者来说,影响可能并不大(我之前也做过这方面的工作)。在这个行业里,开发者本来就处于“食物链”的底端,排在芯片厂商(SoC)、代工厂(ODM)和品牌厂商(OEM)之后,而这些上游厂商的代码仓库往往更新缓慢,效率也不高。
虽然理论上你可以随时查看 AOSP 的源代码,但实际上,很多关键的东西早就被不同厂商修改过,想要把这些变更顺利整合进自己的代码库并不容易。
预计 Google 本周会公布更多细节,而这一调整最快可能会在下周正式生效。
业界的看法
话虽如此,Google 关闭 Android 系统公开开发进程的调整还是引起不少开发者的担心,众人普遍认为——“Android 闭源是假,但是其生态愈发封闭为真”。
来自 HN 上的用户 IshKebab 评价道:
虽然表面上可以说这是为了防止泄露(确实偶尔会发生),但我认为这更可能是 Google 迈向闭源的第一步,尤其是在欧盟干扰了他们的开源盈利策略的情况下。其实,应该说这已经是他们的第 N 步了。Google 早就把大量功能转移到了 Google Play 服务里,还停用了许多 AOSP 版的原生应用,比如日历。
axegon_ 表示:
这种情况我见过太多次了。接下来,许可证会开始变更,功能被锁定甚至彻底移除,开发工作也会逐步向完全闭源的方向推进,最终变成一个封闭的生态。是时候支持一下 Jolla 和 Sailfish OS,然后考虑迁移了。
此前操作系统领域专家谢宝友在接受 CSDN 采访时,谈及为何要真正自研操作系统,也担忧过 Android 会逐渐走向封闭的路径。他认为国内确实需要自研操作系统,主要有以下几个痛点:
你如何看待 Google 的最新举措?欢迎分享你的观点。
参考:
https://www.androidauthority.com/google-android-development-aosp-3538503/
https://news.ycombinator.com/item?id=43484927