跳到主要内容

为仓库授权

GitHub 上的公共仓库通常用于共享开源软件。为了使您的仓库真正成为开源的,您需要为其授权,以便其他人可以自由地使用、更改和分发该软件。

选择合适的许可证

我们创建了 choosealicense.com 来帮助您了解如何为代码授权。软件许可证会告诉其他人他们可以使用和不能使用您的源代码的内容,因此做出明智的决定非常重要。

您无需强制选择许可证。但是,如果没有许可证,则适用默认的版权法,这意味着您保留所有源代码权利,任何人都不得复制、分发或创作衍生作品。如果您正在创建开源项目,我们强烈建议您包含开源许可证。 开源指南 提供了有关为您的项目选择正确许可证的更多指导。

注意

如果您在 GitHub 上的公共存储库中发布您的源代码,根据 服务条款,其他 GitHub.com 用户有权查看和复制您的存储库。如果您已创建存储库并且不再希望用户访问该存储库,您可以将其设为私有。当您将存储库的可见性更改为私有时,其他用户创建的现有复制或本地副本仍然存在。有关更多信息,请参阅“设置存储库可见性”。

确定许可证的位置

大多数人将其许可证文本放在存储库根目录下名为LICENSE.txt(或LICENSE.mdLICENSE.rst)的文件中;这是一个来自 Hubot 的示例

有些项目在其自述文件中包含有关其许可证的信息。例如,项目的自述文件可能包含一条说明“此项目在 MIT 许可证条款下获得许可”的注释。

最佳实践是,我们建议您将许可证文件包含在您的项目中。

按许可证类型搜索 GitHub

您可以使用license限定符和精确的许可证关键字,根据其许可证或许可证系列过滤存储库。

许可证许可证关键字
学术自由许可证 v3.0AFL-3.0
Apache 许可证 2.0Apache-2.0
Artistic 许可证 2.0Artistic-2.0
Boost 软件许可证 1.0BSL-1.0
BSD 2 条款“简化”许可证BSD-2-Clause
BSD 3 条款“新”或“修订”许可证BSD-3-Clause
BSD 3 条款清晰许可证BSD-3-Clause-Clear
BSD 4 条款“原始”或“旧”许可证BSD-4-Clause
BSD 零条款许可证0BSD
Creative Commons 许可证系列CC
Creative Commons 零 v1.0 通用许可证CC0-1.0
Creative Commons 署名 4.0 许可证CC-BY-4.0
Creative Commons 署名-相同方式共享 4.0 许可证CC-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
微软公共许可证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 下获得许可的存储库。有关更多信息,请参阅“搜索存储库”。

检测许可证

开源 Ruby gem Licensee 将存储库的LICENSE文件与已知许可证的简短列表进行比较。Licensee 还提供 许可证 API让我们深入了解 GitHub 上的存储库是如何获得许可的。如果您的存储库使用的许可证未列在 选择许可证网站 上,您可以请求包含许可证

如果您的存储库使用的许可证已列在“选择许可证”网站上,但未在存储库页面的顶部清晰显示,则它可能包含多个许可证或其他复杂性。要检测您的许可证,请简化您的LICENSE文件,并在其他地方(例如存储库的README文件)记录复杂性。

将许可证应用于具有现有许可证的存储库

许可证选择器仅在您在 GitHub 上创建新项目时可用。

Screenshot the "Choose a license" section of the new repository page, including a dropdown menu labeled "License."

您可以使用浏览器手动添加许可证。有关向存储库添加许可证的更多信息,请参阅“向存储库添加许可证”。

免责声明

GitHub 开源许可工作旨在提供一个起点,以帮助您做出明智的选择。GitHub 显示许可证信息以帮助用户获取有关开源许可证及其使用它们的项目的信息。我们希望它有所帮助,但请记住,我们不是律师,我们会像其他人一样犯错误。因此,GitHub 按“现状”提供信息,不对其上或通过其提供的任何信息或许可证做出任何保证,并否认因使用许可证信息而造成的损害的责任。如果您对代码的正确许可证或任何其他相关的法律问题有任何疑问,最好咨询专业人士。

进一步阅读