主流开源协议对比
GPL
GNU 通用公共许可证(GNU General Public License, GPL)
你只要用了我的软件/代码,就也要遵循 GPL。
GPL 对于推动自由软件和开源软件的发展起到了重要作用。
LGPL
GNU 宽通用公共许可证(Lesser General Public License, LGPL)
如果你用了我的代码,那你就要使用 LGPL。如果你只是调用了我的软件,那则无所谓。
除了商业授权,目前 Qt 的开源授权有两种,一种是 GPL 授权,另一种是 LGPL 授权(诺基亚收购后新增)。 对这两种开源授权,简单来说,使用 GPL 版本的软件一定还是 GPL 的开源软件, 无论是使用了 Qt 的程序代码还是修改了 Qt 库代码,都必须按照 GPL 来发布,这是 GPL 的传染性。 GPL 是什么都要开源,这对商业软件应用是不利的,所以诺基亚增加了 LGPL 授权 (第一个 L 可以叫 Lesser 宽松版或 Library 开发库版)。 使用 LGPL 授权就可以利用 Qt 官方动态链接库,而不必开放商业代码。只要不修改和定制 Qt 库, 仅使用 Qt 官方发布的动态链接库就可以不开源,这是商业友好的授权模式。 其实只要不是做商业,就不太需要关注用什么授权,以 GPL 授权发布程序代码就可以了。
MIT
BSD
如何选择许可证
graph TD
A{修改源码后,是
否可以闭源?} -->|否| B{新增代码是否要求
使用相同许可证?}
B -->|否| C{是否需要对源码的修
改之处提供说明文档?}
C -->|否| D(LGPL 许可)
C -->|是| E(Mozilla 许可)
B -->|是| F(GPL 许可)
A -->|是| G{每一个修改的文件,是
否都必须放置版权说明?}
G -->|否| H{衍生软件的广告,
是否可以用你
的名字促销?}
H -->|否| I(BSD 许可)
H -->|是| J(GPL 许可)
G -->|是| K(Apache 许可)
参考文献:
相关概念
Copyleft
著佐权,与著作权(Copyright)相对,著佐权并不限制著作内容传播,但是要求被许可者使用同样许可方式来发布派生作品。