全球各种开源协议,看这一篇就够了!
相比开源协议(Copyleft),大家更熟悉的应该是版权(Copyright),对比该两种英文名称,不难发现,开源协议天生就是与版权对着干的,版权是为了限制他人任意使用创作物的自由,而开源协议是为了保护这种自由,它允许他人任意地修改散布作品,惟其散布及修改的行为和作法,亦限定以Copyleft的方式行之。
不同的开源协议有着不同的规则和要求。问题在于,随着时代的进步,开源协议类目繁杂,即使是主流的几个开源协议,其法律文本内容也是相当复杂,在这个“太长不读”的时代,为了节省大家的时间,本文力图使用最简洁的语言介绍市面主流开源协议。
1. MIT 许可证
简介:MIT 许可证是最简单和最宽松的开源许可证之一。由麻省理工学院(MIT)发起。
主要特点:
- 允许被授权人无限制地使用、复制、修改、合并、发布、分发、再授权和/或出售软件及其副本。
- 唯一的要求是在所有副本中都必须包含版权声明和许可声明。
- 不提供对使用软件的担保。
2. Apache 许可证 2.0
简介:由Apache软件基金会发布,是一种宽松的许可证,旨在保护贡献者和允许非限制性的使用。
主要特点:
- 允许软件被用于任何目的,包括商业使用。
- 要求在修改后的文件中提供通知,说明已进行了修改。
- 包含对专利的明确授权。
- 要求保留版权声明、许可证声明和免责声明。
3. BSD 许可证
简介:伯克利软件分发(BSD)许可证是一系列宽松的许可证,分为2-条款和3-条款版本。
主要特点:
- 条款BSD许可证(也称为FreeBSD许可证或Simplified BSD许可证):
- 类似于MIT许可证,但不包含对广告材料的限制。
- 要求在所有副本中保留版权声明和许可声明。
-条款BSD许可证(也称为“New” BSD许可证或“Modified” BSD许可证):
- 与2-条款许可证类似,但增加了一个不得使用组织的名字来促销派生产品的条款。
4. Mozilla 公共许可证(MPL)
简介:MPL 是由Mozilla基金会开发的,旨在平衡开发者和贡献者的权益,同时允许与其他类型的软件(包括专有软件)集成。
主要特点:
- 允许在不同类型的许可证下混合使用和分发MPL软件和其他软件。
- 要求对修改后的源代码进行公开,但允许以源代码或二进制形式自由分发。
- 保护贡献者免受专利诉讼。
5. GNU 通用公共许可证(GPL)
简介:GPL是由自由软件基金会(FSF)推出的一系列许可证,用于保证软件的自由开源。
- 版本:
- GPLv1:最早的版本,为自由软件运动奠定了基础。
- GPLv2:添加了对专利的条款和“自由软件定义”的细化。
- GPLv3:进一步强化了对专利的保护,增加了针对“反破解”法律的保护。
- 主要特点:
- 要求所有修改和扩展版本在相同条款下发布。
- 确保软件的终端用户能够接触到源代码。
- 阻止在GPL授权的软件上添加任何形式的进一步限制。
6. GNU 较宽松公共许可证(LGPL)
- 简介:LGPL是GPL的一个衍生版本,主要用于库和软件组件。
- 版本:
- LGPLv2.1
- LGPLv3
- 主要特点:
- 允许将LGPL授权的代码以库的形式用于非自由软件,但修改LGPL代码或派生的新代码必须在LGPL下发布。
- 保持了软件库的开源性,同时提供一定程度的灵活性。
7. Affero 通用公共许可证(AGPL)
- 简介:AGPL是GPL的一个变体,专门针对网络上运行的软件。
- 主要特点:
- 如果软件通过网络提供服务,AGPL要求必须提供源代码。
- 用于防止所谓的“应用服务提供商”(ASP)漏洞,即在不分发软件的情况下通过网络提供软件服务。
8.WTFPL
- 简介:与其说 WTFPL 是一个正经许可证,不如说他是一个“搞笑许可证”,从其名称“Do What The Fuck You Want To Public License”就能看出来。这个协议的内容也很简单:DO WHAT THE FUCK YOU WANT TO。
- 主要特点:
- 商业化使用
- 再分发
- 修改
- 私人使用