本周早些时候,Python字符编码检测库chardet的维护者Dan Blanchard发布了该库的新版本,采用了全新的软件许可证。此举可能彻底改变了"Copyleft"许可证的生存状态。
7.0版本采用MIT许可证,替代了之前的GNU Lesser General Public License (LGPL)。那些关注开源作品商业用途的开发者往往更青睐MIT等宽松许可证,因为它们比GPL/LGPL等Copyleft许可证施加的义务更少,后者要求衍生作品必须在相同条款下分发。
Blanchard表示,他有权更改许可证,因为他使用了AI(Anthropic的Claude现在被列为项目贡献者)进行了chardet的"洁净室"重新实现。这本质上是在不复制原始代码的情况下进行重写,尽管尚不清楚Claude在训练过程中是否摄取了chardet的代码,如果发生了这种情况,Claude的输出是否克隆了该训练数据。
一位声称是该库原始创建者Mark Pilgrim的个人在项目的GitHub仓库中开启了一个问题,认为Blanchard无权更改软件许可证,援引LPGL要求许可证保持不变的规定。
"授权代码在修改时必须在相同的LGPL许可证下发布,"这位以Pilgrim名义发帖的个人说道。"维护者声称这是'完全重写'是无关紧要的,因为他们对原始授权代码有充分的接触(即这不是'洁净室'实现)。在其中添加一个花哨的代码生成器并不能以某种方式授予他们任何额外的权利。"
Blanchard不同意这一观点,他引用了7.0.0版本和6.0.0版本在JPlag(一个检测剽窃的库)检测下的比较结果。"7.0.0版本在性质上是不同的,"他写道。"它与每个先前版本的最大相似度都在1.3%以下。7.0.0代码库中没有任何文件在结构上类似于任何先前版本中的任何文件。匹配的Token是任何项目中都会出现的常见Python模式:argparse样板代码、字典文字、导入块。"
Blanchard告诉The Register,他十多年来一直想将chardet添加到Python标准库中,因为它是大多数Python项目的核心依赖。"经过多年主要由我自己维护chardet,我清楚地意识到有几个障碍阻挡着我:它的许可证、速度和准确性,"他在邮件中说。"Claude让我能够在大约五天内完成我想要的目标。结果是检测速度提高了48倍,这将为数百万用户带来显著的性能提升(该包每月下载量约1.3亿次)。"
Flask创建者、长期开源开发者Armin Ronacher在博客文章中表示,他欢迎这一许可证变更。"我认为更有趣的是这个问题的后果,"Ronacher说。"像GPL这样的Copyleft代码严重依赖版权和摩擦来执行它。但由于它基本上是开放的,无论是否有测试,如今都可以轻易地重写它。"
AI的使用引发了对AI辅助代码需要多少人类参与才能获得版权的问题。美国最高法院最近拒绝重新考虑Thaler v. Perlmutter案,在该案中,原告寻求推翻下级法院关于他不能对AI生成图像享有版权的决定。
自由软件基金会执行董事Zoe Kooyman告诉The Register:"我们无法在不进行额外研究或咨询律师的情况下评论这个特定项目的具体情况或合法性,但摄取了被要求重新实现的代码的大语言模型并没有什么'洁净'可言。就GPL的意图而言,宽松许可证在技术上仍然是自由软件许可证,但破坏Copyleft是一种严重的行为。"
编写原始开源定义的Bruce Perens对整个软件行业有更广泛的担忧。"我正在打破玻璃拉响火警!"他在邮件中告诉The Register。"软件开发的整个经济体系已经死了、消失了、结束了、完蛋了!在不同的世界里,软件和AI的问题将由理解所有AI训练都是复制、所有AI输出都是复制的立法者和法院来处理。"
Perens预计,以前在经济上不可行生产的利基软件将会激增。"机器人将成为现实,最终会有一个为你整理房间的机器人,"他说。"它们的硬件将推动盈利公司,但我们最终可能会看到它们的推理平台变得开放。软件许可证会发生什么?专有许可证似乎几乎无关紧要。开源许可证也很可能如此,因为每个开源程序都是AI训练。"
Q&A
Q1:chardet许可证争议是怎么回事?
A:Python字符编码检测库chardet的维护者Dan Blanchard使用AI重写了代码,并将许可证从LGPL改为MIT。原创建者Mark Pilgrim认为这违反了LGPL要求,但Blanchard声称这是"洁净室"实现,相似度仅为1.3%。
Q2:AI重写代码能否规避原有许可证限制?
A:这是一个法律灰色地带。支持者认为AI生成的代码是全新实现,可以使用新许可证;反对者认为AI在训练时接触了原始代码,不算真正的"洁净室"实现,仍应遵守原有许可证。
Q3:Bruce Perens为什么说软件开发经济体系已死?
A:Perens认为AI能够轻易克隆和重写现有软件,这将颠覆传统的专有软件和开源软件模式。当代码生成成本极大降低时,传统的软件许可证和商业模式可能变得无关紧要。