开源协议选择
通过回答几个问题,帮你选择最适合的开源协议。支持 MIT、Apache-2.0、GPL-3.0、BSD 等主流协议对比。
1. 你希望别人如何使用你的代码?
2. 你是否需要专利保护条款?
3. 你对简洁性的偏好?
4. 你是否需要商标保护?
📋 协议对比表
| 特性 | MIT | Apache-2.0 | GPL-3.0 | AGPL-3.0 | LGPL-3.0 | BSD-3-Clause | MPL-2.0 | Unlicense |
|---|---|---|---|---|---|---|---|---|
| 类型 | 宽松 | 宽松 | 强Copyleft | 强Copyleft | 弱Copyleft | 宽松 | 弱Copyleft | 公共领域 |
| 允许闭源使用 | ✔ | ✔ | ✘ | ✘ | 部分 | ✔ | 部分 | ✔ |
| 修改需开源 | ✘ | ✘ | ✔ | ✔ | 文件级 | ✘ | 文件级 | ✘ |
| 专利授权 | ✘ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✘ |
| 商标保护 | ✘ | ✔ | ✘ | ✘ | ✘ | ✔ | ✘ | ✘ |
| 需保留版权声明 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ |
| 网络使用需开源 | ✘ | ✘ | ✘ | ✔ | ✘ | ✘ | ✘ | ✘ |
| 简洁度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 流行度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ |