VS Code Copilot "Co-Authored-by" 提交争议全解析
发布时间:2026-05-04 · 阅读时间 7 分钟
简言之:微软合并了一个 PR,该 PR 会在所有 git 提交中默认自动添加 "Co-authored-by: Copilot <copilot@github.com>" 标签——无论是否实际使用了 Copilot。反对声音立刻爆发:Hacker News 上获得 1,458 分和 805 条评论,PR 被锁定,然后被回退。以下是完整故事。
发生了什么?
2026年4月29日,VS Code 工程师 cwebster-99 发起了一个看似微小的 PR #310226:将 git.addAICoAuthor 的默认值从 "off" 改为 "all"。
这一行改动改变了 VS Code Git 扩展的默认行为,使得每次提交都会包含:
Co-authored-by: Copilot <copilot@github.com>
这个标签本应在"检测到 AI 生成的代码贡献"时添加——但实际上检测逻辑非常激进,导致大多数提交都会被触发。PR 描述:
"此 PR 更改了 Git 扩展的 git.addAICoAuthor 设置,使 AI 合著者标签默认启用,即检测到 AI 生成的代码贡献时自动添加 Co-authored-by 标签。"
反对声浪
开发者社区立刻且激烈地回应。此事登上 Hacker News 第一,获得 1,458 分和 800 多条评论——当周最热门的讨论之一。
主要批评意见包括:
- 虚假归属——从未使用 Copilot 的开发者的提交却被标记为 Copilot 贡献
- 审计记录污染——错误标记的合著者行使 git blame 不可靠,并扰乱 CI/CD 工具
- 默认为退出而非加入——未经明确同意就更改默认值被视为黑暗模式
- 许可证影响——一些开发者担心 Co-authored-by 会影响开源中的版权或溯源追踪
- 对话被锁定——微软锁定了 PR 并将讨论限制为协作者,进一步激怒了社区
Hacker News 的讨论混合了愤怒、讽刺("Copilot 今天早上还帮我冲了咖啡")以及对微软 AI 工具策略的真正担忧。
实际合并了什么?
尽管遭遇激烈反对,PR 还是被合并了——但争议并未就此结束。改动在内部构建中发布,社区的反应迫使微软重新评估。
微软随后将 PR 标记为垃圾并锁定,将讨论限制为协作者,这被广泛视为对合理社区反馈的不当回应。
截至5月2日,git.addAICoAuthor 默认值的更改仍保留在代码库中,但正在讨论是否:
- 将默认值恢复为 "off"
- 使检测更保守(仅在显式接受 Copilot 补全时才添加标签)
- 在功能激活时添加一次性通知
开发者为什么真正生气
表面上这只是一个小的配置更改。但它触及了更深层的问题:
1. 对工具的信任
开发者依赖 git 历史作为谁写了什么的准确记录。当工具静默地添加归属元数据时,这种信任就被破坏了。如果你不能相信你的提交日志,你还能相信什么?
2. AI 功劳膨胀
关于 AI 生成的代码应该获得多少功劳已经存在争议。对每个提交自动附加 "Co-authored-by: Copilot" 会夸大 AI 的角色,贬低人类贡献。
3. 退出陷阱
大多数开发者从不检查他们的 Git 扩展设置。默认值变更意味着数百万 VS Code 用户会在不知情的情况下启用此功能。开发者工具中的黑暗模式尤其令人反感,因为开发者制造工具,应该知道得更多。
4. 许可灰色地带
虽然 "Co-authored-by" 在大多数情况下没有法律约束力,但一些开源项目有特定的贡献指南。自动化的机器人角色被列为合著者会给 DCO(开发者原创证书)和版权归属造成混乱。
如何检查你是否受影响
如果你使用带 Git 扩展的 VS Code,以下方法检查你的设置:
# 打开 VS Code 设置
# 搜索:git.addAICoAuthor
# 如果值为 "all" 或未设置,则 Copilot 标签正在被添加
# 要禁用:
# 将 git.addAICoAuthor 设为 "off"
或者在 settings.json 中:
{
"git.addAICoAuthor": "off"
}
更大背景:2026 年的 AI 归属问题
这场争议并非孤立事件。2026 年出现了几个相关的讨论:
- GitHub Copilot 自身的归属——Copilot 生成的代码是否应该包含许可证来源信息?
- OpenAI 的模型署名——AI 生成的内容何时应该标注?
- Codex 和 AI 智能体——如果 AI 智能体编写了 PR 的 90%,作者是谁?
- 氛围编程——Uncle Bob 最近关于 AI 取代传统软件工程的"结束了"文章
VS Code PR 是这些更大问题的缩影。科技行业正在努力解决如何正确归属 AI 贡献的问题——做得不好会侵蚀信任。
我们能学到什么
- 默认设置很重要。选择加入和选择退出之间的差异可能是接受和愤怒之间的差异。
- 不要弄乱 git 历史。Git 是软件开发的标准记录。任何可能污染它的行为都需要极度谨慎。
- 倾听反馈。锁定 PR 和限制对话只会让情况更糟。微软承认担忧并回滚会更妥当。
- AI 归属很难。我们需要社区标准来规定何时以及如何为 AI 工具署名。这不是我们看到的最后一场争议。
最新情况(2026年5月4日)
截至本文撰写时,PR 仍然处于合并但锁定状态。Hacker News 讨论仍在活跃。多个 VS Code issue 线程正在跟踪后续影响。社区正在观望微软是否会在稳定版中回滚或坚持已见。
如果你关心这个问题,最好的做法是:
- 检查你的
git.addAICoAuthor设置 - 在 GitHub PR 上表达你的意见
- 关注 Hacker News 讨论
更新(5月4日):在强烈反对之后,有报道称微软正在内部重新考虑默认值。预计未来几天会有后续 PR 或设置说明。
常见问题
这会影响 GitHub.com 还是仅限于 VS Code?
此变更专门针对 VS Code 的 Git 扩展。GitHub.com 目前没有此行为。
这个标签会影响 DCO 或 CLA 检查吗?
可能。一些 CI/CD 流水线会检查 "Co-authored-by" 标签作为贡献验证的一部分。误报可能阻塞 PR。
PR 被回退了吗?
截至5月4日还没有。PR 已合并但被锁定。内部构建中的设置默认值仍为 "all"。社区正在施压要求回退。
我应该禁用它吗?
如果你不希望 Copilot 自动出现在你的提交中,将 "git.addAICoAuthor": "off" 添加到 settings.json。如果你确实使用 Copilot 并希望正确归属,可以考虑新的 GitHub Copilot 仪表板,将 AI 贡献追踪与 git 元数据分开。
标签:VS Code, Copilot, 微软, git, 提交归属, AI, 开发者争议, PR #310226, Co-authored-by, Hacker News
首次发布:2026-05-04 · 最后更新:2026-05-04
Hacker News 讨论(1,458 分)