经验分享

开源协议对照表分享和常用开源协议介绍

我的站长站 2024-01-05 人阅读

开源协议对照表

开源协议对照表分享和常用开源协议介绍

BSD协议

BSD协议全称为“Berkely Software Distribution”,中文译为“伯克利软件发行版”。其最早用于伯克利UNIX操作系统上的开源贡献。

允许:

允许修改源码

允许源码再发布

允许商业软件发布和销售

约束:

如果再次发布的产品中包含源代码,需要在源代码中必须带有原来代码中的BSD协议。

如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD 对商业比较友好,很多公司在选用开源产品的时候都首选 BSD 协议,因为可以完全控制这些第三方的代码,甚至在必要的时候可以修改或者二次开发。

Apache Licence 2.0

apache是一个有着全球影响力的开源组织,其推行的apache licence 2.0 与BSD十分类似。

允许:

允许使用方进行二次开发和商用

约束:

需要给代码的用户一份Apache Licence

如果你修改了代码,需要在被修改的文件中说明。

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

如果再次发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

GPL协议

GPL协议全称为“GNU General Public License”,中文名称为“GNU通用公共许可证”,主要是协议具有强制开源性,不利于商业化使用。

约束:

1、始终保持源码开放

无论是面向开发人员还是非开发人员,都需要确保二次开发后的产品整个源码可见;无论是以何种介质方式提供,即便是提供二进制可执行代码也必须附上产品源码。

2、不要求版权和署名

只要满足第一个条件,你无需在源码或在声明中备注前述开源作者等相关信息,整体表现为纯粹的反版权。

3、允许对使用方收取一定的服务费

但必须非常清晰地界定,这个费用与代码成果无关,是一笔感谢费而已。

只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,因此这个协议并不适合商用软件。
遵循 GPL 协议的开源软件数量极其庞大,包括 Linux 系统在内的大多数的开源软件都是基于这个协议的

MIT协议

MIT协议全称为“Massachusetts Institute of Technology”,中文译为“麻省理工学院许可协议”,该协议与BSD、Apache Licence 2.0颇为相似。

约束:

1、开源软件使用者有权使用、复制、修改、合并、出版发行、再授权等一系列二次开发权利和不受限的商业行为。

2、 更为惊人的是使用者可以做出与MIT条款相反的一些授权声明。

最新更新