实用工具

开源许可证生成器

获取 MIT、Apache 2.0、GPL、BSD、MPL 等十一种许可证的全文,自动填好你的名字和年份。

浏览器本地运行代码转换4198
免费

结果

结果会显示在这里。

每个开源仓库都需要一个 LICENSE 文件,而且里面必须是原样、未经改动的许可证全文——转述的版本不算许可证。这个工具提供 choosealicense.com 发布的文本,也就是在 GitHub 新建仓库时选择许可证后添加的同一份文件,并在许可证留有位置的地方填上版权年份和持有人。文本旁边还会列出这个许可证允许什么、要求复用者做什么、不承担什么,同样取自该网站。

它是怎么工作的

  • 包含十一种许可证:MIT、Apache-2.0、GPL-3.0、AGPL-3.0、LGPL-3.0、BSD-2-Clause、BSD-3-Clause、MPL-2.0、ISC、Unlicense 和 CC0-1.0。
  • 年份默认是今年,也可以写成 2019-2026 这样的区间。持有人留空时,文本中保留 [fullname],由你自己填写。
  • MIT、BSD 和 ISC 有版权行,会填入你的信息;Apache、GPL 系列、MPL、Unlicense 和 CC0 没有,文本原样返回。
  • 允许、条件和限制分别用 ✓、!、✗ 表示,与 choosealicense.com 的总结一致。文本是该网站的一份带日期的快照,并注明了快照对应的提交。

你的数据去了哪里

哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。

本工具免费且无需登录,运行结果只存在于你当前的页面里,不会被保存到任何地方。

它要花多少

本工具完全免费,不需要登录,也不消耗积分。

常见问题

该选哪个许可证?
想要限制最少,MIT 是最常见的选择。Apache-2.0 与之类似,但还授予专利许可,并要求修改过的文件注明改动。想让改进保持开源,GPL-3.0 要求分发修改版的人公开源码,AGPL-3.0 把这一要求扩展到通过网络提供服务的软件。MPL-2.0 介于两者之间:只有你授权的那些文件必须保持开源。
Apache 2.0 或 GPL 的名字写在哪里?
不写在许可证正文里——正文没有版权行。Apache 的版权声明放在 NOTICE 文件里,或者写在每个源文件开头的简短注释里;许可证末尾的附录给出了这段注释,占位符是 [yyyy] 和 [name of copyright owner]。GPL 结尾的 How to Apply These Terms to Your New Programs 一节给出了对应的注释模板。
可以修改许可证文本吗?
不要改条款。GitHub 的许可证识别、npm 和各种依赖扫描工具都是按原文识别许可证的,改过的许可证在法律上就是一份新许可证,别人得从头读起。填写年份和名字是正常的,改写条款则不行。
这算法律建议吗?
不算。文本是官方原文,摘要来自 choosealicense.com,但哪种许可证适合你的项目、它和你雇主的规定或依赖的许可证如何相互作用,在利害重大时应该咨询律师。

背后的开源项目

本工具运行在 github/choosealicense.com 之上,以 MIT 许可发布。如果你需要在自己的程序里实现同样的能力,直接用这个库。

github/choosealicense.com

也常被称作

  • 开源许可证生成
  • mit 许可证
  • 开源协议选择
  • apache 2.0 许可证全文
  • gpl 3.0 许可证
  • license 文件