Apache License 2.0
这是一个著名的非盈利开源组织 Apache 采用的协议,它励代码共享和尊重原作者的著作权, 同时也允许代码修改,再发布(作为开源或商业软件)。
要求
- 在代码中保留作者提供的协议和版权信息
- 如果修改了代码,则必须在被修改的文件中进行说明。
允许的权利
- 商用、分发、修改、专利授权、私用、附加协议
禁止项
- 禁止因使用等造成影响责任承担、也就是说免责申明
- 不能使用相应的商标。
- 提示:商业软件可以使用,也可以修改使用 Apache 协议的代码。
GPLv3
此协议是应用最为广泛的开源协议,拥有较强的版权自由要求,也赋予和保证了开源项目开 发者广泛的权利。基本上,它允许用户合法复制,分发和修改软件,但衍生代码的分发需开 源并且也要遵守此协议。此协议有许多变种,不同变种的要求略有不同。
要求
- 修改后的源码也需要公开
- 版权及协议也要于此协议一致
- 修改后,需要在相应的文件做说明,
允许
- 商用,分发,修改,专利授权,私用
禁止
- 禁止因使用等造成影响责任承担、也就是说免责申明
- 静止在软件分发传播过程中附加上原来没有的协议条款等
- 提示:商业软件不能使用 GPL 协议的代码。
LGPL
其主要用于一些代码库,LGPL 比起 GPL 它授予的权限较少,LGPL 允许商业软件通过类库 引用(link)方式使用 LGPL 类库而不需要开源商业软件的代码。因此使用 LGPL 协议的开源 代码可以被商业软件作为类库引用并发布和销售。注意是以类库的形式使用,也就是说如果 修改了源代码的话则也必须使用 LGPL 协议贡献源码出来。
要求
- 公开使用了 LGPL 部分的代码,其余部分不需要公开。
- 可以库引用的方式用于商业软件。
- 在代码中保留作者提供的协议和版权信息
允许
- 商用、分发、修改、专利授权、私用、附加协议
禁止
- 禁止承担责任,(免责申明)、
- 提示:商业软件可以使用,但不能修改 LGPL 协议的代码。
GPL/LGPL 都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品
MIT
宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形 式的使用,也就是原作者只想保留版权,而无任何其他了限制,而你必须在发行版里包含原许 可协议的声明,无论你是以二进制发布的还是以源代码发布的。
要求
- 在代码中保留作者提供的协议和版权信息
允许
- 商用、分发、修改、私用、附加协议
禁止
- 禁止承担责任,(免责申明)
- 提示:商业软件可以使用,也可以修改 MIT 协议的代码,甚至可以出售 MIT 协议的代码。
BSD
BSD 开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由 的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。与 MIT 协议 只存在细微差异。差别为 MIT 可以使用原名称进行宣传,而 BSD 不可以。
要求
- 在代码中保留作者提供的协议和版权信息
允许
- 商用、分发、修改、私用、附加协议
禁止
- 禁止承担责任,(免责申明)
- 提示:商业软件可以使用,也可以修改使用 BSD 协议的代码。
Mozilla 2.0
是由 Mozilla 基金创建维护的。此协议旨在较为宽松的 BSD 协议和更加互惠的 GPL 协议 中寻找一个折衷点,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。 这种授权维护了商业软件的利益,它要求基于这种软件得修改无偿贡献版权给该软件。
要求
- 公开源代码
- 在代码中保留作者提供的协议和版权信息
允许
- 商用、分发、修改、专利授权、私用、附加协议
禁止
- 禁止承担责任,(免责申明)
- 禁止使用商标
- 提示:商业软件可以使用,也可以修改 MPL 协议的代码,但修改后的代码版权归软件的 发起者。