引子:两个看起来无关的发现

本周的信号库里有两条线索,起初被分开记录。

第一条在 Linux 内核。2026 年 10 月 14 日,内核正式 deprecate 了 Assisted-by: 这个提交标签——理由很干脆:它不携带信息(Assisted-by: LLM 这三个字母里没有工具名、没有模型名、没有版本)。可两周后去数,还有 499 条这样的提交进了主线,其中 298 条写着 Assisted-by: LLM。

第二条在 Asahi Linux。11 月 7 日的进度报告里,这个把 Linux 移植到 Apple Silicon 的项目宣布:全仓库转向 GPL-2.0-or-later。理由是对手拿走了他们还在开发中的代码,有时直接用 LLM 改写一遍以掩盖来源。他们把那句老话原样搬了回来:「不吸取历史教训的人注定重蹈覆辙」,并自比 2002 年从 MIT 转向 LGPL 的 WINE。

一条讲标签失效,一条讲许可证收紧。看上去是两件事。

这篇文章想说的是:它们是同一件事的两个侧面,而那件事的名字叫执行层。


一、先把分母补上:上周的一个结论被推翻了

上周的复盘里有一个判断:强制披露的 nixpkgs 每周约 250 条,不强制(已弃用)的内核约 143 条,「相差不到一倍」,所以规则的作用有限。

这个算法有一个致命缺陷:它比的是绝对条数,而两个仓库的规模完全不同。

这周把分母补上了——同一个搜索器、同一口径,逐月取两个数:全部 commit 数(分母),带 Assisted-by: 的 commit 数(分子)。

Linux 内核(torvalds/linux,已弃用标签)

月份全部 commit带 Assisted-by:披露率
2026-047,4291431.92%
2026-059,1173483.82%
2026-069,1916927.53%
2026-0710,9748948.15%
2026-089,1809149.96%
2026-0912,2471,86815.25%
2026-1010,7011,77316.57%
2026-11(至 9 日)804769.45%

nixpkgs(强制要求 Assisted-by:,政策首版 2026-04-18)

月份全部 commit带 Assisted-by:披露率
2026-0918,0494052.24%
2026-1025,4391,2765.02%
2026-11(至 9 日)5,0802224.37%

结论反转:

不强制的那一方,披露率是强制那一方的 3.3 倍。

原来「相差不到一倍」的幻觉,全部来自分母差异——内核 10 月 10,701 次提交,nixpkgs 25,439 次。分子相近,分母差了三倍,比率就差了三点三。

这就是我一直在强调的那件事:没有分母的计数,会把结论算反。


二、真正驱动披露的,是披露对谁有好处

补上分母之后,时间序列本身开始说话。

内核的那一列:1.92% → 3.82% → 7.53% → 8.15% → 9.96% → 15.25% → 16.57%。

这条曲线是在什么规则下长出来的?一条从未要求过它的规则之下。 内核从来只说「AI 参与的代码要说明」,从未强制过具体格式;10 月 14 日之后连「要说明」都撤了。而披露率一路走高到 16.57%——七月一个月的披露量,比四月到六月加起来还多。

它跟着的不是规则,是 AI 的使用率。

再看 nixpkgs:政策从 4 月 18 日就生效,PR 模板有必勾的复选框,issue 模板有 required: true 的声明项——三重执行面。它的披露率是 5.02%。而它 9 月到 10 月的跳变(2.24% → 5.02%),恰好落在 core team 解散与 SC 选举期间。

一个政策齐备的仓库,披露率是另一个没有任何政策要求的仓库的三分之一。 而政策齐备那一方的变化,看起来更像治理动荡期的记录行为改变,而不是政策生效。

这两件事合起来只能推出一个判断:

人们写披露标签,不是因为被要求,是因为写了对他们有用——那是免责声明。 规则能改文档,改不了动机。


三、内核取消标签,取消错了对象

内核 deprecate Assisted-by: 的理由是站得住的:这个标签不携带信息。Assisted-by: LLM 不告诉你用了什么工具、什么模型、什么版本——它只是一句「我认了」。相比之下 nixpkgs 强制要求的格式带工具名与模型版本,样本里是 Assisted-by: Antigravity (Gemini 3.8 Flash high)。

但「不携带信息」和「不该披露」是两件事。

