GitHub License 开源许可证选择指南

首先声明:

本文中对各个开源许可证的描述仅是一个通俗易懂的解释,并不是法律建议。

本人不对这些内容做任何保证,也不承担因这些内容导致的损失或任何责任。

具体许可证内容及许可证的限制、要求等,请参考其各自许可证的原文。

以下内容中对任何许可证的对比,仅指片面的粗略概括,并不是指原文内容。

MIT License

限制及要求相对自由。

  • 允许用于商业目的
  • 允许发行
  • 允许修改
  • 允许私人使用
  • 许可证和版权声明的副本必须随软件一起提供
  • 不承担一定的责任
  • 不提供任何保证

GNU GPLv3 License (GNU General Public License v3.0)

限制及要求相对较严格。

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 明确授予专利权
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 分发软件时必须以相同的许可证发布修改(在某些情况下可以使用类似或相关的许可证)
  • 对源代码的修改必须有文件记录
  • 不承担一定的责任
  • 不提供任何保证

Apache License 2.0

限制及要求相对中性。

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 明确授予专利权
  • 允许私人使用
  • 许可证和版权声明的副本必须随软件一起提供
  • 对源代码的修改必须有文件记录
  • 不承担一定的责任
  • 不授予商标权
  • 不提供任何保证

BSD 2-Clause "Simplified" License

限制及要求和 MIT 许可证相似。

  • 允许用于商业目的
  • 允许发行
  • 允许修改
  • 允许私人使用
  • 许可证和版权声明的副本必须随软件一起提供
  • 不承担一定的责任
  • 不提供任何保证

BSD 3-Clause "New" or "Revised" License

限制及要求和 MIT 许可证相似。

  • 允许用于商业目的
  • 允许发行
  • 允许修改
  • 允许私人使用
  • 许可证和版权声明的副本必须随软件一起提供
  • 不承担一定的责任
  • 不提供任何保证

Eclipse Public License 2.0

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 明确授予专利权
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 分发软件时必须以相同的许可证发布修改(在某些情况下可以使用类似或相关的许可证)
  • 不承担一定的责任
  • 不提供任何保证

GNU AGPLv3 (GNU Affero General Public License v3.0)

限制及要求更严格。

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 明确授予专利权
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 通过网络与软件进行交互的用户有权获得源代码的副本
  • 分发软件时必须以相同的许可证发布修改(在某些情况下可以使用类似或相关的许可证)
  • 对源代码的修改必须有文件记录
  • 不承担一定的责任
  • 不提供任何保证

GNU GPLv2 (GNU General Public License v2.0)

相比于 GNU GPLv3 许可证,少了一条明确授予专利权。

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 分发软件时必须以相同的许可证发布修改(在某些情况下可以使用类似或相关的许可证)
  • 对源代码的修改必须有文件记录
  • 不承担一定的责任
  • 不提供任何保证

GNU LGPLv2.1 (GNU Lesser General Public License v2.1)

相比于 GNU GPLv2 许可证,区别在相同许可证的限制。

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 分发软件时必须以相同的许可证发布修改(在某些情况下可以使用类似或相关的许可证,或者这个条件可能不适用于将本软件作为库使用的作品)
  • 对源代码的修改必须有文件记录
  • 不承担一定的责任
  • 不提供任何保证

GNU LGPLv3.0 (GNU Lesser General Public License v3.0)

相比于 GNU GPLv3 许可证,区别在相同许可证的限制。

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 明确授予专利权
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 分发软件时必须以相同的许可证发布修改(在某些情况下可以使用类似或相关的许可证,或者这个条件可能不适用于将本软件作为库使用的作品)
  • 对源代码的修改必须有文件记录
  • 不承担一定的责任
  • 不提供任何保证

Mozilla Public License 2.0

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 明确授予专利权
  • 允许私人使用
  • 必须公开源代码
  • 许可证和版权声明的副本必须随软件一起提供
  • 分发软件时必须以相同的许可证发布对现有文件的修改(在某些情况下可以使用类似或相关的许可证)
  • 不承担一定的责任
  • 不授予商标权
  • 不提供任何保证

The Unlicense

  • 允许商业用途
  • 允许发行
  • 允许修改
  • 允许私人使用
  • 不承担一定的责任
  • 不提供任何保证

最后给萌新一点建议,如果开源的内容对你没有太大的利弊影响并且不想做太多限制,可以选择普遍且宽松的 MIT 许可证。

各个许可证的特点来源于:choosealicense.com

如果发现文章内容有任何不正之处,欢迎评论指出。谢谢!

猜你喜欢

转载自blog.csdn.net/u012088909/article/details/106034587