前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >谷歌没有闭源,但正把安卓变得“能看不能摸”

谷歌没有闭源,但正把安卓变得“能看不能摸”

作者头像
深度学习与Python
发布于 2025-03-28 06:18:34
发布于 2025-03-28 06:18:34
1270
举报
编辑 | Tina

谷歌计划对开发新版 Android 操作系统的方式进行重大变革。

在许多人眼中,Android 的开源属性正是选择这款系统的关键理由之一——三星等 OEM 厂商通过对 One UI 等皮肤版本的代码进行自主调整;而密切关注 Android 动向的朋友则往往能从谷歌对 Android 开源项目(Android Open Source Project,即 AOSP)的公开变更中,发现关于操作系统即将推出新功能的种种迹象。

过去,正是因为 Android 实时开放源代码,才成就了全球数十亿台设备的庞大生态系统,并催生了移动互联网时代最具活力的创新模式。

然而,谷歌近日正式确认,从下周起,Android 未来的核心功能开发将转入内部闭环,仅会定期向 AOSP 推送阶段性成果,同时 AOSP 的更新频率也将放缓。

虽然谷歌一再强调不会封闭源代码,但这种悄悄地把技术控制在自己手里的做法,正在让本来开放的安卓生态系统越来越向谷歌靠拢,甚至进一步加强谷歌“一家独大”的局面。

谷歌进一步转向内部开发

谷歌已确认,未来所有 Android 的开发工作都将在其内部进行。

AOSP 是一个由谷歌维护的开源操作系统开发项目,任何人都可以自由访问、查看代码,并为项目贡献代码和修复。AOSP 包含了 Android 操作系统的核心组件,但并不包含谷歌及其合作伙伴开发的专有软件,例如谷歌移动服务(GMS)。GMS 包含了 Play Store、谷歌云消息推送框架、Chrome 浏览器、Google 搜索等应用。

Android 的一个显著特点是其版本多样性,这既是其优势所在,也偶尔带来挑战。例如,三星的 One UI 甚至谷歌自家的 Pixel UI,都在核心 Android 体验基础上进行了定制,加入了独特的功能和改进。这一切都得益于 AOSP 提供的通用基础操作系统。

除了对公众开放贡献外,Android 开源项目还允许根据开源许可自由使用和修改。亚马逊和三星等制造商可以自由地根据自身需求调整 AOSP,并开发出自己的衍生产品,例如完全不搭载谷歌服务的多功能 Amazon Fire OS。

这种开放性也为某些企业在受到贸易制裁后继续开发基于 Android 的 EMUI 和 HarmonyOS 之类的操作系统提供了可能。比如,华为在面临一些国际限制后,无法再获得 GMS 许可,但可以继续使用 AOSP,最终华为用 HMS 取代了 GMS 功能。也有观点认为,这等于华为可以继续使用 Android,但他们得不到谷歌的帮助。

值得注意的是,要让 AOSP 成为一款功能齐全的智能手机操作系统,往往需要进行大量调整——有时甚至是大规模修改。因为如果仅仅按照默认方式构建 AOSP 并将其安装到设备上,其功能远远达不到现代智能手机的标准。许多用户日常依赖的关键功能都将缺失,以至于运行纯 AOSP 几乎没有实际意义。

但如今谷歌决定将核心功能转入内部开发,可能会导致一些依赖 AOSP 进行定制的硬件厂商获取新功能的时间延迟,从而影响产品竞争力。此外,开发者社区可能无法再提前看到代码变更,使其难以及时适配和优化应用。

谷歌过去的做法是频繁更新公共 AOSP 分支,任何人都可以访问 AOSP,但内部分支仅对谷歌和拥有谷歌移动服务 (GMS) 许可证的公司开放,例如三星、摩托罗拉等。

此前,一些组件,如构建系统、更新引擎、蓝牙协议栈、虚拟化框架和 SELinux 配置,是 AOSP-first,即完全在公开环境下开发。

但从下周起,Android 的所有开发工作都将在谷歌的内部分支进行,只有当谷歌发布新的分支时,相关源代码才会对外开放。

这是 Google 使用的基于网络的代码审查系统 AOSP Gerrit 的屏幕截图。

谷歌承诺将继续发布新 Android 版本的源代码,比如在今年晚些时候发布 Android 16 时,外界还能继续获得更新的源代码。

