一则“谷歌将终止开源安卓”的消息在网上掀起轩然大波。
AOSP 是全球使用广泛的移动操作系统之一,它是安卓系统的核心部分,能够支持全球超过 30 亿台智能设备。在业界的观点中,倘若真的实行闭源,那么将会给现有的安卓生态造成巨大的冲击。记者对多位谷歌的合作伙伴进行采访后得知,谷歌当前确实对安卓开发模式作出了变更。并且,该公司还向合作方着重强调,这种调整并不意味着 Android 将会转向闭源。
谷歌在一份与第一财经独家获得的、关于谷歌与中国合作伙伴的沟通信中表示,目前正在进行内部工作流程的变更,目的是简化 Android 的开发模式。同时,谷歌仍致力于继续为所有后续版本,把所有相关平台项目的完整源代码发布到 AOSP 。
一家厂商与谷歌有深度合作,在评估此次安卓变更所带来的影响时对记者说,大家依旧能够依据早期体验计划和合作协议来获取最新的 AOSP 或者分支,他们认为这对合作方没有影响。
但从长久的角度来看,在谷歌发出正式的辟谣之前,没有人能够完全否定谷歌未来闭源的可能性。因为谷歌是一个在移动市场拥有高占比的系统,所以它的任何一个微小的动作都将会对生态链上的生存者产生影响。
合作伙伴信曝光
3 月 28 日,第一财经记者从谷歌的多位中国合作方那里得知,谷歌已向全球合作伙伴发布了一则通知,是关于 Android 平台开发工作流程的变更。该通知主要涵盖了开发分支的转移、AOSP 主分支的变化、合作伙伴的贡献方式以及特定分支的开发情况等方面。
Apache 2.0 此前允许任何人这样做而无需发布源代码。
谷歌为了平衡 AOSP 的开放性以及其产品开发策略,之前维持了两个主要的安卓分支,一个是公共 AOSP 分支,另一个是内部开发分支。此次引发关注的焦点在于是否要关闭公共 AOSP 分支。
谷歌在给合作方的信件中提到,从 2025 年 3 月 27 日开始,他们会把 Android 平台的开发转移到单个内部开发分支。这样做能够帮助他们更快地采取行动并且简化 Android 开发。有少量最初在 AOSP 中进行开发的项目,也会将开发转移到内部分支。
此前有媒体进行猜测,谷歌会不再对目前 AOSP 的公共分支进行维护,并且会逐渐关闭相关的支持性资源。这是引发“谷歌终止开源安卓”这一消息的关键之处。然而,从上述谷歌给合作方发布的信件来看,谷歌仍旧坚决声称会持续推行开源政策。
谷歌在信件中表明,他们依然致力于持续为所有后续版本把所有相关平台项目的完整源代码发布到 AOSP 。
谷歌向合作方解释变更的部分:在进行此更改后,AOSP 主分支上的 CI 构建以及测试覆盖率将会停止,也就是 ci.android.com 上不再有 aosp-main 构建。然而,在 AOSP 中发布的发布分支,像 android15-release、android15-tests-dev 等,其 CI 构建将会继续。AOSP 的主分支会被锁定并且设定为只读状态。可以上传一些更改来让其接受审核,然而这些更改不会被合并进去。
谷歌表示,合作伙伴对于尚未发布的未来 Android 平台所做的贡献,无论是大是小,都建议通过以下两种方式进行:一是通过作为 Android 早期访问计划一部分而共享的合作伙伴 Gerrit 分支,例如 25Q2-fs-release;二是直接在测试套件开发分支,例如 stage-25Q2-ts-dev 上上传更改。
Google 员工会对这些更改进行审核、挑选以及合并,将其纳入我们的内部 Gerrit 中。凡是被接受的这类更改,都会成为我们下一个 AOSP 版本在其各自发布分支上的内容。并且,对于 AOSP 中的 android-latest-release 分支,合作方也有权利上传更改,以便进行审核。谷歌称,合作伙伴在进行 Android 15 及更早版本的测试套件贡献时,需继续把 CTS、VTS 和 GSI 的更改挑选至 AOSP 中的测试开发分支。同时,尽管测试更改不会自动被合并到内部 Gerrit 里,但 Google 员工会对这些更改进行审核、挑选并合并到我们的内部 Gerrit 中。合作伙伴能够继续运用源自 AOSP 测试开发分支的 ToT CTS、VTS 以及 GSI CI 构建,以对其测试失败的修复进行验证。
谷歌方面向合作方着重指出,Android X 以及 Android 通用内核分支会在 AOSP 中持续进行开发;在此次公告当中,这些分支不会有任何改变。
谷歌对安卓开发模式进行了变更。一位与谷歌长期合作的公司负责人向记者表示,核心的变更主要在于谷歌会逐步把公共分支 Android 转变成内部分支,同时会停止对公共分支进行及时更新。不过,我们认为谷歌的这一举措是为了节省开支,并且可以通过减少合并冲突来提高效率。未来谷歌会在开发结束后持续发布最终源代码。
消息公布之后,我们正在进行评估。不过,就目前而言,这对合作伙伴并未产生太大影响,大家依然能够通过协议获取最新的 AOSP。上述负责人如此表示。
一家科技企业对记者称,变更之后,外部代码贡献者追踪安卓的进展变得更加困难,因此该企业会持续观察与安卓合作的变化情况。
他向记者表明,当前 ASOP 官方已发布新信息,安卓最新版本清单会一直引用最新的发布分支,此清单能直接与代码库配合使用。因此,建议平台开发者利用安卓最新版本(而非 aosp-main)来构建 AOSP 并为之作出贡献。
为何变更?
谷歌未公开回复此次变更的细节。然而,在伙伴信中,谷歌称是为了简化 Android 的开发模式。并且,这与谷歌此前给海外科技媒体 Android Authority 的回复是一致的。
谷歌有两个主要的安卓分支。其中,任何人都能够访问 AOSP 公共分支。而谷歌的内部分支,只有拥有谷歌移动服务(GMS)许可协议的公司才可以访问。
一些操作系统组件,比如安卓的蓝牙堆栈,是在 AOSP 公共分支里进行开发的。然而,大多数组件,其中包含核心安卓操作系统框架,是在谷歌的内部分支中进行私下开发的。
同时,谷歌在其内部进行了大部分安卓的开发。所以,公共 AOSP 分支通常远远落后于私有分支。这种差异使得谷歌需要花费时间和精力在公共 AOSP 分支与它的内部分支之间合并补丁。因为分支不同,合并冲突时常会出现。
这或许成为了谷歌变更安卓规则的关键导火索。Android Authority 提及了一个事例,有一位程序员向安卓系统递交了一个补丁,此补丁能让系统中的放大镜工具放大导航栏以及输入法的界面。然而,因为在公共 AOSP 分支和内部开发分支所设置的列表末尾长度存在差异,所以引发了合并冲突。这个特定问题的修复较为简单。然而,当将其集成到谷歌的内部分支中时,许多其他 AOSP 补丁会引发类似的合并冲突。
这样的合并冲突数量可能非常多。这是谷歌所说的放弃当前 Android 开发策略,进而把所有开发转移到内部的一个重要原因。
此外,有消息在流传,AOSP 的维护工作涉及到超过 3000 万行的代码,有 200 多个并行的开发分支,并且有全球数千名开发者在进行协作。2024 年的运维成本达到了 8.3 亿美元。东吴证券的分析指出,将闭源所节省下来的资源会转向 Gemini 大模型等 AI 领域,以此来应对 OpenAI 和 meta 的竞争。然而,这一说法并没有得到官方的确认。
谷歌在转向内部开发之后强调,这并非意味着安卓会变为闭源。并且在上述内部信里,谷歌也向合作方传递了信号:AOSP 的主分支(公共分支)将会被锁定且设定为只读状态,能够上传更改以供审核,但这些更改不会被合并。
从目前各方的反馈情况来看,谷歌这一动作若要施行,对业界所带来的影响并不十分显著。本质上,谷歌是希望能够优化开发效率并且强化对安卓生态的控制,并非是要完全放弃开源。所以,对普通用户和主流厂商来说,其影响是比较有限的。然而,如果要说最直接的影响,那可能是因为 AOSP 公共分支被锁定,从而使得一部分硬件开发者无法及时知晓安卓代码的迭代过程。
有分析表明,谷歌的这一转变使得安卓操作系统的开发得以简化。然而,这可能会对新版本的开发以及 bug 减少的速度产生影响。不过,对于用户而言,总体效果可能不太容易被察觉。此更改对大多数开发人员的影响也较为有限。一方面,应用开发者不会受到影响,因为这仅适用于平台开发。而平台开发人员的工作通常是基于特定的标签或发布分支,而非主要的 AOSP 分支。
对于未获得 GMS 授权的厂商来说,像部分智能家居或者国内的小众品牌,它们或许无法实时地跟进代码的变更。安全补丁和功能更新可能会滞后好几个月,这些厂商需要依赖旧版本或者进行付费合作。然而,有开发者向记者表示,智能家居这类产品使用旧版本已经足够了,并且还可以选择 linux 原生的方案。
在传言发酵后,不少业内人士感叹开源精神在硅谷逐步倒退。
过去,谷歌的许可结构较为宽松,由此缔造了“安卓王国”。三星、小米、OPPO以及各类智能硬件等,都基于 AOSP 进行了定制开发,从而有了自己的安卓系统。而现在,如果 AOSP 的实时透明性不复存在,开发主导权进一步集中到谷歌及其合作伙伴手中,那么安卓生态走向封闭这一趋势是不可否认的。
(第一财经记者刘晓洁对此文亦有贡献)
(本文来自第一财经)