目前一共有近60种开源协议: Open Source Initiative
常见的协议:BSD、GPL、LGPL、MIT都是OSI批准的协议
MIT
使用者权限:
- 自由使用
- 修改源代码
- 修改后开源
- 闭源发布
约束:
- 源码/闭源 都需要在发行版里包含原许可协议申明
BSD
original BSD license、FreeBSD license、Original BSD license
估计代码共享,但需要尊重代码作者的著作权
使用者权限:
- 自由使用
- 修改源代码
- 修改后开源
- 闭源发布
约束:
修改了使用BSD协议的代码 || 以BSD协议的源代码作为基础
- 如果包含源代码,需要源代码带有
原来代码中的BSD协议
- 如果都是二进制类库/软件(闭源),需要在文档和版权声明中包含
原来代码中的BSD协议
- 不可用开源代码的
作者/机构名字
和原来产品的名字
做市场推广
Apache Licence 2.0
Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0
鼓励代码共享,尊重原作者著作权
是著名非盈利开源组织Apache采用的协议
使用者权限:
- 自由使用
- 修改源代码
- 修改后开源
- 闭源发布
约束:
- 如果包含源代码,需要包含Apache Licence
- 如果修改了代码/衍生代码,需要在被修改的文件/衍生的代码中带上
原来代码中的协议
- 如果发布的产品(闭源)包含Notice,需要在Notice中带有 Apache Licence
- 可以在产品(闭源)的Notice中增加自己的许可,但是不可以表现为对apache licence构成更改
LGPL
GNU Lesser General Public License
是GPL的一个主要为类库使用设计的开源协议
使用者权限:
- 自由使用
- 修改源码
- 修改后开源
- 对于只是引用 允许 闭源发布
约束:
- 修改、衍生代码,必须也使用LGPL协议
GPL
GNU General Public License
Linux采用GPl
开源/免费使用和引用/修改/衍生代码的开源
使用者权限:
- 自由使用
- 修改源码
- 修改后开源
约束:
- 使用/引用源码或者修改过的代码/衍生代码,则该产品也必须采用GPL协议