License差异对比
参考
使用 SPDX 短格式标识符 以简单、高效、便携和机器可读的方式 传达 FOSS 许可证信息
1 |
|
术语
什么是“分发”?
许可证授予的权利,允许你自由使用、修改、复制,但是在“分发”时就必须遵守许可证的约束。换言之,如果不”分发”,就不需要遵守。
分发就是指将版权作品从一个人转移到另一个人。这意味着,如果你是自己使用,不提供给他人,就没有分发。另外,这里的”人”也指”法人”,因此如果使用方是公司,且只在公司内部使用,也不需要遵守许可证[]。
其中AGPL有个特例:AGPL定义,如果你使用开源软件提供网络交互服务,那么该行为也定义为“分发”,即图中的“网络使用即分发”
什么是“传染性”?
传染性来源于GPL,GPL的支持者确信自由软件世界应具有自我保护能力和可持续发展性——为了确保自由软件的演绎作品同样“自由”,所以要求只要使用了GPL的代码,那么整个项目都必须以GPL方式公开源代码
LGPL 在这方面要求就没GPL那么严格,如果只是子系统/模块用了,那么只需要子系统/模块开源,整个工程不用开源;如果是以动态链接调用LGPL许可证的库,那么项目也不用开源。
MPL 在这个方面就更宽松,哪个文件用了该许可证的代码,只需要这些文件开源即可,其他文件不受影响
所以,GPL v2/v3、AGPL 属于工程级别的强传染性;LGPL属于库级别的若传染性;MPL 就是文件级别的,传染性可以忽略不计了
GPL 系列的协议有何区别?
AGPL 和 GPL 的区别:
AGPL明确了GPL 2.0/3.0关于提供网络服务也属于分发限制的说明:使用GPL的自由软件,但是并不发布与网络之中,则可以自由的使用GPL协议确不开源自己私有的解决方案。AGPL则增加了对此做法的约束。比如使用了AGPL代码的软件是一个网络应用,那么这个软件的所有源码和修改代码也必须开源
GPL v2 和 GPL v3的主要差异:
a) GPLv3包含了明确的专利许可
b) 添加了对数字版权管理和加密签名的限制,不仅要求用户公开源码,还要求公布相关硬件及必要的安装信息。
GPL 和LGPL的区别:
主要区别在于传染性方面,GPL是工程级别的强传染,LGPL是库级别的弱传染
违反开源项目许可有何风险?
1.被许可人在违反许可证设定的义务时会构成合同违约
2.开源软件受著作权保护,著作权法著作权法,但是开源许可证本质却是走在了版权保护的对立面,所以其法律效力并没有被明确认可,是否侵权可能需要法院视具体情况而定
3.在中国,侵权责任和违约责任不能同时主张
4.在中国,过往的判例都没有涉及开源软件许可证本身
5.除了面临法律诉讼风险,违反许可证的行为会导致自由软件者和开源社区的排斥,某种程度上会影响违约公司的商业信誉