主要功能
- 生成 LICENSE 文件 — 在 16 种许可证原文中填入年份和版权所有者,可复制或下载为 LICENSE 文件。同时生成 Apache-2.0 的 NOTICE、LGPL-3.0 的 COPYING 等附属文件。
- 选择向导 — 通过源代码公开范围、专利条款、版权声明、GPL-2.0 兼容性等 6 个问题,给出 3 个候选及理由。
- SPDX 文件头 — 以 7 种注释格式生成 SPDX-License-Identifier 和 SPDX-FileCopyrightText 行,还可附上 GNU、Apache、MPL、Boost 的官方声明。
- 对比表与兼容性检查器 — 通过许可·条件·限制矩阵一目了然地对比 16 种许可证,并连同条件一起确认代码能否放进其他许可证的项目。
- 各许可证解读与指南 — 讲解各许可证的义务和常见误解,以及著佐权、双重许可、SPDX 等概念。
使用方法
- 在生成器标签页中选择许可证。如果不知道该选哪个,请在「选择向导」标签页中回答问题。
- 输入年份和版权所有者(个人姓名或组织名称)。项目名称会用于 NOTICE 和 GNU 声明中。
- 确认右侧预览后,点击「下载」保存 LICENSE 文件,并放在仓库根目录。
- 在「文件头」标签页中选择与语言对应的注释格式,粘贴到每个源文件的最顶部。
常见问题
如果不加许可证会怎样?
按照著作权法,默认是「保留所有权利」。即使代码是公开的,他人也没有复制、修改、分发的权利,因此不能称为开源。如果是公开仓库,最好放置 LICENSE 文件。
MIT 和 Apache-2.0 哪个更好?
两者都是宽松型。MIT 简短明了;Apache-2.0 有明确的专利许可、发起专利诉讼时许可终止的条款,以及修改标明和 NOTICE 规则。企业贡献者多或关注专利时多选 Apache-2.0,想要轻便时多选 MIT。同时提供两者的「MIT OR Apache-2.0」方式也很常见。
使用 GPL 代码后,我的代码就必须公开吗?
只在内部使用、不对外分发时,不会产生公开义务。当你对外分发与 GPL 代码结合的程序时,需要以 GPL 提供整个程序的源代码。仅在服务器上运行的情况,GPL 不视为分发,但 AGPL 对修改版规定了提供源代码的义务。
年份怎么写?
一般写首次公开的年份,也可以写成「2019-2026」这样的范围。法律上没有每年更新年份的义务。
版权所有者写谁?
写编写代码的个人;如果是职务作品,通常由公司作为版权所有者。多人贡献时,也可以写成「Example 项目贡献者(The Example Authors)」。请确认所在公司的规定。
输入的姓名会保存在服务器上吗?
不会。LICENSE 正文和文件头都在浏览器内生成,输入值不会发送到服务器。为方便下次访问,仅保存在本浏览器的本地存储中,可随时删除。
已经公开的代码可以更换许可证吗?
版权所有者可以为今后的版本采用其他许可证,但对已发布版本授予的许可通常不会被撤回。如果混有其他贡献者的代码,则需要他们的同意(或 CLA)。
数据来源与许可证
- 许可证原文及许可·条件·限制分类:choosealicense.com(GitHub, Inc. and contributors,MIT License)— 仓库 github/choosealicense.com 的
_licenses数据,以 2026-09-10 的提交为准。 - 原文对照:SPDX License List 3.29(2026-09-16 发布,spdx.org/licenses)。标识符遵循 SPDX 列表。
- 兼容性判定:FSF《Frequently Asked Questions about the GNU Licenses》兼容性矩阵及各许可证原文。
- 许可证原文本身依据各许可证规定的条件(例如 GPL 的「允许逐字复制和分发原文」)收录。原文未作修改,仅将 MIT、BSD、ISC、0BSD 中的 [year]·[fullname] 占位符替换为输入值。
choosealicense.com — Copyright (c) GitHub, Inc. and contributors
MIT License (全文见仓库 LICENSE.md)