当前位置:首页 > 每日看点

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?

卡卷网2年前 (2025-04-02)每日看点340

AOSP的master/main分支毫无意义,AOSP很早就是这样了,或者说一直就是如此,任何试图下载或者编译其主分支代码的人不出半个小时就能得出这个结论。

观察AOSP的代码历史就可以发现,一些仓库的主分支已经无法作为开发分支/优先提交的分支了。

以Bionic libc仓库为例

  • 主分支commit几乎全部为merge其他分支的commit,然而虽说是merge,但更接近于cherry-pick。
  • 几乎所有commit都要解决合并冲突。
  • 需要很多轮的merge/revert/reland/revert reland/reland^2

一个小功能要半个月才能合并,即使都是Google员工,效率低成这样,显然是无法继续维持了。一个月提交20行代码,这绩效怎么算呢。

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第1张

此外,AOSP不是monorepo,而是用的repo工具管理的上百个仓库。repo工具需要manifest仓库定义各个子仓库的分支或者tag,然后才能checkout一套源码出来。

但是,或许由于管理的问题,或许由于授权的问题,AOSP从来不公开未发版版本的manifest,也就是说,正在beta测试的系统,只有Google和GMS合作伙伴能拿到源代码,而其他没有权限的开发者,只能看到主分支上残缺的代码,以及处于GPL要求必须开源的代码。

如下图所示,只有发版的android 15有能用的分支,android 15 beta时期和现在的android 16 beta的分支都带着gpl的标记,里面也没有完整的AOSP系统

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第2张

但是这并非什么秘密,10年前就是如此,只是10年前国内的安卓厂商根本不参加beta计划(好像Android 8之后Google才联合国内厂商推出beta系统),不在beta期间推出Android beta系统,对Android大版本更新也不上心。而lineageos等第三方基于AOSP开发的类原生系统也是在Google官方系统更新几周后才能等到AOSP发布的开源分支,然后进行二次开发。

即使是发版的分支,Google的功能更新(比如最近Android的QPR更新)或者安全更新,也是提前发布给GMS合作伙伴,然后才会公开。非GMS合作伙伴晚至少一个月才能从AOSP看到安全更新,这对于商业用途是完全不可接受的。

更令人疑惑的是,任何一个AOSP的分支,其代码仓库的历史都是几乎不可读的,各个分支之间也没有什么依赖关系。机器人自动的merge/cherry-pick导致AOSP的历史不像典型git仓库的树状历史,而是更接近一种织物,一个commit在各个分支之间串来串去。

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第3张

在这种情况下,不开放主分支,甚至于不保留commit历史都无所谓了,反正AOSP的commit历史已经接近于不可读了。

这样的软件,自然仍算是开源软件,因为协议是Apache 2.0,是开源协议。

我建议大家都阅读一下《大教堂与市集》(The Cathedral and the Bazaar)这本小册子,简单来说,这本书讨论了两张开源软件的开发模式

  • 教堂模型。定期发布新版本并放出源代码,但版本之间的代码只有一组专门的开发人员可以获得。早期的GNU Emacs和GCC都是这样开发的。
  • 集市模型。代码总是在互联网上可以获得,且公众可以参与开发。Linux内核是以这样的模式开发的。

这本书直接推动了网景开源其浏览器并启动Mozilla项目,而绝大多数人熟悉的开源项目实际上都是以Mozilla的模式开发的,因为不可能像Linux内核一样几乎没有公司主导,且完全去中心化,只以Maintainer作为管理者;也很难采用教堂模型这种在大家看来极不透明的方式进行。但尽管如此,教堂模型仍属于开源软件,只是大家可能不信任这样的模式了。


当然这些问题都是AOSP这个项目自己的管理问题,其他开源项目并没有这样的问题。我们可以看一下其他的巨型开源项目(代码量大于5千万行)的状况。

这是Google Chrome,目前最新版是M134

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第4张

这是我在Gentoo Linux上的chromium,同样的M134

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第5张