此外,谷歌将继续发布 Android Linux 内核分支的源代码,因为它是根据 GPLv2 授权的,该授权要求发布源代码,并且与 AOSP 是分开的。

AOSP 之前是基于 Apache 2.0 许可证发行,尽管谷歌也表示会继续 release 源代码,且一再强调这并非闭源,但对于谷歌将开发转为 private 的行为,有网友评论说,“如果一个项目依赖于一家公司进行持续开发,那么开源许可证就没有任何意义。”

另外,也有人提到 OpenSolaris 的悲剧性转折,这是由 Sun Microsystems 基于 Solaris 创建的开源操作系统,在 2010 年甲骨文收购了 Sun Microsystems 之后,OpenSolaris 便停止了自主开发。

当时,OpenSolaris 也是宣布“我们将不再实时发布整个 Solaris 操作系统的源代码”。但从那一刻起,源代码就再也没有公开过。

当年甲骨文的决定彻底冰封了开源生态,而今 Android 似乎也正沿着相似的轨迹滑行,因此也有网友认为,对于 Android 来说,最终的目标很可能是仅满足最低限度的开源要求,只发布那些受 Copyleft 约束、谷歌不拥有版权的代码,直到这些组件被封闭的替代方案取代。

谷歌对 Android 的铁腕统治:封闭是一步步发生的

如今,Android 的开发方式正逐渐转向更加私有化,这并非一蹴而就的变化。回望过去,Android 的发展历程与最初的开放姿态有着显著的不同。

十八年前,也就是 2007 年 11 月,Android 开放源代码项目(AOSP)正式发布。就在几个月前,第一代 iPhone 问世,迅速引起轰动,开启了现代智能手机时代。当时,谷歌预见到苹果可能在移动领域占据主导地位,而谷歌自身在该领域尚无立足之地。为了对抗 iPhone,Android 作为开源项目应运而生。

在 AOSP 成立之初,谷歌大力支持开源应用的开发,这些应用与免费的 AOSP 捆绑在一起。这种策略在当时是合理的,通过为 AOSP 投入开发精力和资源,谷歌在随后的几年里成功地大幅提升了基于 Android/AOSP 设备的市场份额。

Android 拥有了庞大的用户基础,也意味着其拥有海量的应用程序。如果一家公司选择分叉 Android,那么这个操作系统本身就与数百万个应用程序兼容。该公司只需建立自己的应用商店,并将所有应用上传即可。理论上,几乎在一夜之间,你就能拥有一个拥有大量应用程序的非谷歌操作系统。

因此,一个成功的替代 Android 版本,将是对谷歌主导地位的真正威胁。谷歌也一直在采取措施防范这种替代品的出现。

谷歌意识到需要对其公共源代码拥有更多的控制权,毕竟更少的开源代码意味着 Google 的竞争对手需要做更多的工作。

随着时间的推移,谷歌将 Android 功能从 AOSP 转移到闭源软件包中。例如,谷歌用自家的闭源版本取代了 AOSP 版的日历和消息应用,并在此过程中停止了对开源版本的维护。由于谷歌是这些应用的主要开发者,这一变化实际上扼杀或极大地阻碍了这些应用的开源 AOSP 版本的开发。

这些举措同时也让更新核心组件变得更加容易,而无需进行完整的操作系统更新。

Android 的所有重要且实用的部分早已被迁移到闭源组件中。结果就是,Android 变成了一座庞大的“开源”代码库,但缺少了让其真正运行所需的关键部分。AOSP 已经成为它过去形态的“空壳”,并且正逐步被进一步掏空。如今,Android 正在从“集市”模式转向“教堂”模式(指由开放开发变为封闭开发)。至于谷歌何时会发布“新版本”的 AOSP 源代码,谁也说不准。

我希望他们干脆把 Android 变成闭源,并尽可能地为股东赚钱——毕竟,这才是他们的职责。他们为什么还要免费提供这个系统?他们已经通过宣称开源、建立社区成功占领了市场,现在只需要让它变成专有软件,而旧的开源版本会逐渐衰落、变得不稳定。然后,他们就可以像微软那样,对操作系统收费——但这次是在手机上,对数百万、甚至数十亿台设备收费,$$$$$。(显然我并不认同这种做法)。

