Git——GitHub开源协议


整体说明

  • GitHub上有许多开源协议,本文总结常见的开源协议及其含义

MIT License

  • 极宽松,允许自由使用、修改和分发,只需保留版权声明。无担保,作者不承担责任
  • 适用场景:适合个人项目希望代码广泛传播的场景
  • 个人开发者常使用的协议

Apache License 2.0

  • 允许商业使用、修改和分发,需保留版权和许可证
  • 特殊条款 :专利授权,明示禁止商标使用
  • 适用场景:企业项目,需明确专利授权
  • 目前的大模型大多使用的这个协议

GNU GPL v3

  • 强Copyleft,修改和分发需开源且保持相同许可证。衍生作品必须开源,商业分发需提供源代码
  • 适用场景:确保代码及其衍生版本永远开源

GNU LGPL v3

  • 弱Copyleft,允许闭源软件通过库引用方式使用。修改LGPL库本身需开源
  • 适用场景:开发开源库,允许闭源应用调用

BSD 2-Clause “Simplified” License

  • 允许自由使用和修改,禁止用作者名义推广。需保留版权声明
  • 适用场景:类似MIT,但限制稍多

BSD 3-Clause “New” License

  • 在2-Clause基础上增加禁止使用作者商标的条款
  • 适用场景:需明确商标保护的项目

Mozilla Public License 2.0 (MPL 2.0)

  • 部分Copyleft,修改文件需开源,未修改部分可闭源
  • 适用场景:适合混合开源/闭源的组件化项目

Creative Commons Licenses

  • CC0 :放弃版权,进入公有领域
  • BY :允许商用,但需署名
  • NC :禁止商业使用
  • 适用场景:非软件类作品(如文档、设计)

Unlicense

  • 放弃所有版权,代码进入公有领域
  • 适用场景:完全开放的公共项目

选择建议

  • 希望代码广泛传播: MIT/Apache
  • 确保衍生作品开源: GPL
  • 开发开源库: LGPL
  • 非软件作品: CC系列