一、简介
目前主流的许可证为GPL、LGPL、AGPL、MIT、Apache、BSD、Mozilla
二、协议类别
GPL
GPL全称为GNU General Public License
(GNU通用公共许可协议),缩写为GNU GPL
或 GPL
,GPL
保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利,但是新增代码只能使用相同的许可证。
目前GPL协议存在三个不同的版本,关于不同版本的详细协议内存,请参考:GPL V1、GPL V2、GPL V3
采用该协议的代表作品:EMACS、部分Linux核心代码、GCC
LGPL
LGPL
的全称为GNU Lesser General Public License
(GNU 宽通用公共许可证),旧称为GNU Library General Public License
(GNU 库通用公共许可证)。允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
采用该协议的代表作品:Checkstyle、GTK等
MIT
MIT
全称为The MIT License
(MIT许可协议),又称X License
(X许可协议)或 X11 License
(X11许可协议),MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制,核心条款如下:
该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示,这意味着:
- 你可以自由使用,复制,修改,可以用于自己的项目;
- 可以免费分发或用来盈利;
- 唯一的限制是必须包含许可声明;
采用该协议的代表作品:PuTTY、X Window、Expat、Ruby on Rails、Lua等
Apache
Apache
全称为Apache License
(Apache许可证),兼容GPL V3
,Apache 协议 2.0
和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可。Apache 协议还有以下需要说明的地方:
永久权利
:一旦被授权,永久拥有;全球范围的权利
:在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题;授权免费,且无版税
:前期,后期均无任何费用;授权无排他性
:任何人都可以获得授权;授权不可撤消
:一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码;
采用该协议的代表作品:PyCharm、Kubernetes、TensorFlow、TypeScript、MathJax等
Mozilla
Mozilla
全称为Mozilla Public License
(Mozilla公共许可证),简称为MPL
BSD
BSD
在软件分发方面的限制比别的开源协议(如 GNU GPL
)要少。该协议有多种版本,最主要的版本有两个:
新BSD协议
:- 在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制;
- 禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款
简单BSD协议
:- 在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制;
采用该协议的代表作品:React、Tor、Go、V8(JavaScript引擎)、Homebrew等