今天看到了一个项目,是这么授权的:
licensed under GPLv3 for non-commercial project. For commercial use, please purchase a commercial license.
感觉大家对 GPLv3 的理解仅仅停留在传染性上,实际上 GPLv3 的第七款,“Additional Terms”对作者也有约束,作者是不允许限制下游用户的使用目的的。
对此 gnu 还专门有个 FAQ:
https://www.gnu.org/licenses/gpl-faq.html#NoMilitary
我愿意按照 GPL 发布我的代码,但是我还想清楚地说明我的程序不能用于军事和/或商业。我能这样做吗?
不行,因为你的两个目标互相矛盾。GNU GPL 专门设计成禁止添加额外的限制。GPLv3 在第 7 节允许非常小的例外,但是用户可以去除任何其他后添加的限制。
更普遍地说,一个限制用户范围,或者限制用户使用目的的许可证,不是左右软件许可证。
一个类似的例子是 qt 的 GPL/商业协议双授权,商业公司买商业协议是为了避免被 GPL 传染而需要开源,不是因为 GPL 不能商用。
1
mcfog 224 天前 via Android
其实任何开源协议都和禁用商业,甚至禁止恶用冲突的,JSON 的那个 for good, not evil 都让开源社区坚持拒绝 json 库
|
2
Trim21 OP |
3
mcfog 224 天前
|