一位做了28年自由软件的芬兰开发者,最近悄悄换了个许可证。Henri Bergius在博客里宣布,他新发布的项目——reticulum-js、dacar、signalk-energy-predictor等——不再用MIT,而是全部换成了EUPL-1.2,一份由欧盟官方发布、有23种语言官方翻译的强copyleft协议。这条新闻本身够冷门,但它折射的东西不冷门:宽松许可证喂养了整个云计算和AI训练的免费午餐,现在有人想把账单递回去。
这不是一次口号式的表态。检索仓库现状可以确认,reticulum-js的README和dacar在JSR包管理平台上的许可证字段,都已经实打实改成了EUPL-1.2——这是代码层面的落地,不只是博客里说说。
从LGPL到MIT再到EUPL,一份许可证史
Bergius的许可证选择本身就是一部小型开源史。他早年的web框架Midgard用LGPLv2,那是自由软件许可证种类还不多的年代。2011年转向JavaScript生态后,他换成了MIT——NPM生态偏爱的"随便用,别告我"式协议,图的是互操作性。中间因为创业公司Flowhub关闭,他停更了几年。
这次复出,他把默认许可证换成了EUPL-1.2。差别不是措辞上的,是立场上的:MIT允许任何人拿走代码闭源转卖,EUPL要求无论软件怎么分发,修改后都要对等开源,堵住的正是云厂商把开源项目包成付费SaaS却不用开源自己代码的那个"SaaS漏洞"。
老项目没动,只有新项目变了
容易被误读的一点是:这次转变会不会让NoFlo整个生态都变成强copyleft?答案是不会。目前github上的noflo/noflo-ui仓库依然标注MIT并带着LICENSE-MIT文件,Bergius也在博客里明说,NoFlo本体因为历史包袱和大量第三方贡献,会继续保持MIT。
正在用EUPL重写的是NoFlo Development Environment的新版本,属于另一条代码路径,跟老仓库并行存在,不是替换。换句话说,这不是对既往所有发布物的追溯重新授权,只是给未来的新项目定了一条新规矩。现有NoFlo用户和插件开发者,几乎不受任何影响。真正被这次变化卡住的,是未来想拿reticulum-js、dacar这类新项目去闭源二次开发或包成SaaS服务的第三方公司——他们要么老实对等开源修改,要么单独谈商业授权,要么自己重写一份。
强copyleft卷土重来,是情绪还是趋势
Bergius在博客里的原话很不客气:"open source阵营赢了辩论,输了里子。"他认为宽松许可证这些年只做了一件事——让大公司更便宜地拿走免费劳动成果,"让亿万富翁变成万亿富翁"。这是个人化的失望判断,没有行业数据支撑,但放在这几年的许可证变化里看,他不是孤例。MongoDB多年前把许可证改成SSPL、HashiCorp用BSL限制商用,都是同一套逻辑:宽松协议养大了云厂商,开发者自己却没分到多少。
宽松许可证降低了大厂采用开源的门槛,也顺手降低了他们付费的义务。
强copyleft协议历史上也不是没吃过亏。业界一直有种常识性质疑:这类协议会吓退商业采用和潜在贡献者,项目生态反而可能萎缩。EUPL本身在英语世界的法律先例远比GPL、AGPL少,它的23种语言官方翻译优势,更多是面向欧盟公共部门客户设计的,个人开发者项目能不能真靠这个"议价",目前没有案例能验证。
- 风险.强copyleft换来的对等开源义务,可能让一部分本可能商业化落地的下游合作直接放弃接触,转身自己重写一套。
接下来值得盯的,是这批EUPL新项目未来的fork数、下游商业合作意向,以及是否有更多独立开发者跟进这种"反SaaS漏洞"的许可证选择——如果这真的成了一股潮流,会是过去十几年"宽松许可证通吃"格局里少见的一次逆流。目前能确定的只有一件事:这次变化落地在代码里,但影响范围被严格锁在了"未来新项目"这一格,老用户可以放心。
