找工位
空间入驻
小程序

AI用5天重写10年老代码,原作者突然现身:这是非法授权!

2026-03-13 05:41:32

AI重写代码引爆开源圈:10年维护者VS消失13年的原作者

你辛辛苦苦维护了10年的开源项目,用AI重写后想换个更宽松的许可证,结果消失13年的原作者突然跳出来说:你这是违法!

最近,Python圈炸了!一个下载量超8.5亿次的经典库chardet,因为维护者用AI重写代码并更改许可证,引发了一场关于AI时代开源规则的大战!

💡 故事背景:从LGPL到MIT的"升级"

chardet这个库你可能没听过,但你的电脑里很可能有它!它是Python生态中文本编码检测的核心组件,requests库等常用工具都依赖它。

这个库有多火?单年度下载量达到8.54亿次

  • 2006年:原作者Mark Pilgrim创建,使用LGPL许可证
  • 2011年:原作者彻底消失,维护工作交给其他人
  • 2012年至今:Dan Blanchard成为主要维护者,贡献近700次提交
  • 上周:Dan发布chardet 7.0,声称是"完全重写",并将许可证改为更宽松的MIT

⚠️ 5天AI重写:效率还是争议?

Dan Blanchard在接受采访时坦言:"Claude让我能够在大约5天内完成我想做的事情!"

他为什么要重写?

  • 希望chardet能进入Python标准库
  • 旧许可(LGPL)限制太多
  • 性能与准确率需要提升
  • 时间有限,一直无法推进

于是,他借助Claude Code重写了整个库,并声称:

  • 包名和公共API保持不变
  • 速度更快,准确性更高
  • 支持Python 3.10+,无运行时依赖
  • 可在PyPy上运行

🚨 原作者"闪现":这是非法重新授权!

就在新版本发布两天后,一个自称Mark Pilgrim的用户在GitHub上发帖:

"你好,我是Mark Pilgrim。你也许还记得我写过《Dive Into Python》以及"Universal Character Encoding Detector"。我也是chardet的最初作者。"

他明确表示:

  • 感谢维护者和贡献者
  • 但将7.0版本以MIT许可发布,属于对LGPL代码的非法重新授权
  • 直接违反开源协议
  • 要求立即将许可证恢复为原版

🔍 核心争议:这算"洁净房间"实现吗?

原作者在声明中提到一个关键概念:clean room(洁净房间)

什么是clean room?

  • 计算机工程师在不侵犯版权的前提下"模仿"软件功能的方法
  • 要求:完全不接触原始代码的人重新实现功能
  • 确保新代码不构成原作的衍生作品

Dan Blanchard承认:自己维护chardet超过十年,确实长期接触过原始代码库。

但他认为:

  • clean-room只是手段,不是目标
  • 目标在于确保代码不是原始代码的"衍生作品"
  • 他用代码相似度检测工具JPlag证明:
    • chardet 7.0 vs 6.0:最大相似度仅1.29%
    • chardet 5.2 vs 6.0:有些文件相似度高达80%

🤖 AI如何参与重写?过程全透明

为了保持完全透明,Dan分享了具体过程:

  1. 使用Claude的"superpowers brainstorming"生成设计文档
  2. 基于一系列要求(在手机Notes里写下,未提交到仓库)
  3. 在完全空的仓库中开始开发,没有访问旧代码库
  4. 明确指示Claude:不要基于任何LGPL或GPL许可的代码
  5. 对生成的每一部分代码进行审查、测试和迭代

他坦言:"我没有亲手编写代码,但我深度参与了代码的设计、审查和迭代的每一个环节。"

⚖️ 争议焦点:AI生成代码的边界在哪里?

尽管力求独立,但仍存在复杂因素:

  • 训练数据问题:Claude模型训练时吸收了大量公开网络数据,可能包括早期chardet的开源代码
  • 元数据使用:有网友发现Claude使用了chardet早期版本的一些元数据文件
  • 人为因素:让对早期代码非常熟悉的人深度参与审查,是否影响"全新性"
  • 名称问题:所有操作都在同一个包名、存储库、PyPI列表下完成,名字还是叫chardet

🌟 开源社区炸锅:AI时代的规则空白

这起事件在开源社区引发广泛讨论:

支持维护者方:

  • "Blanchard独自维护这个库,无资金、无协作者、无支援"
  • "原作者2011年彻底清空互联网痕迹,全靠一个人用业余时间撑着"
  • "这是Python生态最依赖的包之一"

反对声音:

  • "把Copyleft代码喂给训练过它的模型,让模型生成功能等价产物"
  • "查重工具找不到匹配token,不代表作品独立,只代表洗白有效"
  • "如果这套手法合法,现存所有Copyleft项目,只要跑一次Claude就能变成MIT"

犀利点评:

  • "把泄露的Windows源码丢给大模型重写,再以开源发布,能接受吗?"
  • "机制完全一样,唯一变量是你是否同情版权方"

自由软件基金会(FSF)执行董事Zoë Kooyman直言:"AI模型吸收了要重新实现的代码,因此根本不存在真正"洁净"。"

💭 思考:AI时代的开源规则何去何从?

这不仅仅是chardet一个库的问题,而是AI时代开源生态面临的根本性挑战

  • AI辅助开发已成现实,但规则还在空白期
  • 原作者消失多年后的项目归属权问题
  • AI生成代码的版权界定模糊
  • 开源许可证在AI时代的适用性

一方是经典开源协议的底线,一方是AI辅助开发的新现实,在原作者消失、单人维护十年后,项目到底归谁?

新版chardet的许可到底谁说了算?

金句:在AI重写代码的时代,我们不仅需要新的工具,更需要新的规则!

互动问题:你觉得用AI重写代码后更改许可证,合理吗?在评论区说说你的看法!

如果觉得这篇文章对你有启发,点赞支持一下