跳到主要内容

开源协议选择器

问答推荐 + 一键生成 LICENSE

🤔 不知道选哪个?回答三个问题

是否允许闭源/专有使用?

需要明确的专利授权?

开源力度(若须开源)?

LICENSE 全文预览
MIT License

Copyright (c) 2026 Your Name

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

生成完全在浏览器本地完成,不上传任何数据。GPL / AGPL 等超长协议在下载文件中指向官方权威全文;其余协议为可直接使用的完整文本,把年份与版权所有者替换后放到仓库根目录即可。

开源协议(License)是什么

开源协议是一份法律文件,规定了别人在「使用、复制、修改、再分发」你的代码时能做什么、不能做什么。它把「开源」从一句口号变成有约束力的规则:你选了某个协议,就等于向全世界宣布「在遵守这些条款的前提下,你可以免费用我的代码」。

没有协议的文件,法律上默认是「保留所有权利」——别人哪怕想引用一行,理论上都需要你单独授权。所以只要你想让别人用,就应该显式选一个协议

为什么不能随便选

不同协议的「开放程度」差异巨大:

  • 宽松协议(MIT / Apache / BSD / ISC / Unlicense):别人可以拿去闭源商用,只要保留版权声明。对采用方最友好,传播最快。
  • 弱 Copyleft(MPL / LGPL):你修改的那部分必须开源,但可以和闭源代码组合。适合做「希望被广泛集成、又想保护自己修改」的库。
  • 强 Copyleft(GPL / AGPL):基于它的衍生作品(甚至 AGPL 的网络服务)都必须以相同协议开源。适合强调「自由」、不希望被闭源吸收的项目。

选错协议可能带来法律风险:比如公司项目误用了 GPL 代码,可能被要求公开整个产品源码。

主流协议一览

MIT · 宽松许可(可闭源商用)

最流行的宽松协议,简单清晰,允许闭源与商用。

适用:开源首选 / 闭源可用 / 库/应用通用

Apache-2.0 · 宽松许可(可闭源商用)

宽松协议 + 明确的专利授权条款,企业项目偏爱。

适用:企业友好 / 专利授权 / 闭源可用

BSD-3-Clause · 宽松许可(可闭源商用)

宽松协议,比 MIT 多一条「禁止用作者名背书」。

适用:闭源可用 / 库通用

BSD-2-Clause · 宽松许可(可闭源商用)

BSD-3 去掉背书条款的精简版。

适用:闭源可用 / 库通用

ISC · 宽松许可(可闭源商用)

功能等同 MIT,表述更贴近 BSD 风格,npm 生态常用。

适用:闭源可用 / Node 生态

Unlicense · 宽松许可(可闭源商用)

主动放弃版权,把代码送入公共领域,最自由的释放方式。

适用:公共领域 / 极简

MPL-2.0 · 弱 Copyleft(库可被闭源调用)

文件级 Copyleft:你修改的 MPL 文件必须开源,但可与其他闭源文件组合。

适用:弱 Copyleft / 文件级开源 / 混合闭源

LGPL-3.0 · 弱 Copyleft(库可被闭源调用)

弱 Copyleft,适合作为可被闭源软件链接调用的库。

适用:弱 Copyleft / 库 / 可闭源调用

GPL-3.0 · 强 Copyleft(衍生作品必须开源)

强 Copyleft:基于 GPL 代码的衍生作品必须以 GPL 开源。

适用:强 Copyleft / 衍生必须开源

AGPL-3.0 · 强 Copyleft(衍生作品必须开源)

强 Copyleft 的网络版:即使只通过网页提供服务(不分发),也必须开源。

适用:强 Copyleft / 网络服务须开源

怎么快速选

  1. 能不能闭源商用?
    • 能 → 想要专利保护选 Apache-2.0,否则选 MIT / ISC / BSD / Unlicense
    • 不能(希望衍生作品也开源)→ 看下一步。
  2. 开源力度要多强?
    • 只要求「被修改的文件开源」、允许和闭源组合 → MPL-2.0 / LGPL-3.0
    • 要求「所有衍生作品甚至网络服务都开源」 → GPL-3.0 / AGPL-3.0

本工具的「帮我选」会按你的答案直接给出推荐,省去反复查文档。

生成的 LICENSE 怎么用

  1. 在工具里填好年份版权所有者(个人或组织名),右侧会自动替换占位符。
  2. 点「下载 LICENSE」,放到仓库根目录(文件名就是 LICENSE,无扩展名)。
  3. README 顶部加一行声明,例如:Licensed under the MIT License

说明:GPL / AGPL 等超长协议,本工具生成的 LICENSE 文件中会指向 GNU 官方权威全文,请以下载时文件内的链接为准;其余协议均为可直接使用的完整文本。

几个常见误区

  • 「不写协议 = 随便用」是错的:没协议 = 保留所有权利,别人用需要单独授权。
  • 「MIT 不能商用」是错的:MIT 明确允许商用,只需保留版权声明。
  • 「用了 GPL 我就不能赚钱」是错的:GPL 不禁止收费,只是要求你分发的衍生作品也开源。
  • 「AGPL 只影响分发」是错的:AGPL 把「通过网路提供服务」也视为需要开源的情形,纯 SaaS 服务端也要当心。

相关工具

所有生成与下载都在你的浏览器本地完成,本工具不收集、不上传任何数据。协议文本以官方发布版本为准,本页内容不构成法律意见。

常见问题

我该选哪个开源协议?
想要最自由、允许闭源商用,选 MIT 或 Apache-2.0(Apache 额外给你专利授权保护);只是想放弃版权、最大程度开放,选 The Unlicense 或 ISC;希望别人用你的库时也必须开源,选 LGPL / MPL(弱 Copyleft);希望所有衍生作品都开源,选 GPL / AGPL(强 Copyleft)。本工具的「帮我选」会按你的需求直接推荐。
MIT 和 Apache-2.0 有什么区别?
两者都允许闭源商用、修改和再分发。主要区别是 Apache-2.0 明确包含了专利授权条款:贡献者授予你使用其专利的权利,且如果你发起专利诉讼,授权会终止;MIT 没有专门提专利。企业项目常偏好 Apache-2.0 以降低专利风险。
GPL / AGPL 是不是不能商用?
能商用,但有条件:基于 GPL 代码的衍生作品必须以 GPL 开源(强 Copyleft)。AGPL 更进一步——哪怕你只通过网页提供服务、不分发二进制,也必须开源。这对纯做 SaaS 的服务端代码影响较大,选之前要评估。
生成的 LICENSE 文件怎么用?
把年份与版权所有者替换好(工具已自动替换),下载后放到仓库根目录,文件名就是 LICENSE(无扩展名)。建议在 README 顶部也标明协议,例如「Licensed under MIT」。