![]()
一个被下载超过10亿次的Python库,许可证争议拖了7年没人敢碰。直到LGPLv3的联合作者亲自开口,这场开源圈的经典悬案才有了新走向。
chardet,这个用Python自动检测文本编码的工具,几乎每个搞数据清洗的工程师都装过。2025年12月,维护者Dan Blanchard把版本号推到7.0.0时,顺手把许可证从LGPL改成了MIT。GitHub上立刻炸出一串issue:「这合法吗?」
争议的核心是个老问题。chardet最早是Mark Pilgrim在2006年写的,许可证是LGPL。2011年Pilgrim突然从互联网消失,项目交给社区维护。此后十几年,代码被重构了无数次,但许可证头文件一直留着LGPL。直到7.0.0,Blanchard认为「现在的代码和原版已经没关系了」,直接换了MIT。
有人算过一笔账:chardet每月下载量约8000万次,PyPI历史总下载量早就破了10亿。这么大的用户基数,许可证变更不是小事。反对者的逻辑很直接:你凭什么确定现在的代码里没有Pilgrim当年写的表达式?没有的话,拿出证据。
「没人证明过版权延续性」
Richard Fontana的介入让讨论变了味。他是LGPLv3的联合作者,现在Red Hat当开源法律顾问。3月27日,他在Simon Willison的帖子里留了段话,被Willison单独拎出来当标题。
「IA NDBL,TINLA」,Fontana开头甩了俩缩写——「I am not Dan Blanchard's lawyer」「This is not legal advice」。这是开源圈老炮的惯用免责声明,意思是「以下只是我个人观点,别当法律文件用」。
![]()
关键句在这儿:「我没看到任何依据能认定chardet 7.0.0必须按LGPL发布。」Fontana的论据分两层:第一,据他所知,包括Pilgrim本人在内,没人指出过7.0.0里还存着早期版本的可版权表达性材料;第二,也没人提出过其他能成立的违规理论。
「可版权表达性材料」是版权法的核心概念。代码里的思想、功能、算法不受保护,但具体的表达——变量命名、注释风格、代码结构——受保护。Fontana的意思是:你要主张LGPL继续适用,得先证明Pilgrim的「表达」还在7.0.0里活着。7年过去,没人做这个证明。
悬案为何拖了7年
chardet的许可证问题不是第一次被翻出来。2018年就有人在issue里问:「能换成MIT吗?」当时的维护者回复很谨慎:「需要确认所有贡献者都同意。」然后就没下文了。
开源项目的版权清理是个脏活。你要追溯每一行代码的作者,确认他们是否签署了贡献者许可协议(Contributor License Agreement,CLA),或者他们的贡献是否小到不构成版权。chardet有200多个贡献者,横跨18年,很多人早就联系不上。
Blanchard选择了一条更激进的路:他不清理版权,而是主张「现在的代码已经全新」。这个策略在法务上叫「独立创作抗辩」——我不否认你过去的版权,但我现在的作品和你没关系。
Fontana的表态相当于给这个策略打了个侧翼支援。他没说Blanchard一定对,但指出了反方的软肋:你告他违规,举证责任在你。
![]()
开源圈的「默认许可」困境
这个案子暴露了一个更深层的问题:当原作者消失,社区该怎么处理遗留代码的许可证?
Mark Pilgrim的「数字消失」是开源史上的标志性事件。2011年,他删除了自己所有社交账号、博客、代码仓库,只留下一句「I have no interest in maintaining my online identity」。chardet是他留下的遗产之一,也是负担。
美国版权法规定,个人作者死后70年版权才过期。Pilgrim如果还活着,版权至少持续到2080年代。这意味着社区要么找到他拿授权,要么证明现在的代码和他无关——两条路都不容易。
Fontana的介入提供了一种新思路:在没人能证明版权延续的情况下,「默认自由」可能是更务实的选择。这和GPL系许可证的精神其实一致:代码应该流动,而不是被锁在版权的灰色地带。
但风险没完全消除。Pilgrim本人从未表态,如果他某天出现并主张权利,7.0.0的MIT许可证可能面临挑战。Fontana的免责声明(TINLA)不是客气,是清醒。
chardet 7.0.0现在安静地躺在PyPI上,每月8000万次下载。大多数用户甚至不知道许可证换过。这个案例最终会怎么收场——是成为「社区自治」的范本,还是留下一颗未爆弹——可能取决于Pilgrim会不会永远沉默下去。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.