开源软件许可证核心指南
一、许可证基础分类
1. 宽松型许可证(Permissive)
- 核心特征:允许闭源衍生,仅保留版权声明
- 适用场景:商业集成、快速开发
- 代表协议:
📜 MIT
📜 Apache 2.0
📜 BSD
2. 著佐权型许可证(Copyleft)
- 核心特征:强制衍生作品开源(传染性)
- 分级强度:
⚖️ 强传染性:GPL/AGPL
⚖️ 弱传染性:LGPL/MPL
二、主流许可证对比分析
特性 | MIT | Apache 2.0 | GPL | LGPL |
---|---|---|---|---|
传染性 | 无 | 无 | 强(衍生作品必须开源) | 弱(仅修改部分需开源) |
专利授权 | ❌ 不包含 | ✅ 明确授权且禁止专利诉讼 | ❌ GPLv2无,GPLv3有 | ❌ 不包含 |
商标使用 | ❌ 不授权 | ❌ 需单独授权 | ❌ 不授权 | ❌ 不授权 |
商业友好度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
典型项目 | Vue, React | Kubernetes, Android | Linux, WordPress | 7-Zip, FFmpeg |
注:AGPL 额外要求云服务提供源码(如GitLab、MongoDB)
三、关键技术约束解析
1. 传染性机制
- GPL传染链:衍生作品整体需开源(如Busybox案)
- LGPL例外:动态链接闭源程序不触发传染(如商业软件调用glibc)
- MPL折中方案:仅修改文件需开源(Firefox扩展开发模式)
2. 云服务合规(AGPL核心价值)
- 传统GPL漏洞:SaaS服务无需分发二进制,规避开源义务
+ AGPL解决方案:网络交互即触发源码提供责任