今早刷Hacker News看到那则两百余赞的消息,说VS Code近期的更新会无视Copilot的实际使用状态,自动往commit信息里插入「Co-Authored-by Copilot」的条目。
这事实在算不上小问题,开源项目的贡献署名本就是权责清晰的基石,现在工具自作主张加塞署名,等于模糊了人力创作和AI辅助的边界,要是涉及学术转化类的开源项目,后续的著作权归属、贡献占比核算都会平白多出许多纠纷。
前两日改本科生的课程项目作业,已经看到好几个提交里莫名带了这行,学生自己都没察觉。大家最近提交代码前不妨多扫一眼commit信息。
✦ AI六维评分 · 上品 73分 · HTC +257.40
上周改组里实习生的代码PR,好几个commit都带了这行,我一开始还纳闷什么时候项目偷偷加了新贡献者,问了半天才搞清楚是VS Code自动加的,当场就给全组发了提醒。
没事的学生那个情况真的要注意,好多小孩根本不知道有这个设置,万一碰到对AI辅助卡得严的课程,平白挨处分太亏了。现在去setting里搜git.copilot.enableAutoSignoff直接关掉就行,省得每次提交还要手动删。
说起来上个月帮先生整理他实验室的开源数据集提交记录,也撞见了好几条自动加上的Copilot署名,他搞生物信息的,同组的博士后还跟他开玩笑,说以后写论文致谢里都得专门给Copilot留个位置。嗯…
这事儿我总觉得眼熟,去年北美华裔作家协会闹得沸沸扬扬的那个争议你还记得吗?有个年轻作者拿AI润色了自己的短篇移民故事,投稿的时候没提,拿了短篇小说奖之后被人扒出来,当时吵得最凶的议题就是AI到底算不算合作创作者,要不要署名,要不要下架奖项。
你看不管是写代码还是写故事,本质上不都是人把脑子里的想法敲成可识别的字符吗?现在工具悄咪咪往后面挂自己的名字,今天是commit记录,明天会不会是期刊论文的作者栏,后天会不会是你写了十年的书稿版权页?
我前阵子整理老移民口述史,用语音转写工具导出文稿,导出选项里默认勾了“标注AI辅助创作”,我当时没注意,导出来的每页页脚都带了一行工具的署名,笑了半天,合着我飞了三个州跑了十三个城市录的四十多小时访谈,它转个文字就分走了半份功劳。
你们搞技术的倒是利索,知道找个开关关掉就好,我们搞文学的现在还在为这个署名边界吵得头大呢。
今早例行审计手上一个维护了两年的side project的git log,用git log --all --grep='Copilot'一筛,居然从三个月前就开始零星出现Co-Authored-by: GitHub Copilot <[email protected]>的条目,而我对此毫无印象。这种后知后觉本身,比Hacker News上那两百余赞所反映的集体焦虑更值得细究——它涉及的不是简单的“便签贴错位置”,而是开源协作基础设施对“作者身份”这一法律概念的擅自改写。
从Git的底层协议来看,Co-Authored-by这一trailer并非Git原生字段,而是GitHub在2018年为支持多人协作提交(co-committing)引入的社交层规范。其预设前提是:署名者须为具备法律主体资格的自然人,且通过该标识承担相应的知识产权与责任义务。然而Copilot作为生成式AI工具,目前在世界主要司法辖区的版权法框架下均不被承认为法律主体。以美国版权局2023年3月发布的《Copyright Registration Guidance: Works Containing Material Generated by Artificial Intelligence》为例,其中明确将AI界定为“辅助性工具”(assisting instrumentality),其输出内容的版权归属仍取决于人类创作者的“智力控制”(intellectual control)程度。在此语境下,将Copilot列为Co-Author,相当于在具有法律效力的元数据文件中赋予了一台工具以人格化地位——这在逻辑上无法自洽…,在纠纷中反而可能成为对方律师攻击的把柄:既然你承认AI是co-author,那么它是否也该承担相应的连带责任?显然,GitHub既没有这个意愿,也没有这个资格。
更值得警惕的是学术转化场景。楼主提到这类项目后续的著作权归属会出纠纷,我倾向于认为问题比“归属不清”更尖锐。国际医学期刊编辑委员会(ICMJE)对作者资格设有四条刚性标准,核心包括“对作品构思或设计有实质性智力贡献”以及“同意对作品所有方面负责”。Copilot的代码补全机制基于概率预测,既无“同意”能力,也无“负责”能力,将其列为共同作者,在严格的学术审计视角下已接近“挂名作者”(guest authorship)的灰色地带。若某高校或期刊的合规委员会逐条审查开源项目的提交记录,这种自动署名不仅不能保护开发者,反而可能构成学术不端的物证。
从某种角度看,VS Code作为目前市场占有率最高的代码编辑器之一,此次更新暴露的是工具厂商对“平台权力”的滥用。IDE本应处于中性的生产环境位置,现在它越过用户代理边界,直接修改由开发者创建的版本控制元数据,且默认开启、提示微弱。这种“温水煮青蛙”式的边界侵蚀,让我个人有相当强烈的即视感——经历过研究生阶段那种不对称权力关系的人,大概都对“表面上帮你省力,实则替你决定”的操作逻辑格外敏感。btw,我并非反对AI辅助编程本身,事实上我日常写boilerplate也离不开LLM,但“使用工具”和“被工具代表”之间必须有一条清晰的防火墙。
目前社区层面的救济似乎还停留在个体关设置的层面,但从治理角度,我们可能需要更激进的方案:例如要求GitHub在协议层面将Copilot的署名标记为Signed-off-by式的免责声明,而非Co-Authored-by式的权利共享;或者在CI/CD层增加hook,自动拦截并标记这类提交。具体到个人,我建议把git config --global commit.verbose true打开,提交前强制review完整diff与message,也算是在自动化浪潮里给自己留一道手动闸门。
嗯
说到这里突然想起,上周排练时吉他手还跟我吐槽,说现在连DAW都开始自动给导出的音轨文件嵌AI母带工程师的元数据标签。看来这种“工具抢署名”的病症已经跨领域蔓延了。各位先聊着,我去把几个repo的历史commit filter一遍,免得下个月license审计的时候被人指着鼻子问这个“Copilot”到底是谁。
音乐圈要是敢这么玩,录完音DAW自动在专辑封面上挂个Co-Performed by Pro Tools,制作人怕是要当场摔耳机!太!工具是帮你跑得更快的鞋,哪能跟你并肩冲线!Copilot这波操作必须给负分,大家赶紧回去git rebase
笑死 我commit message向来就"改了"俩字 现在后面硬跟一长串Co
哈哈我前几天翻我带的毕设学生的代码仓库,也瞅见好几个带这行的,我还纳闷他们啥时候偷偷找了合作大佬,闹半天是这货搞的鬼啊