如何选择开源协议(得思斋主)

ABSTRACT

2018-12 得思斋博客文章。从游戏开发者的实际需求出发筛选六种主流开源协议(GPL/BSD/MIT/Mozilla/Apache/LGPL),结论:自用分享首选 MIT;并附阮一峰译选择图与分发、专利、披露、GPL 传染性四个 FAQ。

核心要点

  • 六种最常用协议:GPL、BSD、MIT、Mozilla、Apache、LGPL;均允许免费用、改、共享源码,差异在使用条件。
  • 游戏行业筛选逻辑:MPL 要求修改无偿回馈原作者,商业公司不可能接受;游戏核心代码必须闭源(防外挂角度也是);只剩 BSD、MIT、Apache 可选。
  • 作者选 MIT 的理由:不反对用自己名字宣传;Apache 要求说明修改且禁作者名号宣传;BSD 三条款也禁名号广告;BSD 二条款与 MIT 近似,选 MIT 诉求更清晰。
  • 一句话选择法:安心写代码随便用 → MIT;保留专利随便用 → Apache;希望代码生根发芽强制开源 → GPL。
  • FAQ-分发:除 AGPL 外只有「分发」才触发义务;公司内部使用不构成分发;SaaS 云服务不构成分发(AGPL 除外)。
  • FAQ-专利:Apache 2 与 GPL v3 有明确专利授权条款;BSD/MIT/GPL v2 未提但一般认为默认授予;除非有明确保留条款,使用开源软件不构成专利侵权。
  • FAQ-披露:所有协议都要求披露开源成分——随软件附带原始许可证全文并署名即可。
  • FAQ-GPL 传染性:法律上违约最坏后果是「停止使用 + 赔偿」,法院不会强制开源你的专有代码——但合规风险真实存在,商业项目仍应避开 GPL。
  • 所有开源代码原作者均不承担使用风险。

关键实体与概念

MIT、Apache 2.0、GPL、BSD、LGPL、MPL、AGPL、分发(distribution)、专利授权、披露要求、GPL 传染性

关联概念

来源回溯

  • 原始文件:raw/ip/wechat_articles/如何选择开源协议 - 得思斋主.md(2018-12-15)

时效性评估

  • 仍有效:六种协议的核心条款与选择逻辑多年未变;SaaS 不分发、AGPL 例外的判断仍是合规常识。
  • 已过时:AI 时代出现新变量——模型权重许可证(Llama、Qwen 等社区协议)、SSPL/Elastic License 等「伪开源」云保护协议、AI 训练数据的版权争议,传统六协议框架之外需另做功课;商业游戏/工具链合规审查(SBOM、许可证扫描)已成为工程标配,远超本文的科普层级。