Skip to main content

为仓库颁发许可证

GitHub上的公共存储库通常用于共享open source软件。 要使存储库真正open source,需要对其进行许可,以便其他人可以自由使用、更改和分发软件。

选择合适的许可

我们创建了 choosealicense.com,帮助你了解如何授权代码。 软件许可是告诉其他人,他们能够对您的代码做什么,不能做什么,因此做明智的决定很重要。

您无需选择许可证。 但如果没有许可,就会默认实施版权法,因此您会保留对您的源代码的所有权利,任何人都不能复制、分发您的工作或创建其派生作品。 我们强烈建议你在创建开源项目时包括开源许可证。 开放源代码指南为项目选择正确许可证提供了额外指导。

注意

根据服务条款,如果你在 GitHub 的公共存储库中发布源代码,GitHub.com 的其他用户有权查看你的存储库并为其创建分支。 如果您已创建仓库,并且不再希望用户访问它,便可将仓库设为私有。 在将仓库的可见性变为私有时,其他用户创建的现有复刻或本地副本仍将存在。 有关详细信息,请参阅“设置存储库可见性”。

查找您的许可证位置

大多数用户都会将许可证文本放在存储库根中名为 LICENSE.txt(或者 LICENSE.mdLICENSE.rst)的文件中;此处有来自 Hubot 的示例

有些项目在其自述文件中包含许可的相关信息。 例如,项目的自述文件可能包含一条注释,表示“此项目根据 MIT 许可的条款进行许可”。

作为最佳实践,我们建议您的项目随附许可文件。

按许可证类型搜索GitHub

你可以使用 license 限定符和精确的许可证关键字,根据存储库的许可证或许可证系列来筛选存储库。

许可证许可关键字
学术自由许可证 v3.0AFL-3.0
Apache 许可证 2.0Apache-2.0
艺术许可协议 2.0Artistic-2.0
Boost 软件许可证 1.0BSL-1.0
BSD 二条款“简化版”许可证BSD-2-Clause
BSD三条款新版或修订版许可证BSD-3-Clause
BSD 3 条款净化版许可证BSD-3-Clause-Clear
BSD 4 条款“原版”或“旧版”许可证BSD-4-Clause
BSD 零条款许可证0BSD
知识共享许可证系列CC
知识共享零 v1.0 通用CC0-1.0
知识共享署名 4.0CC-BY-4.0
知识共享署名-相同方式共享 4.0CC-BY-SA-4.0
你想干嘛就干嘛公共许可证WTFPL
教育社区许可证 v2.0ECL-2.0
Eclipse 公共许可证 1.0EPL-1.0
Eclipse 公共许可证 2.0EPL-2.0
欧盟公共许可证 1.1EUPL-1.1
GNU Affero 通用公共许可证 v3.0AGPL-3.0
GNU 通用公共许可证系列GPL
GNU 通用公共许可证 v2.0GPL-2.0
GNU 通用公共许可证 v3.0GPL-3.0
GNU 较宽松通用公共许可证系列LGPL
GNU 宽松通用公共许可证 v2.1LGPL-2.1
GNU 较宽通用公共许可证 v3.0LGPL-3.0
ISCISC
LaTeX 项目公共许可证 v1.3cLPPL-1.3c
Microsoft 公共许可证MS-PL
MITMIT
Mozilla 公共许可证 2.0MPL-2.0
开放软件许可证 3.0OSL-3.0
PostgreSQL 许可证PostgreSQL
SIL 开源字体许可 1.1OFL-1.1
伊利诺伊大学/NCSA 开源许可证NCSA
Unlicense (反许可协议)Unlicense
zLib 许可证Zlib

按系列许可搜索时,搜索结果将包含该系列的所有许可。 例如,使用查询 license:gpl 时,搜索结果将包括由 GNU 通用公共许可证 v2.0 和 GNU 通用公共许可证 v3.0 许可的存储库。 有关详细信息,请参阅“搜索仓库”。

检测许可

          [ open source Ruby gem Licensee](https://github.com/licensee/licensee)将存储库的 _LICENSE_ 文件与已知许可证的简短列表进行比较。 被许可方还提供[许可证 API](/rest/licenses),[让我们了解 GitHub 上的存储库如何获得许可](https://github.com/blog/1964-open-source-license-usage-on-github-com)。 如果存储库使用的许可证未在[选择许可证网站](https://choosealicense.com/appendix/)上列出,可以[请求包括许可证](https://github.com/github/choosealicense.com/blob/gh-pages/CONTRIBUTING.md#adding-a-license)。

如果您的仓库使用的许可列在“选择许可”网站中,但未明确显示在仓库页面顶部,其中可能包含多个许可或存在其他复杂性。 为使你的许可证被检测到,请简化许可证文件,并在其他地方(例如存储库的自述文件中)注明复杂度 。

将新的许可应用到已有许可的仓库

仅当在 GitHub 上创建新项目时,许可证选取器才可用。

          ![新存储库页的“选择许可证”部分的屏幕截图,其中包括标有“许可证”的下拉菜单。](/assets/images/help/repository/repository-license-picker.png)

您可以使用浏览器手动添加许可。 有关将许可证添加到仓库的详细信息,请参阅 添加许可到仓库

免责声明

GitHub open source许可工作的目标是提供一个起点,帮助你做出明智的选择。 GitHub显示许可证信息,以帮助用户获取有关open source许可证和使用许可证的项目的信息。 我们希望它有帮助,但请记住,我们不是律师,像其他人一样,我们也会犯错。 因此,GitHub以“as-is”为基础提供信息,不对其提供的任何信息或许可证作出任何保证,并否认使用许可证信息造成的损害责任。 如果对适合您的代码的许可有任何疑问,或有任何其他相关的问题,最好咨询专业人员。

其他阅读材料