祈灵工具箱

©️开源许可证选择与生成 - MIT、Apache、GPL 对比与 LICENSE 生成

给项目选开源许可证时,MIT、Apache-2.0、GPL 到底差在哪?这个工具先用五个问题帮你缩小范围:授权的是代码、文档还是数据;别人修改后是否必须开源(宽松、文件级、库级、整个作品、连网络服务也算);是否需要明确的专利授权;是否要求署名;是否要能合并进 GPLv2 / GPLv3 项目。每个许可证都会给出匹配理由和不合适的原因。对比表把 15 种常用许可证(MIT、Apache-2.0、BSD-2/3-Clause、ISC、MPL-2.0、LGPL-2.1/3.0、GPL-2.0/3.0、AGPL-3.0、Unlicense、CC0-1.0,以及用于文档的 CC BY 4.0 / CC BY-SA 4.0)按专利授权、保留声明、标明修改、公开源码范围、网络条款、商标、GPL 兼容性、OSI / FSF 认可逐项列出。选定后可以生成填好年份和版权人的 LICENSE 全文(GNU、Apache、MPL 等长篇正文是逐字拷贝的官方文本,按需加载),带 -only / -or-later 的 SPDX 标识符和双许可表达式,十几种语言注释风格的源码文件头(完整声明或 REUSE 风格的 SPDX 标签),以及 package.json、Cargo.toml、pyproject.toml、composer.json、gemspec、pom.xml 的许可证字段和 README 徽章。全部在浏览器本地完成。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用开源许可证选择器

  1. 1在“帮我选”里回答作品类型、Copyleft、专利、署名、GPL 兼容等问题,查看推荐排序与理由
  2. 2需要细看时切到“对比表”,点击许可证名称进入生成
  3. 3填写年份、版权人、项目名,复制或下载 LICENSE,并复制源码文件头和包清单字段

常见问题

MIT 和 Apache-2.0 怎么选?
两者都是宽松许可证,允许闭源商用。Apache-2.0 多了明确的专利授权和“专利报复”条款(起诉专利侵权的人会失去授权),并要求保留 NOTICE 文件、标明修改,适合公司项目或涉及专利的代码;MIT 更短更简单。注意 Apache-2.0 与 GPLv2 不兼容,Rust 社区常用“MIT OR Apache-2.0”双许可兼顾两者。
GPL、LGPL、AGPL 有什么区别?
GPL 是强 Copyleft:分发包含 GPL 代码的程序(包括链接在一起的程序)时,整个程序都要以 GPL 开源。LGPL 只要求库本身的修改开源,闭源程序可以动态链接使用。AGPL 在 GPLv3 基础上增加网络条款:修改后通过网络向用户提供服务(SaaS),也必须向这些用户提供源码。
-only 和 -or-later 是什么意思?
GNU 许可证允许你选择“仅此版本”(如 GPL-3.0-only)或“此版本或任何更高版本”(GPL-3.0-or-later)。or-later 让代码将来能与新版 GPL 的代码合并,但也意味着接受 FSF 未来发布的条款。Linux 内核是 GPL-2.0-only,因此不能合并 GPLv3 代码。
文档、图片和数据该用什么许可证?
软件许可证主要针对代码。文档、图片、视频常用 CC BY 4.0(署名即可)或 CC BY-SA 4.0(相同方式共享);数据集、示例代码、素材希望别人随意使用时可以用 CC0 放弃权利。CC0 明确不授予专利权、未获 OSI 批准,不建议用于软件。本工具的说明仅供参考,不构成法律意见。