内核选择的是一个会同时干掉两者的动作:为了让标签变得有意义,它把披露本身取消了。结果是——我数到的数据里,内核的披露率达到了所有被统计仓库中的最高值,且其中六成是那种它认为没有信息量的写法。

要限制的是标签的格式,不是披露这件事本身。 一个制度文本写得对不对,和它会不会被执行,是两个完全独立的问题。


四、另一条线:Asahi 把许可收紧,为什么是「回到 2002」

转到第二条线索。Asahi Linux 的声明原文很克制,但指向明确:

「有些极端情形里,还在开发中的功能代码被直接从我们的个人 fork 里拿走,未经署名就发布,或者用 LLM 辅助草草改写以掩盖其来源。MIT 许可证明确允许这样做,且没有任何条款保护自己免受恶意行为者。」

于是全仓库转向 GPL-2.0-or-later,并自比 WINE——2002 年,WINE 从 MIT 改为 LGPL,理由与今天一字不差:宽松许可的项目被科技公司当作「免费的地产」来收割,专有 fork 一度被公开售卖,开发团队担心碎片化最终会让 WINE 本身不可存活。

二十四年,同一套动作,同一套理由。

这里有一个必须写清楚的对照:本库这一周记录的七个项目级 AI 治理样本——nixpkgs、Yocto、Sigstore、Godot、RADV、MicroZig、QGIS——约束的全是提交行为(谁能提交、怎么披露、谁签核)。没有一个是许可变更。 Asahi 是第一个。

它意味着 AI 治理的维度裂开了:

  • 前一个维度是准入:谁可以提交、怎么披露、由谁签核;
  • 新出现的维度是产权:拿走了怎么办。

这两个维度不能用同一套工具处理。 准入用流程,产权用法律。而法律这条路上,本周我还找到了两份此前没有的第三方材料。


五、第三方证据:法务机构开始为「AI 时代的互惠」立项

上周这一条的最大弱点,是 Asahi 的指控只有当事人陈述。这周补上了两份独立首手材料。

第一份:Software Freedom Conservancy 的《LLM-gen-AI 建议》(14 条,按重要性排序)。它的第 8 条之后讨论生成物的法律意义,而最值得记的是结论方向:

copyleft 是 AI 时代最安全的选择。 SFC 将派员参与 copyleft-next 项目,为 LLM-gen-AI 输出设计一款合适的许可证。

请注意这句话的分量:它不是一个项目的抗议,是一个法务机构在制度层面立项。当一场争论还停留在「谁对谁错」时,它不会产生新许可证;一旦有人开始写新许可证,它就已经进入了制度建设的阶段。

SFC 还给了另一条更实用的建议——第 5 条:

「FOSS 项目负责人无法对 LLM-gen-AI 政策做出好的决定,如果他们无法调查哪些贡献受到协助、协助到什么程度。贡献流程至少应当包含:使用了哪个系统、其版本、以及如何协助的简要描述。这些信息应以机器可读的格式写入提交日志。」

「机器可读」「写入提交日志」——这六个字,恰好是内核当年用 Assisted-by: 想做、却因为「标签不携带信息」而放弃的事,也是 nixpkgs 用强制勾选在做、却只有 5% 披露率的事。

三份文件在同一个问题上给了三种层级的手段:内核是删除,nixpkgs 是强制,SFC 是工具化。

只有第三种不依赖人的诚实。

第二份:FSFE 的版权分析(2026-08-25,《Can we license “vibe code” into Free Software?》)。它给出一条法律原理链,而且这条链对「copyleft」是双刃的:

  1. 版权只保护人的创造性实现(idea-expression 二分法);
  2. 只有自然人可以是作者;
  3. 纯 LLM 生成物没有人类作者,因此不可版权,默认进入公有领域;
  4. 既然不可版权,那么没有任何人可以给它附加许可——包括 copyleft。

第 4 条是关键。copyleft 的前提是「有版权可行使」。如果那一部分代码根本没有版权,copyleft 在那里就无牙可用。

所以主题 B 的核心论点必须做一处分层修正,这一点我上周写错了:

  • copyleft 拦得住的是「拿走了却不说」——就 Asahi 的情形而言,被拿走的是有人类作者的上游代码,LLM 改写只是掩盖手段,这完全在 copyleft 的射程内;
  • copyleft 拦不住的是「生成物本身没有作者」——那是 FSFE 讲的情形,法律上无从附着。

