News Hacker|极客洞察

228 183 天前 grapheneos.social
🙄Google 两个月后才开源 Android 16 QPR1:自定义 ROM、许可争议与欧盟法规影响
开源迟到两个月,就是要优先保护大厂利益吗?

🎯 讨论背景

Google 已经把 Android 16 QPR1 的二进制更新下发到其 Pixel 参考机型数月,但 AOSP userspace 源码直到两个月后才公开,社区因此关心移植与构建的影响。内核代码大多受 GPL 约束,通常会按时发布;而 userspace 很多是宽松许可或私有,厂商没有同样的法定义务发布源代码。讨论中夹杂许可哲学(GPL vs MIT)、法律实践(GPL 的分发义务)以及欧盟一项被引用的法规条款,该条款将安全/功能更新的法定时限与“源代码公开或厂商发布二进制”两种情形关联,进而被认为会影响厂商何时公开补丁。第三方 ROM(如 LineageOS、GrapheneOS)开发者因此在技术与法规双重约束下调整发布与移植策略。

📌 讨论焦点

对自定义 ROM 与设备支持的实际影响

Android 16 QPR1 早在数月前以二进制形式下发到 Google 批准的 Pixel 设备,但 AOSP userspace 的源码直到现在才公开,这直接影响到第三方 ROM 的移植节奏。像 LineageOS 等团队此前只能基于更早的 QPR0 工作,源代码发布后才能开始针对 QPR1 构建和适配。评论还指出内核(GPL 代码)通常按时发布,而 userspace 的延迟发布正是阻碍像 GrapheneOS 等项目尽快支持新设备(例如 Pixel 10)的关键因素。社区因此将二进制先行、源码滞后视为对第三方维护者的实务性阻碍。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]

许可与开源哲学争论(GPL vs MIT/宽松许可)

讨论集中在公司倾向采用 MIT/宽松许可以便保留闭源或专有派生的自由,而 GPL(尤其内核的 GPLv2)被认为是促成厂商发布内核源码并支持定制 ROM 的重要原因。有人举例 GPLv3 会对产品化施加额外限制(如要求提供修改后可安装的方式或签名密钥),因此企业避开 GPLv3;同时律师和法务对 copyleft 与版权法交互的复杂性也更谨慎,促使公司偏好 MIT/Apache 等更简短、法律风险更可预见的许可。评论中还引用了 FreeBSD/商业闭源派生、D‑Link 诉讼等现实案例说明许可选择会直接影响厂商是否上游提交改动与社区受益。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8]

谷歌延迟开源的动机争议与欧盟法规影响

部分评论认为谷歌是出于懒惰或故意延缓开源以削弱第三方 ROM;另一部分则把原因指向欧盟新法规(评论引用 EUR‑Lex 文本),该法规把安全更新与功能更新的义务与“源代码公开或厂商发布二进制”两种情形的时限(安全 4 个月、功能 6 个月)挂钩,导致厂商通过保密/embargo 来控制何时触发时限。被提及的具体后果包括:为了不提前启动对 OEM 的强制更新时间表,Google 可能选择先发闭源补丁或先在 Pixel 推送二进制,再择机开源,GrapheneOS 的相关留言也被引用为证据。也有评论反驳说法规与延迟无直接因果,或认为该法规反而是遏制厂商拖更的好事,显示社区对法规作用有明显分歧。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7]

法律合规与是否违反 GPL 的疑问

不少人问谷歌在这两个月里是否违反了 GPL 条款;回复指出 Android 的大部分 userspace 并非 GPL,因此公开延迟 userspace 并不必然构成违反。内核部分受 GPL 约束,通常会按要求发布内核树或在用户请求时提供源代码;评论也提到根据 GPL,厂商在分发修改后的 GPL 代码时必须提供源码(或提供获取源码的方式),但实践中执法和诉讼(以及跨司法管辖区的可行性)决定了合规的风险与成本。亦有指控称 Google 有时也违反 GPL、以及关于“是否要向用户提供源码”的具体法律细节仍存在争议和灰色地带。

[来源1] [来源2] [来源3] [来源4] [来源5]

发布流程与代码托管工具的变化

技术层面社区注意到代码查看与发布的通路:Google 仍在使用 Gerrit 进行代码审阅,但 cs.android.com(Android Code Search)被用作代码树与文件内容的浏览界面。历史上 AOSP 源码常在发布后立即下放,但评论指出近几年尤其是 userspace(例如应用层)部分经常处于“悬而未决”的状态,自 Android 12 起就有滞留现象。这种流程与工具的变化让外部维护者难以按以往节奏同步并对新版本进行及时适配。

[来源1] [来源2] [来源3] [来源4] [来源5]

📚 术语解释

AOSP: AOSP(Android Open Source Project):Android 的开源代码基础与发布树,包含内核关联、framework 与部分用户空间组件,第三方 ROM 常以 AOSP 为上游源码构建和移植。

QPR1: QPR1 (Quarterly Platform Release 1):Android 的季度平台更新之一,包含功能改进和安全修复。本次指 Android 16 的 QPR1,评论中提到二进制先行、源码滞后。

device tree(设备树): device tree:为特定设备描述硬件拓扑与内核配置的代码/元数据,通常每款手机单独维护且厂商常不公开,缺失会阻碍第三方 ROM 在新硬件上工作。

binary blobs(闭源二进制): binary blobs:芯片厂商或 OEM 提供的闭源驱动/固件二进制文件,无法编译或审计,第三方 ROM 常需提取运行时 blobs 或依赖厂商提供的二进制接口。

Gerrit: Gerrit:一个代码审阅与变更管理系统,Android 项目长期使用;cs.android.com 是 Google 的 Android Code Search 浏览界面,用于查看代码树和文件内容。

custom ROM: custom ROM(自定义 ROM):社区或第三方替代厂商系统的 Android 镜像(例如 LineageOS、GrapheneOS),通常用于延长设备寿命、提高隐私或去除厂商捆绑,但高度依赖厂商源码、device tree 与 blobs。