外观
开源协议
约 450 字大约 2 分钟
2025-09-16
🌐 常见开源协议
1.MIT License
特点:最宽松、最常用。
要求:只需保留原作者的版权声明和许可声明。
自由度:几乎无限制,允许商用、修改、闭源再发布。
适用场景:库、框架、工具,追求最大化传播。
2.Apache License 2.0
特点:与 MIT 类似,但增加了专利授权条款。
要求:保留版权声明、修改说明,并明确提供专利授权。
自由度:允许闭源使用,但避免了专利诉讼风险。
适用场景:企业级项目,尤其涉及专利的软件。
3.BSD License
BSD-2-Clause(简化版,和 MIT 很像)
BSD-3-Clause(禁止用原作者名字做宣传)
自由度:和 MIT 接近,但额外加了署名和宣传限制。
适用场景:操作系统、网络库(如 FreeBSD、NetBSD)。
4.GPL (GNU General Public License)
特点:最“传染性”的协议。
要求:衍生作品必须继续使用 GPL,必须开源。
自由度:强制开源,限制闭源使用。
适用场景:追求软件自由、避免被闭源化利用的项目(如 Linux 内核)。
5.LGPL (Lesser GPL)
特点:GPL 的“宽松版”。
要求:如果只是调用库(动态链接),不用开源;但修改库本身要开源。
自由度:比 GPL 更容易被商业项目采用。
适用场景:通用类库(如 GTK+、FFmpeg)。
6.MPL (Mozilla Public License)
特点:介于 MIT 和 GPL 之间。
要求:修改过的文件要开源,但整个项目可以混合闭源代码。
自由度:比 GPL 宽松,比 MIT 严格。
适用场景:Firefox、Thunderbird 等 Mozilla 项目。
📊 总结对比
协议 | 闭源商用 | 必须开源衍生品 | 专利保护 | 复杂度 |
---|---|---|---|---|
MIT | ✅ | ❌ | ❌ | ⭐ |
Apache | ✅ | ❌ | ✅ | ⭐⭐ |
BSD | ✅ | ❌ | ❌ | ⭐⭐ |
GPL | ❌ | ✅ | ❌ | ⭐⭐⭐⭐ |
LGPL | ✅(调用) | ✅(修改库) | ❌ | ⭐⭐⭐ |
MPL | ✅ | ✅(修改文件) | ❌ | ⭐⭐⭐ |