今天看到有很多消息称谷歌将停止开源 Android,比如这一篇《谷歌决定终止开源Android》。对此消息有些将信将疑,毕竟这些年被各种反转虐了无数回。抱着掌握第一手材料的态度,去外面的世界看了看。谷歌确实对 Android 开发方式有所改变,但并非将 Android 闭源。比如下面这篇就将前因后果讲得比较清楚:
https://www.androidauthority.com/google-android-development-aosp-3538503/
总结一下:
1. Google已经确认,Android操作系统的开发将很快私下发生。
2. 这种私有化的目的是简化Android OS开发,而不是阻碍外部开发人员。
3. Google 将在每个 release 版本后向AOSP发布源代码。
Android开源项目或简称AOSP是Google在Apache 2.0许可下发布的操作系统。 Apache 2.0 允许任何人根据AOSP修改和分发操作系统,而无需支付任何许可费,也不公开源码。由于这种宽松的许可协议,手机厂商广泛采用AOSP,成为对抗苹果 iOS 系统的另一大力量。
AOSP 虽然是开源项目,接受第三方开发人员的代码贡献。但是,Google 主导了开发,贡献了大部分的代码,而且Google对合并到AOSP以及发布新版本源代码拥有最终决定权。
除了公开版本,Google 还有一个内部分支 。任何人都可以访问AOSP分支,而内部分支仅供谷歌本身、Android OEM厂商和其他拥有 Google 移动服务 (GMS)许可协议的公司访问。
根据谷歌的说法,为了简化Android OS开发,Google将不再有两个“主要”分支。这种变化主要是为了提升谷歌内部团队的效率。
以前,在公共AOSP分支和单独的内部分支中管理开发会产生大量人力资源消耗。通常,AOSP的公共分支经常落后于内部分支。当需要合并两者之间的代码时,谷歌的工程师经常遇到合并冲突——即不同代码版本之间的冲突,需要额外的时间和精力来解决。
这对我们意味着什么?
谷歌此举并不意味着Android正在封闭源,将继续发布新的Android版本的源代码,因此,Google今年晚些时候发布Android 16时,我们依然能够获得更新的源代码。此外,Google将继续发布Android Linux内核叉的源代码,因为它已在GPLV2下获得许可,与AOSP分开。
也可以说谷歌这种是伪开源,隔一段时间一个大提交,外部开发人员将不能跟踪 AOSP 的 变化。真正的开源应该是整个开发过程透明化,每个提交都能知道其意图。
对于 Android 应用开发人员而言,影响微乎其微,为 Android 系统开发应用,并不需要时刻跟踪最新的系统,为了应用面更广泛,开发者通常会选择早期的 API。
对中国手机厂商来说,应该影响很小。一方面最为合作伙伴,即使谷歌改变策略,手机厂商应该也会走内部渠道拿到最新代码。另一方面,像华为这样,有鸿蒙系统,迟早要和 Android 系统分道扬镳,独立发展。至于安卓以后会不会走向闭源,很难说,但这次宣布的消息,绝不是哪些财经媒体解读的那样。
Google在本周晚些时候将宣布此消息,届时将分享更多详细信息。