两者不矛盾,但绝不能混为一谈。修正后的表述是:copyleft 是「归属可执行化」,不是「反 AI」。


六、两条线在这里汇合

把两条线索摆在一起,会发现它们回答的是同一个问题:

当生产的主体从人变成了「人 + 模型」,制度该把记录的责任放在哪里?

内核的答案是:不要这个责任(取消标签)。 nixpkgs 的答案是:让人来承担(强制勾选,5% 达成)。 SFC 的答案是:让机器来承担(机器可读、写入提交日志)。 Asahi 的答案是:让法律来承担(收紧许可,把归属做成可追责的入口)。 FSFE 提醒:如果生成物没有作者,法律也无处附着。

五种答案,其实是两个层级:

  • 记录层:谁用了什么、用到什么程度。这一层必须落在工具链上,落在人的自觉上就会失效——内核 16.57% 与 nixpkgs 5.02% 的对比就是明证。
  • 归属层:记录下来的东西归谁、能不能被强制。这一层必须落在许可证上——而 copyleft 是唯一在这一层还有入口的选择。

记录做得好,归属才有对象;归属可执行,记录才有意义。 缺任何一半,另一半都会退化成形式。

这恰好接上适兕一直在说的那句:copyleft 不是道德姿态,是互惠的外化。 在复用成本趋零、改写成本也趋零的条件下,互惠要还能成立,只有一条路——把「这是谁写的」重新变成一件必须被记录、且记录可被追责的事。


七、七周无 verified 之后,第一次升级

本库连续三周没有信号升到 verified。这一周升了两条,而两条升级的原因完全一样:补上了原来缺的那一半。

主题 A 缺的是分母。补上分母之后,「规则与披露率无关」从一句判断变成了可复算的结论,而且方向被反转——这个反转本身就是方法论的证据:没有分母的计数会把结论算反。

主题 B 缺的是第三方。补上 SFC 与 FSFE 之后,它从「一个项目的自述」变成了「法务机构的立场 + 法律原理的边界」。

而这两条升级共同指向的东西,比它们各自都重要:

在一个规则可以随时修改、标签可以随时弃用、许可可以随时迁移的生态里,唯一稳定的变量是「责任落在谁身上」。 落在人身上,就会随人的动机波动;落在工具上,才会稳定。

这是本周唯一一条我认为值得写下来的判断。它不关于 AI,它关于制度设计时到底该相信什么。

视角:一个视角,不是定论。


附:数据与来源

  • 内核与 nixpkgs 披露率:GitHub commits search API,repo:<X> committer-date:a..b 与 repo:<X> "Assisted-by:" committer-date:a..b 同口径逐月取数,2026-11-09 复算。两条分母均含 merge commit 与 backport,故为一致估计而非精确的「AI 代码占比」;分子受 search 全文匹配影响,已抽样确认 trailer 形态存在。可用于项目间横向比较与同一项目的时间序列,不可外推。
  • 内核 deprecate:1e035297ff(2026-10-14,“docs: remove Assisted-by references”);同期 90d9f76ccb 新增 AGENTS.md symlink。
  • Asahi:《Progress Report: Linux 7.3》,2026-11-07,asahilinux.org/2026/11/progress-report-7-3/。
  • SFC:Recommendations When Using LLM-backed Generative AI Systems for FOSS Contributions,sfconservancy.org/llm-gen-ai/。
  • FSFE:Copyrightability of LLM-generated code: Can we license “vibe code” into Free Software?,2026-08-25,fsfe.org/news/2026/news-20260825-01.en.html。

关于作者

「开源之道」·适兕

「发现开源三部曲」(《开源之迷》,《开源之道》《开源之思》。)、《开源之史》作者,「开源之道:致力于开源相关思想、知识和价值的探究」主创,Social Hacker,协作机制设计者。

「开源之道」·窄廊

来自于大语言模型的 AI 助手(如 Gemini 3.1 Pro 等),「开源之道」·窄廊 负责高密度的逻辑推演与文本具象化,在对话中作为镜像与反弹板,提出问题、提供理论切入点并对推演进行反馈。仅偶尔进行双重验证!