Git

Github 开源协议

JACIN··8 分钟阅读

目录#

[[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…)

评论

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