目前经过开源促进会(Open Source Initiative)组织批准的开源协议有 58 种。以下是一些常见的开源协议:
GNU 通用公共许可证(GPL)
- 特点:具有 “传染性”,只要在一个软件中使用了受 GPL 保护的代码,那么整个软件都必须以 GPL 协议开源。例如 Linux 内核就采用 GPL 协议,保证了 Linux 的开源性和自由传播、修改的特性.
- 版本:有 GPLv2 和 GPLv3 两个主要版本,GPLv3 在软件专利和数字版权管理等方面规定更严格.
GNU 较宽松公共许可证(LGPL)
- 特点:相对 GPL 较为宽松,允许将开源代码链接到非开源的代码库中,使用 LGPL 库的软件可以是闭源的商业软件,但对开源代码本身的修改需遵循 LGPL 协议.
- 应用:一些图形库和工具库常采用此协议,如 Gtk+.
MIT 许可证
- 特点:是最宽松的开源协议之一,只要求在软件中包含原始版权声明,对修改后的软件是否开源无强制要求,允许用户自由使用、复制、修改、合并、发表、分发、再授权或销售.
- 应用:许多流行的 JavaScript 库如 jQuery 采用 MIT 许可证.
Apache 许可证
- 特点:除提供版权许可外,还有专利许可,适合涉及专利内容的开发者。其授权具有永久性、全球性、免费无版税、无排他性且不可撤消等特点,分发代码时需对参与开发的人给予认可并包含许可协议原文.
- 应用:Apache HTTP Server 采用此协议.
BSD 许可证
- 特点:比较宽松,允许自由使用、修改和分发软件,有 BSD 2-Clause 和 BSD 3-Clause 等多种变体,主要区别在于许可声明和免责声明的条款数量.
- 应用:FreeBSD 操作系统的部分组件采用 BSD 许可证.
Mozilla 公共许可证(MPL)
特点:允许将代码嵌入到闭源程序中,但修改的部分必须公开,结合了 GPL 和 BSD 的特点
来自豆包的回答