一、 了解几种常见的开源协议

 

GPL、BSD、MIT、Apache和LGPL

(宽松程度:MIT > BSD > Apache > LGPL > GPL) 

 

 

二、 名词解释

 

(1)GNU(革奴计划)

 

GNU 是 GNU is Not Unix的缩写,

 

是由Richard Stallman在1983年9月27日公开发起的,当时其目标是希望创建一套完全自由的操作系统,来代替当时的闭源商业操作系统Unix。GNU代表了自由软件运动。

 

 

(2) GPL (General Public License,GNU通用公共许可协议)

 

          A.    GPL最初由理查德·斯托曼(Richard      Matthrew Stallman)为GNU计划而撰写,是一个广泛被使用的自由软件许可协议条款。

 

  B.    协议主要内容

 

只要在一个软件中使用GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。

 

解释:

GPL不允许修改后或衍生的代码作为闭源的商业软件进行发布销售。

我们熟悉的Linux就是使用的GPL协议,所以我们能用到各种免费的linux发行版。

 

3 LGPL GNU宽通用公共许可证

 

协议主要内容:

 

GPL协议不同,LGPL允许商业软件引用采用LGPL协议的代码,而不需要开源商业软件。

 

但是如果修改了LGPL协议的代码,所有修改的代码和衍生的代码都必须采用LGPL协议。

 

解释:

LGPL协议的开源代码很适合作为第三方类库被商业软件引用,

 

但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。


(4) MIT许可证

 

MIT是最宽松的软件许可协议,作者只想保留版权,而无任何其他限制。


5 BSD开源协议

 

跟其他协议相比,BSD也是相对宽松的软件许可协议。基本上可以“为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

 

(6)Apache协议

 

Apache与BSD类似,不过如果你修改了代码,需要在被修改的文件中说明,

在延伸的代码中需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。