选择合适的许可
我们创建了 choosealicense.com,帮助你了解如何授权代码。 软件许可是告诉其他人,他们能够对您的代码做什么,不能做什么,因此做明智的决定很重要。
您没有选择许可的义务, 但如果没有许可,就会默认实施版权法,因此您会保留对您的源代码的所有权利,任何人都不能复制、分发您的工作或创建其派生作品。 如果您创建开源项目,强烈建议您包含开源许可。 开放源代码指南为项目选择正确许可证提供了额外指导。
Note
根据服务条款,如果你在 GitHub 的公共存储库中发布源代码,GitHub.com 的其他用户有权查看你的存储库并为其创建分支。 如果您已创建仓库,并且不再希望用户访问它,便可将仓库设为私有。 在将仓库的可见性变为私有时,其他用户创建的现有复刻或本地副本仍将存在。 有关详细信息,请参阅“设置存储库可见性”。
确定许可的位置
大多数用户都会将许可证文本放在存储库根中名为 LICENSE.txt
(或者 LICENSE.md
或 LICENSE.rst
)的文件中;此处有来自 Hubot 的示例。
有些项目在其自述文件中包含许可的相关信息。 例如,项目的自述文件可能包含一条注释,表示“此项目根据 MIT 许可的条款进行许可”。
作为最佳实践,我们建议您的项目随附许可文件。
按许可类型搜索 GitHub
你可以使用 license
限定符和精确的许可证关键字,根据存储库的许可证或许可证系列来筛选存储库。
许可证 | 许可关键字 |
---|---|
学术自由许可证 v3.0 | AFL-3.0 |
Apache 许可证 2.0 | Apache-2.0 |
艺术许可协议 2.0 | Artistic-2.0 |
Boost 软件许可证 1.0 | BSL-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.0 | CC-BY-4.0 |
知识共享署名 ShareAlike 4.0 | CC-BY-SA-4.0 |
你想干嘛就干嘛公共许可证 | WTFPL |
教育社区许可证 v2.0 | ECL-2.0 |
Eclipse 公共许可证 1.0 | EPL-1.0 |
Eclipse 公共许可证 2.0 | EPL-2.0 |
欧盟公共许可证 1.1 | EUPL-1.1 |
GNU Affero 通用公共许可证 v3.0 | AGPL-3.0 |
GNU 通用公共许可证系列 | GPL |
GNU 通用公共许可证 v2.0 | GPL-2.0 |
GNU 通用公共许可证 v3.0 | GPL-3.0 |
GNU 宽通用公共许可证系列 | LGPL |
GNU 宽通用公共许可证 v2.1 | LGPL-2.1 |
GNU 宽通用公共许可证 v3.0 | LGPL-3.0 |
ISC | ISC |
LaTeX 项目公共许可证 v1.3c | LPPL-1.3c |
Microsoft 公共许可证 | MS-PL |
MIT | MIT |
Mozilla 公共许可证 2.0 | MPL-2.0 |
开放软件许可证 3.0 | OSL-3.0 |
PostgreSQL 许可证 | PostgreSQL |
SIL 开源字体许可 1.1 | OFL-1.1 |
伊利诺伊大学/NCSA 开源许可证 | NCSA |
The Unlicense | Unlicense |
zLib 许可证 | Zlib |
按系列许可搜索时,搜索结果将包含该系列的所有许可。 例如,使用查询 license:gpl
时,搜索结果将包括由 GNU 通用公共许可证 v2.0 和 GNU 通用公共许可证 v3.0 许可的存储库。 有关详细信息,请参阅“搜索仓库”。
检测许可
开放源代码 Ruby gem 被许可方将存储库的许可证文件与已知许可证的简短列表进行比较。 被许可方还提供许可证 API,让我们了解 GitHub 上的存储库如何获得许可。 如果存储库使用的许可证未在选择许可证网站上列出,可以请求包括许可证。
如果您的仓库使用的许可列在“选择许可”网站中,但未明确显示在仓库页面顶部,其中可能包含多个许可或存在其他复杂性。 为使你的许可证被检测到,请简化许可证文件,并在其他地方(例如存储库的自述文件中)注明复杂度 。
将许可应用到带现有许可的仓库
许可证选择器仅当你在 GitHub 上创建新项目时可用。
您可以使用浏览器手动添加许可。 有关将许可证添加到仓库的详细信息,请参阅 添加许可到仓库。
免责声明
GitHub 开源许可的目标是提供一个起点,帮助您做出明智的决定。 GitHub 显示许可信息以帮助用户了解开源许可以及使用它们的项目。 我们希望它有帮助,但请记住,我们不是律师,像其他人一样,我们也会犯错。 因此,GitHub“按原样”提供信息,对提供或通过其提供的任何信息或许可不做任何保证,并对使用许可信息所造成的损害不承担责任。 如果对适合您的代码的许可有任何疑问,或有任何其他相关的问题,最好咨询专业人员。
其他阅读材料
- 开放源代码指南的开放源代码的法律层面部分
- GitHub Skills