开源许可证:一篇文章让你知道开源许可类型(一)

弱传染许可 vs 强传染许可 vs 宽松许可

“传染性”通常指开源许可证对衍生作品继承相同许可证要求的强制程度,即使用了开源代码后,用户代码是否必须按相同许可证开源。根据传染性强弱,开源许可证大致分为三类:

1. 强传染性许可证(Strong Copyleft)

  • 定义:要求任何修改版或衍生作品必须以相同许可证发布并开源,不能闭源。
  • 代表许可证:GPL系列(如GPLv2、GPLv3)
  • 特点:任何使用GPL许可代码的软件整体必须以GPL许可开源发布,违规则构成违约。

2. 弱传染性许可证(Weak Copyleft)

  • 定义:折中方案,仅修改开源代码本身时需开源,允许与非开源部分组合而不传染整个作品。
  • 代表许可证:LGPL、MPL、EPL
  • 特点:仅直接修改后的部分需开源,调用、链接或其他独立文件无需强制开源。

3. 宽松许可证(Permissive)

  • 定义:几乎无传染性,只要求保留版权和许可声明,使用限制极少。
  • 代表许可证:MIT、BSD、Apache License
  • 特点:允许自由修改并以闭源或其他许可证发布,非常商业友好。

常见类型的弱传染性许可证

LGPL(GNU宽通用公共许可证)

  • 定义与用途:GNU Lesser General Public License,设计用于软件库,允许闭源软件以链接方式引用而无需开源自身代码。
  • 核心条款
    • 动态链接LGPL库无需开源调用方。
    • 修改LGPL代码本身必须开源。
    • 发布时需提供许可证、版权声明及替换链接方式。
  • 适用场景:中间件、函数库,商业友好但不适用于修改LGPL后闭源发布。

MPL(Mozilla公共许可证)

  • 定义与背景:Mozilla Public License,文件级别弱Copyleft。
  • 核心条款
    • 修改MPL文件必须以MPL许可证发布。
    • 新增独立文件(非修改MPL)可闭源或采用其他许可证。
    • 含专利保护条款。
  • 适用场景:适合大型项目与企业开源项目,允许自主代码闭源。

EPL(Eclipse公共许可证)

  • 定义与背景:Eclipse Public License,由Eclipse基金会维护,文件级弱Copyleft。
  • 核心条款
    • EPL代码修改部分需以EPL开源。
    • 与其他代码组合成的软件可使用不同许可证。
    • 包含专利授权和保护条款。
  • 适用场景:企业级开源项目,插件或商业扩展可闭源,有利于构建商业友好的开源生态。
  • 许可的区别及清单帮助理解
许可证类型 示例许可证 传染性(Copyleft)强度 对衍生/组合作品的要求 主要条款与特点
强传染性许可证 GPLv3(通用公共许可证) 高(强Copyleft) 任何包含GPL代码的衍生作品整体必须以GPL开源发布;不可与闭源代码静态链接(视为一体),可使用插件式隔离作为单独程序避免传染。 修改、衍生代码必须使用GPL,同样开放源代码。
分发二进制时须提供对应的源代码。
禁止添加与GPL冲突的附加限制(保证许可证自由传递)。
无专利许可条款(GPLv3有专利交叉授权机制,但总体反对软件专利)。
弱传染性许可证 LGPLv3(宽通用公共许可证) 中(弱Copyleft) 修改的LGPL部分必须以LGPL开源;与之链接的更大型软件可使用其他许可证(闭源可行)。 允许通过库链接方式使用而不传染调用者代码(动态链接闭源许可OK)。
修改LGPL代码或衍生部分需以LGPL发布源码。
分发时需提供许可证文本和重新链接的机制(保证用户可替换LGPL部分)。
无额外专利授权条款(继承GPLv3的交叉授权特性)。
弱传染性许可证 MPL 2.0(Mozilla 公共许可证) 中(弱Copyleft) 修改的MPL源文件需MPL开源;可将MPL代码与非MPL代码在同一项目组合,其他文件可用不同许可(可闭源)。 文件级别Copyleft:针对受保护文件本身的修改需开源,同项目中未基于MPL的文件不受影响。
分发修改版需附带修改说明和MPL许可证。
包含专利许可:贡献者授予必要的专利许可,防止专利伏击。
允许与各种许可证代码混合组成更大项目,兼容性好。
弱传染性许可证 EPL 2.0(Eclipse 公共许可证) 中(弱Copyleft) 修改的EPL组件需EPL开源;EPL组件与其它代码组合形成的产品可用不同许可证发布(闭源可能)。 模块级Copyleft:修改EPL模块需开源,其它非EPL模块不受传染。
专利条款:贡献者授予专利许可;若受赠者对贡献者提起专利诉讼,则其专利授权终止(报复性条款)。
鼓励商业参与:Eclipse生态大量插件闭源分发,与核心开源共存。
宽松许可证 Apache 2.0 无(Permissive) 衍生作品可任选许可(可闭源),仅需保留版权和许可声明;如有Notice文件则须维护其中内容。 允许商用和再发布修改(包括闭源发布)。
专利授权:提供明确的专利授予和撤销条款(被诉专利侵权可终止授权)。
要求保留版权、许可证和NOTICE声明,不可更改Apache许可证本身。
无Copyleft约束,使用灵活,对企业友好。
宽松许可证 MIT(X11许可证) 无(Permissive) 衍生作品可闭源,无需发布源码,仅需在软件中保留原始版权声明和许可条款。 条款简洁:授权使用、复制、修改、合并、发布等,不限制商业用途。
需要保留版权声明和免责说明。
不提供专利授权(默认无专利条款,但也不限制专利主张)。
最宽松的许可证之一,几乎零传染,常用于开源库和前端框架等。

可以关注我其他文章
开源许可证:关于开源许可中强传染性许可证6个你不知道的小技巧(二)

你可能感兴趣的:(开源)