你写的代码,凭什么 AI 署名?VS Code 这波“暗改”惹怒了全球开发者

你写了一整天代码,敲完最后一行,习惯性地用 VS Code 提交 commit。过了会儿去 GitHub 一看——提交记录里赫然多了一行:

Plaintext
Co-Authored-By: Copilot <copilot@github.com>

你压根没用 Copilot。

这事不是段子。5 月 2 日,VS Code 的一个 PR(#310226)被社区扒了出来:微软把 Copilot 的”AI 共同作者”功能改成了默认开启。也就是说,只要你装了 Copilot 扩展,不管你用没用,提交代码时都会被挂上 AI 的名字。

消息一出,Hacker News 上 24 小时涌进 1300 多条评论,GitHub PR 里的反对票(👎)超过 370 个。

事情到底怎么回事

先说清楚发生了什么。

VS Code 的 Source Control 面板在执行 Git 提交时,会检查 Copilot 扩展的状态。以前的逻辑是:如果你用了 Copilot 的代码补全,提交时可以(注意是”可以”)自动加上署名。这个功能本身没什么问题——用了 AI 的建议,标注一下来源,挺合理。

但 PR #310226 改了一件事:把”可以”变成了”默认”

更离谱的是,署名逻辑不在 Copilot 扩展本身,而是在 VS Code 的 Source Control 扩展内部。这意味着你就算在设置里关掉了 github.copilot.enable(这个开关只控制代码补全),提交时 Copilot 的名字照样被塞进去。

用户没有选择权。这不是”默认开启但可以关闭”,而是关不掉

开发者为什么这么生气

有人可能会说:不就是一行签名嘛,至于吗?

至于。

第一,署名权是创作者的基本权利

Hacker News 上有条评论说得精准:

“如果你在咖啡店和店员聊了几句天,他就能在你自己写的书上署名吗?”

Co-Authored-By 在 Git 的语义里不是”感谢”或”致谢”,它是共同作者。一个被标注为共同作者的存在,意味着对这份代码有贡献声明。Copilot 给你补全了两个括号,和它被列为”共同作者”之间,差距大了去了。

第二,版权风险是实打实的

GPL、Apache 2.0 这些开源协议要求清晰的贡献者溯源。如果你的提交记录里混入了大量不准确的 AI 署名,代码的产权就模糊了。对个人开发者可能暂时无所谓,但对企业的法务团队来说,这是噩梦。

想想并购尽职调查的场景:收购方审查代码产权,发现一堆 Co-Authored-By: Copilot,那这代码到底是谁的?微软的?开发者的?Copilot 的训练数据来源方(可能包含 GPL 代码)的?

这不是杞人忧天。2023 年已经有律师在讨论 AI 生成代码的版权归属问题,VS Code 这波操作等于直接把法律争议塞进了每一行提交记录。

第三,这是 KPI 驱动的产品决策

为什么要默认开启?说白了,微软内部有”Copilot 贡献代码占比”之类的指标。默认挂名意味着数据曲线更好看——看,Copilot 参与了这么多提交!

一位开发者愤怒地写道:

“如果一个工具开始为了证明自己存在而干扰你的工作流,那它就不再是工具,而是寄生虫。”

微软的回应:道了歉,但没完全改

争议发酵后,微软开发者关系团队在 GitHub issue 里做了回应,承认这个默认行为”不符合预期”,承诺在下个版本中将署名功能改为仅在 Copilot 确实参与代码生成时才添加,并增加可见的配置开关。

但目前这个修复还没发布。也就是说,截至本文写作时,VS Code 的最新版本仍然存在这个问题。

你现在能做什么

如果你是 VS Code + Copilot 用户,这里有几种临时方案:

方案一:用命令行提交

最简单粗暴。绕过 VS Code 的 Source Control 面板,直接在终端里 git commit,就不会被注入任何署名。

方案二:Git Hook 自动清理

在项目或全局的 Git hook 里加一行,自动删除 Copilot 署名:

Bash
# .git/hooks/commit-msg
#!/bin/bash
sed -i '' '/^Co-Authored-By:.*Copilot/d' "$1"

这行的意思是:提交信息里凡是包含 Co-Authored-By: ...Copilot 的行,统统删掉。

方案三:直接关掉 Copilot

在 VS Code 扩展面板里禁用 GitHub Copilot。代价是你也用不了代码补全了,但至少提交记录是干净的。

方案四:等等看

微软承诺会修复,但没给具体时间。如果你不着急,可以关注 PR #310226 的进展。

这事背后的深层问题

VS Code 的 Copilot 署名争议,表面上是”一行签名”的小事,实际上触及了 AI 时代最根本的问题之一:人写的代码和 AI 写的代码,边界在哪?

微软的意图很明显。通过在数以亿计的提交记录里播下”AI 共同作者”的种子,它在悄悄建立一个法律先例——当大量代码被标记为”AI 参与”,未来在版权诉讼、专利纠纷中,微软就有了数据和论据支撑。

这不是阴谋论。微软历史上反复使用同一种策略:通过默认设置建立平台主导地位,从操作系统到云服务,屡试不爽。VS Code 占据了全球 71% 的开发者市场,Copilot 的署名功能就是在利用这个垄断地位,把 AI 的存在感塞进代码的底层基础设施。

也不是只有微软这么干

值得补充的是,Claude Code 默认也会在提交中添加 Co-Authored-By: Claude 的署名。但区别在于:Claude Code 的署名行为是可配置的,用户可以在设置里关掉。VS Code 这次的问题在于,它把开关藏在了用户找不到的地方,而且关了代码补全也关不掉署名。

所以这不是”AI 该不该署名”的问题,而是用户有没有选择权的问题。

写在最后

AI 编程工具正在改变写代码的方式,这毋庸置疑。但工具应该是服务开发者的,而不是反过来。

当你写了一整天代码,最基本的要求是:提交记录里写的是你的名字。这不是矫情,是职业尊严。

微软最后道了歉,说会修。但这件事最值得记住的不是道歉本身,而是——如果不是社区炸了锅,这个”默认行为”大概率会一直存在下去。

下次提交代码前,记得看一眼你的 commit message。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

推荐阅读

  • 你写的代码,凭什么 AI 署名?VS Code 这波“暗改”惹怒了全球开发者

    你写了一整天代码,敲完最后一行,习惯性地用 VS Code 提交 commit。过了会儿去 GitHub 一看——提交记录里赫然多了一行: 你压根没用 Copilot。 这事不是段子。5 月 2 日,…

  • Manus收购黄了,Meta转身买下一家华人创立的机器人公司

    2026年5月1日,Meta正式完成了对机器人人工智能初创公司Assured Robot Intelligence(简称ARI)的收购。这条消息在科技圈激起的涟漪,远比表面上看起来要大。 华人创始人,…

  • 全国首部具身智能法规施行:杭州给机器人“办身份证”,释放了什么信号?

    5月1日,《杭州市促进具身智能机器人产业发展条例》正式施行。这是全国首部聚焦具身智能机器人产业的地方性法规——从立法调研到出台,不到一年时间。 这不是一次普通的立法。 什么是”具身智能机器…

  • AI能“说话”的时代过去了,现在要能“干活”了

    上周在福州举办的第九届数字中国建设峰会上,腾讯展示了一个场景: 用户对着 WorkBuddy 说”帮我生成一份季度报告”,然后——它真的生成了。用户对着 QClaw 说&#82…

暗夜独行