目前,大多数 Android 开发都在内部分支中进行,但少数组件(如蓝牙和内核)是在公开分支中开发的。在新系统下,它们将转移到内部分支。

这一变化无疑将使谷歌团队的开发工作更加轻松,但它可能会限制我们在新版本正式发布之前对 Android 的了解程度。有时,AOSP 中出现的花絮可能会指向即将推出的设备、功能删除或应用程序支持的变化。

我们可能再也无法获得这些见解,因此,在谷歌推出不受欢迎的更改之前,开发者和用户将没有那么多机会挑战谷歌

根据谷歌的说法,他们做出这一改变是为了简化流程,并借鉴了最近对基于主干的开发所做的改变。

由于谷歌同时长期维护着两个独立 AOSP 分支——一个为公共分支,一个是内部分支。任何人都可以查看公共分支,但只有谷歌自身、Android OEM 厂商乃至其他签订了谷歌移动服务(GMS)许可协议的企业才能访问到内部版本。这两个分支在功能和 API 支持方面并不同步,这迫使谷歌不得不在每次发布时都费力地合并分支。谷歌声称,通过专注于内部分支,它可以简化发布流程,让每个人的工作都更轻松。

AOSP 专家 Mishaal Rahman 指出,AOSP 的大部分开发工作都是由谷歌在内部完成的。就是说哪怕是在此番正式变更之前,更新主体也一直只会出现在内部分支上。第三方可以向公共分支提交代码变更,但谷歌保留在确定 Android 新版本并发布源代码之前,拒绝一切此类变更的最终决定权。

总的来说,无论是在今天的新闻发布之前还是之后,以上事实均保持不变。公共 AOSP Gerrit 仍然可用,第三方提交结果也依旧公开可见。谷歌也将继续发布最终源代码——只是在开发过程中,该公司将大部分 AOSP 变更由原本的闭门开发正式定性为不公开进行。

AOSP Gerrit

根据 Rahman 的解释,这一变化主要是为了帮助谷歌内部团队提升效率。以往,在公共 AOSP 分支与单独的内部兴建和管理开发进度,往往会产生大量不必要的开销。

由于 AOSP 的公共分支往往落后于内部版本,所以在需要将二者的代码进行合并时,谷歌工程师们经常会遇到合并冲突——不同代码版本间的冲突往往需要耗费额外时间和精力方可解决。

通过将所有活跃开发工作转移至内部分支,谷歌认为此举可以消除上述冲突并简化其工作流程。值得注意的是,这并不意味着公共 AOSP 代码仓库会由此消失——谷歌将继续在公共分支中发布最终源代码,第三方也仍可以通过公共 Gerrit 提交贡献。总而言之,此番调整只是正式确定了谷歌工程师在开发周期中该在哪里进行日常编码。

Android 开源项目仍然非常活跃

至少从功能角度来看,此举造成的最大问题,就是为 AOSP 贡献代码的第三方开发者可能将难以跟踪 Android 即将迎来的变更。这可能会阻碍开发者们的持续贡献热情,因为谷歌在内部也许正在进行同样的开发与探索。

此前还有报道说,谷歌近期正在转向 Trunk Stable 开发流程(即所有人为同一代码版本做贡献,确保谷歌能够更快、更稳定地构建整个系统),希望借此加快 Android 的发布速度——特别是打算将今年年内的 Android 16 时间表尽量提前。

参考链接:

https://www.androidauthority.com/google-android-development-aosp-3538503/

https://news.ycombinator.com/item?id=43485950

https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/

