赞
踩
- 接触过别人分享的工程项目或者使用过官方代码的都对开源协议不陌生,通常这些代码我们拿起来就能直接用,还能按照自己需求改改多亏了有开源协议撑腰。
- 但也一定看过不少的开源协议,什么GPL、BSD、Apache、MIT等等,一开始搞不懂是什么也不关心,反正都是开源,用不就得了。
- 但自己开发过软件项目就会知道,一旦你的东西开源,被人拿到后是不是商用这个事情就很讲究了。商用的东西往往因为面向群体和接触者的性质复杂,容易牵扯多方版权等纠纷。开源协议从某种角度上,限制并规避了部分版权风险。
1. 没有使用限制
用户可以使用代码,做任何想做的事情。
2. 没有担保
不保证代码质量,用户自担风险。
3. 披露要求(notice requirement)
用户必须披露原始作者。
1. BSD(二条款版)
分发软件时,必须保留原始的许可证声明。
2. BSD(三条款版)
分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为软件促销。
3. MIT
分发软件时,必须保留原始的许可证声明,与 BSD(二条款版)基本一致。
4. Apache 2
分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。
1. 如果分发二进制格式,必须提供源码
2. 修改后的源码,必须与修改前保持许可证一致
3. 不得在原始许可证以外,附加其他限制
1. Affero GPL (AGPL)
如果云服务(即 SAAS)用到的代码是该许可证,那么云服务的代码也必须开源。
2. GPL
如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。
3. LGPL
如果项目采用动态链接调用该许可证的库,项目可以不用开源。
4. Mozilla(MPL)
只要该许可证的代码在单独的文件中,新增的其他文件可以不用开源。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。