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

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

卡卷网1年前 (2025-04-02)每日看点296

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

分享给朋友:

相关文章

普通人一部手机用多久?

普通人一部手机用多久?

各位知友,你们的现在的手机用了多久了呢? 回看国外分析机构 TechInsights的报告,目前大家的用机周期是越来越长了,在国内,也达到了「40个月」,就是很多人至少三年半才会换一次手机。 仔细想想,不对呀,现在新机不是一直出吗?…

PS有哪些实用小技巧,小白也能一学就会?

PS有哪些实用小技巧,小白也能一学就会?

不看后悔系列!本篇分享25个PS实用的技巧! 不能保证每个都能让你惊艳,但是却是我用心写出来的,希望对你有帮助。 另外我的知乎也写了接近200篇PS的技巧,超级合集分享! 我目前正在带一个PS/Ai的软件训练营,两个多月搞定两大软件的学…

腾讯文档回收站彻底删除文件真的找不回来了吗?

趁早打电话联系腾讯文档的人可能还有救,一般这种都是数据库里标记为删除,文件还没有实际删除,然后经过一段时间后程序统一进行真删除。这个“一段时间”可长可短,可能是一小时也可能是几天几个月甚至几年,要看腾讯服务器的程序是怎么写的。 不过你联系腾…

只有我一个人后悔升级鸿蒙next吗?

只有我一个人后悔升级鸿蒙next吗?

我有一台mate 60 pro,第一时间升级了“纯血鸿蒙”。 虽然功能并不完善,甚至有些简陋,但是我非常~非常不后悔升级鸿蒙next系统。 因为.... 这就是一款“大型养成系游戏“,给我平淡的生活提供了源源不断的情绪价值。 我每天特别…

如何看待台积电,三星相继停供大陆7nm及更先进芯片?

在这个事出来之前,我就看到过一个说法,两家Foundry可以在中东建厂,让中东的Fab去干“脏活”。本质上是国内企业搞几个中东的代理人,装作是中东的初创Fabless企业去下单,人家Foundry大概率睁一只眼闭一只眼,只管数钱。然而,紧接…

为什么闲鱼越做越差?

理想的闲鱼:卖家视角:4000块钱买的手机,用了半年不想用了,挂一个3000块,和买家一顿交流,最后2500块成交,我得到了回血,买家得到了便宜; 买家视角:想用一台4000块的手机,但是手里只有2500块,来到闲鱼和卖家一顿交流,最后25…

发表评论

访客

看不清,换一张

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