告别 MIT,我转向 EUPL 开源协议
I Changed My License

在发布软件的第 28 个年头,我决定将默认开源协议从 MIT 切换为 EUPL-1.2。过去,Midgard 使用 LGPLv2,JavaScript 项目则偏爱 MIT 协议,追求简单与互操作性。然而,随着 Flowhub 的关闭和休整期的思考,我意识到宽松许可并未真正惠及用户,反而让大公司更廉价地构建产品,让亿万富翁积累更多财富。EUPL 作为强 Copyleft 协议,能有效堵住 SaaS 漏洞,要求无论软件如何分发都必须遵循互惠许可。如今,我的 reticulum-js、dacar 及 NoFlo Development Environment 新项目均已采用 EUPL,而 NoFlo 核心库仍保留 MIT 许可以尊重历史贡献。
多年来,我们‘开源’阵营(而非‘自由软件’阵营)一直错了:我们赢得了辩论,却未给用户或开发者带来多少实质利益。
HN 评论区
189- apt-get
值得注意的是,EUPL 中允许将其转换为其他许可证的“逃生舱口”条款,意味着其效力上限仅等同于它所列出的最弱许可证,即 EPL/MPL/LGPL。
任何想要在网络服务上提供闭源扩展的参与者,都可以对 EUPL 代码库行使这一选项。因此,如果你在意这一点,最好明确指定 AGPL 或其他类似协议。
EUPL 首先是为政府机构设计的,其主要关注点在于确保无需担心与其他 copyleft 许可证混用,以及涵盖并协调欧盟各国在版权/专利/知识产权概念上的差异,而不是专门用来对抗超大规模云厂商。(不过有它存在总是好的!)
- dotancohen
如果这篇文章能直接列举 LGPL 存在的问题,并说明这个我从未听说过的许可证如何解决这些问题,那会更好。这种暗示和影射或许对 SEO 很有帮助,但对于软件开发者受众以及 HN 社区来说,却并不合适。
- mnahkies
大家对于双重许可(dual licensing)有什么看法或经验?
例如:有没有一种干净的方式实现双重许可,使得业余爱好者和探索性工作(例如在商业环境中完成的概念验证)被允许,但在生产环境中使用则需要付费?
如果你做过这种尝试,成功了吗?显然,近年来有许多项目进行了重新许可(如 terraform、redis 等)——但对我来说,这是否是一条新项目起步的可行路径,还是说它从一开始就扼杀了采用率,这一点尚不明确。
- kzrdude
使用 EUPL 主要是一种信号,表明你希望使用基于欧盟法律而非美国法律的许可证。至少我是这么看的。
- TheChaplain
老实说,如果没有执行机制,许可证几乎毫无意义。而执行需要足够的财力来推动法律程序。
像我这样的普通人?没戏,我既没钱也没时间。
我知道 GPL 有 SFC 和 FSF 的支持,但其他如 EUPL、MIT、APL 等许可证呢?
- alturp
> “多年来,我们‘开源’阵营(相对于‘自由软件’阵营)一直错了这一点已很明确。我们赢得了辩论,但为用户或开发者带来的收益微乎其微。我们所有的努力只是让大公司能更便宜地构建产品,让亿万富翁变成万亿富翁。”
声称这一点,随后却决定使用像 EUPL 这样较弱的 copyleft 许可证(它可以与专有软件集成而无需公开源代码),而不是真正能堵住 SaaS 漏洞的 AGPLv3,这让我有点摸不着头脑。
- lukan
"Over the years it has been clear that we in the “open source” camp (as opposed to the “free software” camp) were wrong all along. We won the debate, and gained little for users or developers. All that our efforts did was to make it easier for big corporations build things more cheaply and for billionaires to become trillionaires."
有人曾经宣称开源是为了让人暴富吗?
它一直以来都是关于获取源代码、进行研究、 tinkering、改进。我们现在拥有海量的开源软件可供学习——这确实是一场胜利。
而且对我来说完全不清楚,如果 FOSS 和强 copyleft 成为开发者的首选和标准,替代的时间线是否会更好——我反而预期它会更加小众,而万亿富翁们依然会富可敌国。
- Daegalus
https://github.com/daegalus/daegalus/blob/main/licensing-phi...
我在 GitHub 上创建了类似的东西,然后重新许可了那些完全属于我的部分,其他内容保持不变,主要将这些许可证作为未来的默认选项。
我也选择了 EUPL 用于纯 AGPL 风格的开源工作,并计划根据需要采用其他许可证。