Git

Github 开源协议

JACIN5 分钟阅读
AI 摘要

这份笔记面向准备在 GitHub 上发布代码、库或文档的开发者,聚焦如何用开源许可证约束后续使用、修改、商用和再分发。内容用表格横向比较 MIT、Apache 2.0、GPL v3、LGPL v3、BSD、MPL、AGPL、Unlicense 与 Creative Commons,重点列出是否允许商用、是否要求衍生品开源、能否闭源使用以及是否允许修改等决策维度。它特别强调许可证“传染性”的差异:MIT、Apache、BSD 和 Unlicense 更宽松,通常允许闭源引用;GPL 与 AGPL 要求更强,AGPL 还覆盖网络部署和 SaaS 场景;LGPL 与 MPL 则分别以共享库和文件级开源形成折中。针对不同使用目的,笔记给出 MIT/Apache 2.0、GPL v3、LGPL/MPL、CC BY/CC0、Unlicense 等推荐取向,帮助读者在商业项目、自由软件、可闭源集成、文档内容和公共领域释放之间快速筛选。需要注意的是,Creative Commons 主要面向文章、文档等内容作品而非代码,选择时应区分代码许可证和内容授权。最后还提供 choosealicense.com 与 GitHub CLI 创建仓库时选择协议的入口,适合作为开源项目初始化前的速查清单。

目录#

[[toc]]

选择开源许可证(Open Source License)来约束代码

🏆 常见开源许可证一览

许可证是否允许商用是否需要开源衍生品是否可闭源使用是否允许修改特点简述
MIT✅ 是❌ 否✅ 是✅ 是非常宽松,允许闭源使用和修改,只需保留版权声明
Apache 2.0✅ 是❌ 否✅ 是✅ 是类似 MIT,但额外提供专利授权保护
GPL v3✅ 是✅ 是❌ 否✅ 是强制继承开源(传染性),适用于自由软件运动
LGPL v3✅ 是✅ 是(库修改)✅ 是(动态链接)✅ 是比 GPL 更宽松,适合库类项目
BSD 2-Clause/3-Clause✅ 是❌ 否✅ 是✅ 是类似 MIT,主要在学术界和 BSD 系统中流行
MPL 2.0✅ 是✅ 是(文件级别)✅ 是✅ 是文件级开源,不强制整个项目都开源
AGPL v3✅ 是✅ 是(包括 SaaS)❌ 否✅ 是比 GPL 更严格,网络部署也要开源(SaaS 传染)
Unlicense✅ 是❌ 否✅ 是✅ 是完全放弃版权(进入公共领域),非常宽松
Creative Commons (CC)部分许可部分强制部分许可✅ 是主要用于内容(非代码)作品:文章、文档等
使用目的推荐协议
开源商业项目、库MIT / Apache 2.0
追求自由软件哲学GPL v3
开源但希望可闭源集成LGPL / MPL
开源文档或内容CC BY / CC0
放弃所有权,最大自由Unlicense

🚫 “传染性”说明(重要)

MIT、Apache、BSD:无传染性,可闭源引用。

GPL / AGPL:有强传染性,使用者也必须开源。

LGPL:弱传染性,适合用于共享库。

MPL:中等传染性,仅要求修改的文件开源。

🧭 工具推荐

• 🧪 choosealicense.com:GitHub 官方推荐选许可证网站。

• ✅ git init 后可执行 gh repo create 自动选择开源协议(MIT/Apache2/GPL…)

评论

还没有评论,来发第一个吧