跳至主要内容

为仓库添加许可证

GitHub 上的公共仓库常用于分享开源软件。为了让您的仓库真正成为开源,您需要为其添加许可证,以便他人可以自由使用、修改和分发该软件。

选择合适的许可证

我们创建了 choosealicense.com,帮助您了解如何为代码授权。软件许可证会告知他人可以对您的源代码做什么或不可以做什么,因此做出明智的决定至关重要。

您没有义务选择许可证。然而,如果没有许可证,默认适用版权法,这意味着您保留对源代码的全部权利,其他人不得复制、分发或创作衍生作品。如果您正在创建开源项目,我们强烈建议您添加开源许可证。开源指南提供了关于为项目选择合适许可证的更多指导。

注意

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

确定许可证的位置

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

有些项目在 README 中包含许可证信息。例如,项目的 README 可能会注明 “本项目遵循 MIT 许可证的条款”。

作为最佳实践,我们鼓励您在项目中附带许可证文件。

按许可证类型在 GitHub 上搜索

您可以使用 license 限定符和精确的许可证关键字,根据许可证或许可证族对仓库进行过滤。

许可证许可证关键字
Academic Free License v3.0AFL-3.0
Apache license 2.0Apache-2.0
Artistic license 2.0Artistic-2.0
Boost Software License 1.0BSL-1.0
BSD 2-clause "Simplified" licenseBSD-2-Clause
BSD 3-clause "New" or "Revised" licenseBSD-3-Clause
BSD 3-clause Clear licenseBSD-3-Clause-Clear
BSD 4-clause "Original" or "Old" licenseBSD-4-Clause
BSD Zero-Clause license0BSD
Creative Commons license familyCC
Creative Commons Zero v1.0 UniversalCC0-1.0
Creative Commons Attribution 4.0CC-BY-4.0
Creative Commons Attribution ShareAlike 4.0CC-BY-SA-4.0
Do What The F*ck You Want To Public LicenseWTFPL
Educational Community License v2.0ECL-2.0
Eclipse Public License 1.0EPL-1.0
Eclipse Public License 2.0EPL-2.0
European Union Public License 1.1EUPL-1.1
GNU Affero General Public License v3.0AGPL-3.0
GNU General Public License familyGPL
GNU General Public License v2.0GPL-2.0
GNU General Public License v3.0GPL-3.0
GNU Lesser General Public License familyLGPL
GNU Lesser General Public License v2.1LGPL-2.1
GNU Lesser General Public License v3.0LGPL-3.0
ISCISC
LaTeX Project Public License v1.3cLPPL-1.3c
Microsoft Public LicenseMS-PL
MITMIT
Mozilla Public License 2.0MPL-2.0
Open Software License 3.0OSL-3.0
PostgreSQL LicensePostgreSQL
SIL Open Font License 1.1OFL-1.1
University of Illinois/NCSA Open Source LicenseNCSA
The UnlicenseUnlicense
zLib LicenseZlib

当您按许可证族搜索时,结果将包含该族中的所有许可证。例如,使用查询 license:gpl 时,结果会包括使用 GNU 通用公共许可证 v2.0 和 GNU 通用公共许可证 v3.0 的仓库。更多信息,请参阅 搜索仓库

检测许可证

开源 Ruby gem Licensee 将仓库的 LICENSE 文件与已知许可证的简短列表进行比较。Licensee 还提供了 许可证 API让我们了解 GitHub 上仓库的授权情况。如果您的仓库使用的许可证未在 Choose a License 网站 列出,您可以 请求加入该许可证

如果您的仓库使用的许可证已在 Choose a License 网站上列出,但未在仓库页面顶部清晰显示,可能是因为包含了多个许可证或其他复杂情况。要使许可证被检测到,请简化您的 LICENSE 文件,并将复杂信息放在其他位置,例如仓库的 README 文件中。

为已有许可证的仓库添加许可证

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

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

您可以通过浏览器手动添加许可证。有关向仓库添加许可证的更多信息,请参阅 向仓库添加许可证

免责声明

GitHub 的开源许可证工作旨在提供一个起点,帮助您做出明智的选择。GitHub 显示许可证信息,以帮助用户了解开源许可证及使用这些许可证的项目。我们希望这能有所帮助,但请记住,我们不是律师,也会像其他人一样犯错。因此,GitHub 按“原样”提供信息,对通过其提供的任何信息或许可证不作任何保证,并对因使用许可证信息导致的损害不承担责任。如果您对代码的合适许可证或其他法律问题有任何疑问,最好咨询专业人士。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.