28年开源老兵Henri Bergius全线切换EUPL强许可证:宽松许可让亿万富翁变万亿富翁

28年开源老兵Henri Bergius全线切换EUPL强许可证:宽松许可让亿万富翁变万亿富翁

在开源世界写了28年代码的老兵Henri Bergius,9月5日在个人博客上宣布了一个决定:把他所有的近期项目默认许可证从MIT切换为EUPL-1.2,即欧盟公共许可证1.2版。Bergius是芬兰开源社区的元老级人物,早年创建了Midgard CMS,后来参与创立NoFlo流式编程环境和Flowhub可视化编程平台。这篇题为《我改了我的许可证》的文章,篇幅不长,却在Hacker News上引发了关于开源许可证未来方向的激烈讨论。

三个时代的许可证轨迹

Bergius把自己的28年开源生涯按许可证分成了三个阶段。第一阶段是Midgard CMS时期,项目采用LGPLv2——那是一个更简单的年代,可用的自由软件许可证不多,对一个Web框架来说,弱CopyLeft是当时感觉最合理的选择,框架自带的示例网站则用X11许可证发布。第二阶段从2011年前后开始,他把工作重心转向JavaScript,切换到了MIT许可证——一种"随你怎么用,只要别告我"的极简许可证,NPM包生态几乎清一色用它,互操作性好,没有任何附加条件。第三个阶段则是现在:EUPL-1.2成为他的默认选择。

为什么是EUPL

EUPL-1.2是欧盟官方发布、OSI认证的自由软件许可证,和MIT的关键区别在于它是一个强CopyLeft许可证,并且专门堵上了所谓的"SaaS漏洞"——不管软件怎么分发,只要通过网络提供服务,就必须以相同许可证开放源代码。Bergius用一段相当坦率的话解释了动机:这些年来他越来越确信,开源阵营(相对于自由软件阵营)从一开始就搞错了方向——他们赢得了辩论,却几乎没有为用户或开发者赢得任何东西,所有这些努力最终只是让大公司更便宜地构建产品,让亿万富翁变成万亿富翁。

这段话指向的是过去十年开源生态的一个核心矛盾:Apache 2.0、MIT这类宽松许可证让开源代码被无数商业产品吸收,但几乎没有反过来要求这些产品回馈任何东西。云服务商把开源数据库、消息队列、机器学习框架包装成托管服务出售,收入的绝大部分不会回到上游社区。从Elasticsearch改许可证到MongoDB的SSPL,过去几年多个知名项目试图用变更许可证的方式回击,但Bergius选择的是一条不同的路——从写第一行代码起就用强CopyLeft,不给搭便车留任何空间。

EUPL还有一个Bergius特别提到的实用优势:它拥有欧盟官方认证的23种语言翻译版本,每一种都具有同等法律效力。在一个大部分软件的构建和使用都发生在硅谷之外的今天,这一点比听起来重要得多——一份用开发者母语就能确认法律含义的许可证,对欧洲、南美和亚洲的企业用户来说,意味着显著更低的合规成本和更少的法律不确定性。

宽松许可证阵营的反思

Bergius的转向并非孤例。近年来,越来越多的开源维护者开始质疑宽松许可证是否真的服务于开源的初衷。HashiCorp在2023年将Terraform改为BUSL,Red Hat对RHEL源码发布方式的收紧,以及Redis在2024年转向AGPL,都反映出一个共同的情绪:宽松模式没有兑现它的承诺。Bergius的表述则更进一步——他不只是在抱怨云厂商的搭便车行为,而是在质疑整个"开源"话语体系在商业现实面前的失效。他用了一句相当尖锐的话:如果企业不愿意按我们的条款使用我们的软件,他们完全可以花自己的力气(或者自己的Token)去重新造一个。

当然,EUPL在企业世界的采用率远低于GPL系许可证,这在短期内会限制Bergius项目的传播速度——很多公司的法务部门对EUPL的熟悉程度有限,会倾向于选择有更成熟合规先例的替代品。但对一个已经写了28年代码、不再需要靠项目Star数证明自己的开发者来说,这未必是一个需要担心的问题。他的近期项目,包括围绕NoFlo生态的工具和与船boat项目相关的软件,都已经以EUPL-1.2发布。

这篇文章在Hacker News上拿到一百多个赞,讨论区里最有意思的分歧在于:有人认为强CopyLeft是对平台资本主义唯一有效的防御,也有人指出SaaS漏洞在GPL时代就存在,问题的关键从来不是许可证文本,而是社区是否有能力执行它。无论站在哪一边,Bergius的转向都标志着一件事:从MIT到EUPL的这条路,正在从个别理想主义者的选择,变成一个值得认真对待的行业趋势。