前言
GNU 包含3个协议条款:
- GPL :GNU通用公共许可证(GNU General Public License)
- LGPL:GNU较宽松公共许可证 (GNU Lesser General Public License )
- GFDL:GNU自由文档许可证(GNU Free Documentation License )。
GPL
GNU通用公共许可证(GNU General Public License),允许软件商业化销售, 但不允许封闭源代码。
意思就是使用了GPL License就必须开源, 而且对遵循GPL的软件进行任何改动和/或再次开发并予以发布, 则必须也继承GPL协议
, 不允许封闭源代码。
例子
比如, 只要软件A 引用/修改/衍生了 使用GPL协议的产品B, 软件A也必须使用GPL协议。 比如代码中引用了GPL协议的产品B代码中的一个类库, 这个软件A也必须使用GPL协议
应用场景
- 不适合商业软件
- 对代码有保密要求的部门
LGPL
GNU较宽松公共许可证(GNU Lesser General Public License), 允许软件商业化销售, 但不允许封闭源代码。
意思就是使用了LGPL License就必须开源, 而且对遵循LGPL
的软件进行任何改动和/或再次开发并予以发布, 则您的产品必须继承LGPL协议
, 不允许封闭源代码。但是如果您的程序对遵循LGPL
的软件进行任何连接、调用而不是包含, 则允许封闭源代码。
例子
允许商业软件通过类库引用方式来使用LGPL类库
的产品, 且不需要开源商业软件的代码(引用LGPL类库
, 商业软件不需要使用LGPL协议
, 所以可以封闭源代码)。
但是如果修改LGPL协议
的代码或者衍生, 则所有修改的代码、涉及修改部分的额外代码和二次开发的代码都必须采用LGPL协议
, 意思就是要开源。
应用场景
LGPL类库
适合作为第三方类库被商业软件引用- 不适合希望以
LGPL协议
代码为基础, 通过修改和衍生的方式做二次开发的软件采用。
GFDL
GNU自由文档许可证(GNU Free Documentation License ), 自由软件的通用版权认证协议。
GFDL
主要用于文字作品。
一旦一个文字作品采用了GFDL许可证, 那么他人就可以自由使用这个作品, 包括用于商业用途, 唯一的条件是所有衍生作品也必须采用GFDL许可证。
应用场景
目前, 世界上最著名、最成功的使用GFDL的项目, 是维基百科wikipedia。
这意味着, 如果你利用wikipedia的材料写成一本书, 那么你的这本书, 他人也可以自由使用。