根据GitHub平台上的最新统计数据和开源社区分析,使用最多的三个开源协议依次是MIT许可证(45%)、GNU GPLv2/v3系列(含GPLv2(13%)、GPLv3(9%))和Apache(11%)。
概述
1. MIT许可证(最宽松协议)
- 自由度:允许任何形式的闭源商用、修改、再分发,仅需保留原始版权声明和许可声明,无专利授权条款,不限制衍生作品的开源性。
- 义务要求:在软件及其副本中明确标注版权声明(如 Copyright © [年份] [作者])。
- 典型项目:React、Node.js、jQuery 等轻量级库和前端框架。
- 优势:极致简洁(仅1段文本),商业友好,集成灵活。
-
- 局限:无专利保护,使用者可能面临专利诉讼风险(如2025年某AI公司因使用MIT代码未声明版权被诉)。
2. GNU GPL系列(强开源性协议)
(qt安装包,安装时候会提示对应开源协议)
- 强开源性(GPLv2/v3):衍生作品(含静态链接)必须开源,禁止闭源分发。;GPLv3 新增禁止硬件锁定(Tivoization)和专利反诉条款(诉讼则授权终止)。
- 弱开源性(LGPL):允许闭源软件动态链接LGPL库(如FFmpeg),但修改库代码需开源。
- 典型项目:Linux内核(GPLv2)、Git(GPLv2)、GIMP(LGPL)。
- 优势:保障代码自由延续,防止商业私有化。
- 局限:商业集成风险高(如苏州某公司因静态链接GPL代码被判赔300万)
3. Apache License 2.0(专利增强型协议)
- 专利保护:明确授予专利使用权,且提起专利诉讼则授权自动终止。
- 归属要求:保留原始许可文件,修改处需标注变更说明,并携带NOTICE文件(如有)。
- 典型项目:Kubernetes、Android、Apache Hadoop。
- 优势:专利条款完善,企业级项目首选(如Llama 2 AI模型采用此协议规避专利风险)。
- 局限:与GPLv3不兼容,混用需技术隔离(如微服务架构分隔代码)