这个Chromium运行在musl libc之上,是Google不支持的平台。但是我可以移植到该平台,这就是开源的意义。

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第6张

Chromium也会tag测试版(beta, 目前是M135)和开发版(dev, 目前是M136)

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第7张

checkout任何一个tag,都可以编译出该版本的浏览器,包括beta和dev版。

以Chromium的下游Electron为例,Electron 35使用M134,但已经可以更新到Chrome没有发版的134.0.6998.179补丁版本,而Electron 36已经可以使用仍处于dev通道的M136版本。Electron的测试版也会定期发版,并通过GitHub release或者npm直接下载使用。

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第8张

Firefox从2011年开始学习Chromium的发版策略,快速飙版本号,不过由于MPL属于CopyLeft协议,定制Firefox的产品并不多,Thunderbird、Tor浏览器属于少数这样的产品。但Mozilla计划20多年以来,都是一小波被雇佣的开发者专职开发,外加工作可以使用Bugzilla等设施贡献代码。

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第9张

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第10张

我在Gentoo Linux上编译的Firefox正式版

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第11张

macOS上安装的Aurora通道

再看Webkit,他们只给正式版打tag,比如620.2.4是Safari 18.3对应的版本,但任何分支都可以编译,并在macOS或者iOS模拟器上让Safari运行自己编译的内核。此外webkit-gtk也为Linux桌面提供支持。

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第12张

然后看OpenHarmony,正式版是5.0.3.135

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第13张

这个版本是3月20日推送的

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第14张

对应的tag要更早,在2月26日

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第15张

OpenHarmony 5.0.3系列的下一个版本很有可能是5.1.0系列,目前最新版是5.1.0.101

Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?  第16张

OpenHarmony会定期给各个分支增加版本号,大家可以提前通过OpenHarmony的代码了解到未来的功能,以及开发计划,例如鸿蒙PC版的功能。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/04/12166.html

分享给朋友:

相关文章

我觉得华为Mate60Pro明明配置不高,为什么还是有那么多人买呢?

我也好奇啊,所以闲聊时,我问了我们公司的副总,我说Mate60pro配置这么拉胯你怎么还买啊? 他一脸疑惑的看着我,配置?什么配置?我这手机信号挺好的啊? 我们总经理用的是去年华为出的折叠手机,花了一万多,我也想问问他同样的问题,但奈何一直…

数字人民币为什么又不火了?

我完全不懂行。 我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。 我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。 我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百…

网易云音乐上看到过最触动的热评是什么?

网易云音乐上看到过最触动的热评是什么?

1. “昨天晚上洗澡的时候,我忘记拿毛巾了,喊了声妈妈帮我拿下毛巾, 正当我伸出左手准备接毛巾的时候,我愣了一下,又换了右手。” 希望你永远不会听懂这句话, 永远都不要懂。 ——网易云热评《关键词》 2. 小时候跟着父亲去城里卖西瓜,害…

用红米手机会很丢人吗?

前些日子遇到了一位快递小哥,京东的,签收 小哥年纪不算大,目测二十多岁 他的手机上全是一道道极严重的划痕,有点卡, 他开热点了,热点名就是手机型号,红米9a,我父母的同款 现在他那边操作了一会,然后又是我这边操作了一会 小哥看着我手机刷刷的…

为什么很多网友都说电脑用5年左右就该换了?

为什么那么说5年呢,因为你的散热器上堆积的灰尘,5年都不清理的话,会导致散热能力严重下降,硅脂也因为老化而无法做出有效的热传导。导致CPU过热只能降频运行。导致了你觉得卡。 还有固态,5年真也差不多了,会出现一些不坏不好的块,这些块会严重降…

计算机网络的基本原理是什么?

计算机网络的基本原理是什么?

一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN); 按照网络使用者:公用网络、专用网络。 1.2 计算机网络的层次结构 TCP/IP四层模型与OSI体系结构对比:…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。