跳到正文

开源许可证选择

Licence Chooser

按义务和兼容性比较常见的开源许可证,并生成对应的 LICENSE 文件。

把常见的开源许可证并排比较——各自允许什么、要求什么、限制什么——并生成填好你名字和年份的许可证文本。比较数据和文本都来自 choosealicense.com,未经编辑。

🔒 完全在你的浏览器里运行licenselegalopen-source

对比

许可证许可条件限制
MIT
  • 商业使用
  • 修改
  • 分发
  • 私人使用
  • 许可证与版权声明
  • 责任
  • 保证
Apache-2.0
  • 商业使用
  • 修改
  • 分发
  • 专利使用
  • 私人使用
  • 许可证与版权声明
  • 声明改动
  • 商标使用
  • 责任
  • 保证
GPL-3.0
  • 商业使用
  • 修改
  • 分发
  • 专利使用
  • 私人使用
  • 许可证与版权声明
  • 声明改动
  • 公开源码
  • 相同许可证
  • 责任
  • 保证
LGPL-3.0
  • 商业使用
  • 修改
  • 分发
  • 专利使用
  • 私人使用
  • 许可证与版权声明
  • 公开源码
  • 声明改动
  • 相同许可证(库)
  • 责任
  • 保证
AGPL-3.0
  • 商业使用
  • 修改
  • 分发
  • 专利使用
  • 私人使用
  • 许可证与版权声明
  • 声明改动
  • 公开源码
  • 通过网络使用即视为分发
  • 相同许可证
  • 责任
  • 保证
MPL-2.0
  • 商业使用
  • 修改
  • 分发
  • 专利使用
  • 私人使用
  • 公开源码
  • 许可证与版权声明
  • 相同许可证(按文件)
  • 责任
  • 商标使用
  • 保证
BSD-2-Clause
  • 商业使用
  • 修改
  • 分发
  • 私人使用
  • 许可证与版权声明
  • 责任
  • 保证
BSD-3-Clause
  • 商业使用
  • 修改
  • 分发
  • 私人使用
  • 许可证与版权声明
  • 责任
  • 保证
ISC
  • 商业使用
  • 分发
  • 修改
  • 私人使用
  • 许可证与版权声明
  • 责任
  • 保证
Unlicense
  • 私人使用
  • 商业使用
  • 修改
  • 分发
无
  • 责任
  • 保证

对比数据和许可证全文来自 github/choosealicense.com@d6277c04899c(choosealicense.com)。这是帮助对比的参考,不是法律意见。

MIT License

一份简短而宽松的许可证,条件只要求保留版权声明和许可证声明。受许可的作品、修改版本以及包含它们的更大作品,都可以用其他条款、不附带源代码地分发。

大致的格局是这样:MIT、BSD、ISC 除了保留声明之外几乎别无要求;Apache-2.0 另外明确授予专利权;MPL-2.0 按文件施加 Copyleft;GPL-3.0 把它扩展到整个程序,AGPL-3.0 再扩展到通过网络提供的软件;Unlicense 则放弃一切可以放弃的权利。上表中各项的说明照用 choosealicense.com 自己的措辞。涉及真金白银或真实纠纷时,去问律师,不要问网页。

怎么用

  1. 读比较表

    三列:你可以做什么、你必须做什么、哪些没有授予。这个领域的大致轮廓是:MIT/BSD/ISC 几乎什么都不要求,Apache-2.0 加上专利授权,GPL 家族要求下游使用同一许可证。

  2. 点击一行看它的文本

    完整的许可证文本会出现在下方,附一段它适合做什么的简短说明。

  3. 填年份和持有人

    只有部分许可证有这些字段。没有的话,版权声明应该放在你的源文件或 README 里,页面会这么说。

  4. 保存为 LICENSE

    仓库根目录下一个名为 `LICENSE` 的文件,是 GitHub、npm 和大多数扫描器会去找的东西。

常见问题

这是法律意见吗?

不是。它是建立在 choosealicense.com 摘要之上的比较辅助,而那些摘要本身就是近似。涉及真金白银或真实纠纷时,去问律师,不要问网页。

GPL 和 AGPL 有什么区别?

AGPL 堵上了网络这个口子:在 GPL 下,把修改过的软件作为托管服务运行不算分发,不触发任何公开源码的义务。AGPL 让网络使用也算数。就这一个区别,让一些公司干脆禁用它。

以后能换许可证吗?

你一个人写的代码,能——不过已经按旧条款拿到它的人保留旧条款。一旦别人贡献过代码,你需要他们的同意,这就是给一个成熟项目换许可证通常是一件耗时数月的行政工作的原因。

如果我根本不加许可证呢?

那么默认版权生效,任何人都没有使用、复制或修改你代码的许可——不管它在 GitHub 上是不是公开的。「没有许可证」是限制最严的选项,不是最宽松的。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。