声明:本文为 InfoQ 整理,不代表平台观点,未经许可禁止转载。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
每月50次的限制
每月50次的限制
11点赞举报
昨天晚上我也看见了,当时太晚了就睡了,今天打开网页看这一条又删掉了。
昨天晚上我也看见了,当时太晚了就睡了,今天打开网页看这一条又删掉了。
回复回复点赞举报
推荐阅读
【CodeBuddy】编程最佳搭子,10分钟手搓网页版2048小游戏
在以前,我们通常是一个屏幕写代码,一个屏幕看文档,剩下的地方看预览,而看文档的这个屏幕压力最大:数十个标签页杂乱堆砌,代码写得正爽呢忘记了某个API用法,又得切回浏览器一个个找,去必应一个个搜......
Ar-Sr-Na
2025/05/12
900
中国版Cursor | 我用CodeBuddy Craft 3分钟复刻NFC经典游戏
做为一个懒人程序员,从AI迅速发展开始就一直在寻找能够替代码农编码的AI工具。从最早的GitHub Copilot,到CodeGeeX,再到Bito。紧接着后面的Cursor,Trae等等。技术生态发展之迅猛,让牛马们直呼学不完。
有一只柴犬
2025/05/13
1731
中国版Cursor | 我用CodeBuddy Craft 3分钟复刻NFC经典游戏
前端开发的春天!腾讯云CodeBuddy+Figma MCP快速还原设计稿
大家好,我是星哥,之前介绍过什么是MCP,在本地配置MCP今天继续介绍使用腾讯云CodeBuddy+Figma MCP快速还原设计稿。
星哥玩云
2025/05/16
300
前端开发的春天!腾讯云CodeBuddy+Figma MCP快速还原设计稿
AI 编程神器 CodeBuddy 体验报告:对话式开发 + 智能补全,真香!
在当今 AI 技术蓬勃发展的编程领域,各类智能编程工具不断涌现,为开发者们带来了全新的编程体验。腾讯云推出的 CodeBuddy 便是其中一款极具创新性的工具,它凭借强大的功能和出色的性能,在众多编程辅助工具中脱颖而出。
架构师精进
2025/05/13
1820
AI 编程神器 CodeBuddy 体验报告:对话式开发 + 智能补全,真香!
CodeBuddy优雅入场!没有最强只有更强
在代码的世界里,键盘的敲击声曾是开发者思维的唯一外化,而今,一种新的“协作旋律”正在改变这一切,AI代码助手正从工具进化为开发者的“第二大脑”。从自动补全一行代码到理解项目全局逻辑,从生成测试用例到优化算法性能,这些智能助手不仅让编码效率呈指数级提升,更在重塑软件开发的本质:当机器学会“理解”需求、“创造”代码,甚至预判错误,程序员的角色正从“码农”蜕变为“架构师”。
闫同学
2025/05/13
2222
【人工智能】自然语言编程革命:腾讯云CodeBuddy实战5步搭建客户管理系统,效率飙升90%
在代码量激增、技术迭代加速的今天,开发者面临两大核心挑战:效率瓶颈与质量风险。腾讯云代码助手CodeBuddy通过AI重构开发流程,为开发者提供三重核心价值:
蒙奇D索隆
2025/05/13
1251
【人工智能】自然语言编程革命:腾讯云CodeBuddy实战5步搭建客户管理系统,效率飙升90%
CodeBuddy腾讯云代码助手:我的首席编程搭子
在编程的世界里,一个得力的助手往往能让我们的工作事半功倍。最近,我有幸体验了腾讯云推出的CodeBuddy代码助手,这款工具不仅集成了众多实用的功能,更在最新升级中引入了全新软件开发智能体Craft、国内首个支持MCP(Multi-Cloud Portability,多云可移植性)的代码助手等创新特性。接下来,我将分享我的使用体验,以及CodeBuddy如何成为我工作中的首席编程搭子。
熊猫钓鱼
2025/05/08
3160
CodeBuddy腾讯云代码助手:我的首席编程搭子
腾讯云代码助手CodeBuddy初体验
大模型的应用如火如荼,辅助编程是其中一个很适合大模型发挥的场景,通过交互提供给开发人员编程相关的辅助,降低了开发门槛,解放劳动力,当然这是双刃剑,生成的代码是否安全可靠,需要格外关注。
bisal
2025/05/13
1940
腾讯云代码助手CodeBuddy初体验
半小时快速入门Spring AI:使用腾讯云编程助手CodeBuddy 开发简易聊天程序
随着人工智能(AI)技术的飞速发展,越来越多的开发者开始探索如何将AI集成到自己的应用中。人工智能正在迅速改变各行各业的工作方式,从自动化客服到智能推荐系统,AI的应用几乎无处不在。Spring AI作为一种开源框架,提供了强大的功能,使开发者能够轻松集成AI到Spring Boot应用中。结合腾讯云编程助手CodeBuddy的帮助,开发者不仅可以大幅度加快开发速度,还能减少常见的开发错误。CodeBuddy通过自动化代码生成和错误提示,特别适合那些对AI技术感兴趣却又没有太多开发经验的用户。
努力的小雨
2025/05/13
1910
程序员福音!CodeBuddy Craft智能体,一行代码没写就下班?
“我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:
Lion 莱恩呀
2025/05/02
2051
程序员福音!CodeBuddy Craft智能体,一行代码没写就下班?
手把手教你如何利用CodeBuddy编写属于自己的AI助手
接下来就和大家介绍这款代码助手的神奇之处吧,据说腾讯云代码助手(CodeBuddy)是腾讯自研的AI编程提效工具,凭借腾讯混元与 DeepSeek 混合模型,专为开发者打造。CodeBuddy不仅支持200+编程语言、兼容多种主流IDE,是国内首个支持 MCP 的代码助手,还为开发者提供开发智能体 Craft、智能代码补全、单元测试、代码诊断等多项高效功能,帮助开发者在编码过程中节省时间、提升效率。目前腾讯内部 85% 以上的开发者已使用 CodeBuddy,编码时间平均缩短 40% 以上,AI生成代码占比超四成,研发效率提升超 16%。
芯动大师
2025/05/14
840
手把手教你如何利用CodeBuddy编写属于自己的AI助手
中国版 Cursor---腾讯云 CodeBuddy | 从安装VSCode到数独小游戏问世
在正文开始之前,先引入一下故事背景:其实,自己最初选择编程行业,也是想自己开发一个小游戏啥的,主要是为了娱乐。没想到进入了编程行业之后,就变成了后端Java 开发者,虽然可能和自己期望的有点差距,但是在Java 语言行业待久了,也就习惯了。只是心里对于做一个小游戏的念想一直还在。恰逢中国版Cursor—- 腾讯云CodeBuddy 来了,对于小游戏的实现也看到了曙光,下面闲话少说,先来介绍一下我们今天的主角。什么是CodeBuddy?
六月的雨在Tencent
2025/05/13
3480
揭秘 CodeBuddy:全方位测评后,我愿称它为开发者 “梦中情辅”
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
Undoom
2025/05/12
1520
中国版Cursor:CodeBuddy腾讯云代码助手使用体验
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴”
卷福同学
2025/05/14
4330
中国版Cursor:CodeBuddy腾讯云代码助手使用体验
中国版 Cursor:CodeBuddy
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
程序员NEO
2025/05/13
1830
中国版 Cursor:CodeBuddy
三句话让CodeBuddy给我写一个MC MOD!堪称中国版 Cursor!
众所周知~我是个超级MC迷。其实早就想做一个属于自己的模组了,但是一直没时间学Java,也不知道怎么下手,所以就一直拖着。
MGS浪疯
2025/05/13
1450
三句话让CodeBuddy给我写一个MC MOD!堪称中国版 Cursor!
中国人自己的Cursor?腾讯CodeBuddy从零打造家庭相册
大家好,我是星哥,作为一个二手的高级程序猿,五一出去游玩跟家人的照片想要做个一个web页面分享给家人,今天就用出品的腾讯云代码助手(CodeBuddy)一行代码都不用自己写,看能不能实现的我小愿望。
星哥玩云
2025/05/13
1000
中国人自己的Cursor?腾讯CodeBuddy从零打造家庭相册
当代码有了灵魂:一名全栈工程师的CodeBuddy手记
本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
熊猫钓鱼
2025/05/17
00
CodeBuddy终极测评:中国版Cursor的开发革命(含安装指南+HTML游戏实战)
腾讯云CodeBuddy是一款基于混元大模型和DeepSeek双引擎的AI编程辅助工具,提供智能代码补全、端到端代码生成和企业级功能。其核心优势包括中文SQL优化、Figma设计稿转代码等特色功能,支持VSCode等IDE快速安装。通过实战案例展示了从需求到代码生成的完整流程,并具备代码翻译、性能优化和团队协作能力,在格式化、代码重构等场景下表现优异,是提升开发效率的强力助手。
海拥
2025/05/13
2511
文科生0基础使用Codebuddy,生成“哆啦A梦”机器人产品介绍网站
“我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴”;
Vivitalk
2025/05/11
1621
文科生0基础使用Codebuddy,生成“哆啦A梦”机器人产品介绍网站
推荐阅读
相关推荐
【CodeBuddy】编程最佳搭子,10分钟手搓网页版2048小游戏
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档