开源协议介绍

717 阅读5分钟

image.png

GNU通用公共许可证

(GNU General Public License, GPL)

  • 简介:GPL是保护软件的自由和共享的最常用的开源协议。
  • 常用版本:GPLv3
  • 适用性:适用于几乎所有软件,特别是在开源社区中广泛使用。
  • 优点:保护开源软件的自由,要求所有修改的源代码也必须开源。
  • 缺点:GPL的要求可能对某些商业软件和封闭系统造成限制。

MIT许可证

(MIT License)

  • 简介:MIT许可证是一种宽松的开源许可证,允许软件的自由使用、复制、修改和分发。
  • 常用版本:MIT许可证,X11许可证
  • 适用性:适用于几乎所有类型的开源和商业软件。
  • 优点:灵活简单,允许在商业闭源软件中使用。
  • 缺点:对软件使用有几乎没有限制,可能导致滥用和责任分散。

Apache许可证

(Apache License)

  • 简介:Apache许可证是一种宽松的开源许可证,专注于商业友好性和专利问题。
  • 常用版本:Apache License 2.0
  • 适用性:适用于几乎所有类型的软件,特别是与网络相关的项目。
  • 优点:明确了专利许可权,商业友好,法律框架较完善。
  • 缺点:可能导致专利授权的问题,条款较复杂。

BSD许可证

(BSD License)

  • 简介:BSD许可证是一种宽松的开源许可证,允许对软件进行修改、使用和分发,同时保留原作者的版权声明。
  • 常用版本:BSD许可证,BSD 2-Clause License,BSD 3-Clause License
  • 适用性:适用于各种软件和文档。
  • 优点:简洁明了,对商业软件友好,保留版权声明。
  • 缺点:没有对衍生软件进行强制的开源要求。

Eclipse公共许可证

(Eclipse Public License, EPL)

  • 简介:EPL是为Eclipse开发的开源软件而设计的许可证,类似于GPL。
  • 常用版本:EPLv2
  • 适用性:适用于Eclipse软件和其他Java项目。
  • 优点:保护软件的自由,允许与其他开源许可证进行连系。
  • 缺点:可能限制商业应用的某些用途。

Mozilla公共许可证

(Mozilla Public License, MPL)

  • 简介:MPL是保护自由软件和开放源代码项目的许可证。
  • 常用版本:MPLv2
  • 适用性:特别适用于与Mozilla相关的项目。
  • 优点:保护软件的自由,可与其他开源许可证进行连系。
  • 缺点:条款较复杂,可能导致混淆。

CDDL

(Common Development and Distribution License)

  • 简介:CDDL是为OpenSolaris而设计的开源许可证,类似于MPL。
  • 常用版本:CDDL 1.0
  • 适用性:适用于OpenSolaris等相关项目。
  • 优点:保护软件的自由,可与其他开源许可证进行连系。
  • 缺点:在GPL和CDDL之间的互操作性可能存在问题。

Perl许可证

(Perl License)

  • 简介:Perl许可证是Perl编程语言的开源许可证。
  • 常用版本:Perl许可证,Artistic License
  • 适用性:适用于Perl编程语言和相关的项目。
  • 优点:保护软件的自由,适用于维护原版权声明。
  • 缺点:对施用于其他项目的要求较高。

LGPL

(Lesser General Public License)

  • 简介:LGPL是GNU通用公共许可证的延伸版本,专注于软件库的开源要求。
  • 常用版本:LGPLv3
  • 适用性:适用于软件库等开源项目。
  • 优点:保护软件库的自由,有利于商业软件的使用。
  • 缺点:可能对软件库的修改和分发带来某些限制。

OSL

(Open Software License)

  • 简介:OSL是一种为开源软件提供专属许可的许可证。
  • 常用版本:OSL 3.0
  • 适用性:适用于各种类型的开源软件。
  • 优点:提供了广泛的自由度。
  • 缺点:相对较不熟悉,较少被采用。

Artistic许可证

(Artistic License)

  • 简介:Artistic许可证是Perl编程语言的许可证,允许对软件进行修改、使用和分发。
  • 常用版本:Artistic License 2.0
  • 适用性:适用于Perl编程语言和相关的项目。
  • 优点:提供了广泛的自由度,允许修改和分发。
  • 缺点:相对较不熟悉,较少被采用。

NPOSL

(Non-Profit Open Software License)

  • 简介:NPOSL是为非营利性组织开发的开源软件许可证。
  • 常用版本:NPOSL 3.0
  • 适用性:适用于非营利组织的项目。
  • 优点:保护开源组织的利益,支持非商业分发。
  • 缺点:不适用于商业软件。

MPL

(Mozilla Public License)

  • 简介:MPL是保护自由软件和开放源代码项目的许可证。
  • 常用版本:MPLv2
  • 适用性:适用于各种软件和文档。
  • 优点:保护软件的自由,可与其他开源许可证进行连系。
  • 缺点:条款较复杂,可能导致混淆。

AGPL

(Affero General Public License)

  • 简介:AGPL是专为在线服务应用程序开发的开源许可证,扩展了GPL。
  • 常用版本:AGPLv3
  • 适用性:适用于基于网络的应用程序。
  • 优点:保护开源软件的自由,要求修改后的软件仍然需开源。
  • 缺点:可能限制在线服务应用程序的使用。

Unlicense

  • 简介:Unlicense是一种放弃版权和所有权的许可证。
  • 适用性:适用于所有类型的软件和文档。
  • 优点:最大限度地放宽对软件使用的限制。
  • 缺点:可能导致责任分散和法律问题。