Skip to content

开源许可证

开源许可证是为开源软件定义使用规则的法律工具,不同的许可证提供了不同程度的自由和限制。以下是一些常见的开源许可证及其特点:


1. GNU GPL 系列(GPLv2、GPLv3 等)

  • 特点:
    • 强制性“开源”条款(Copyleft),修改和分发时必须采用相同的许可证。
    • 强调自由软件,用户可以自由使用、修改和分发软件。
    • GPLv3GPLv2 的基础上增强了对专利、Tivo化等问题的限制。
  • 适用场景: 软件项目需要确保所有衍生品也必须开源。
  • 示例: Linux 内核(GPLv2)、GCC。

2. MIT 许可证

  • 特点:
    • 极为宽松的许可证,允许自由使用、修改、分发、商业化。
    • 不强制衍生品开源,仅需保留原始许可证声明。
  • 适用场景: 希望最大程度简化法律限制的项目。
  • 示例: React、Angular、jQuery。

3. Apache 2.0

  • 特点:
    • 宽松的许可证,允许使用、修改和分发。
    • 明确了专利授权,避免使用者因专利问题受到法律风险。
    • 修改后需明确标明更改内容。
  • 适用场景: 企业和社区合作的项目,避免专利纠纷。
  • 示例: Hadoop、Kubernetes。

4. BSD 系列许可证

  • 2-Clause BSD

    (Simplified BSD):

    • 简单宽松,类似 MIT,保留声明即可。
  • 3-Clause BSD

    (New BSD):

    • 附加了一条条款,禁止使用作者或项目名称为衍生品背书。
  • 4-Clause BSD

    (Original BSD):

    • 包含广告条款,要求在宣传中注明原作者,较少使用。
  • 适用场景: 希望宽松但仍保留必要声明的项目。

  • 示例: FreeBSD、OpenSSL。


5. Mozilla Public License (MPL)

  • 特点:
    • 弱 Copyleft 许可证,仅对修改的文件部分施加开源要求。
    • 允许与非开源代码混合使用,灵活性较高。
  • 适用场景: 需要部分代码开源但允许商业闭源使用的项目。
  • 示例: Firefox 浏览器。

6. Eclipse Public License (EPL)

  • 特点:
    • 类似 MPL,是一种弱 Copyleft 许可证。
    • 鼓励社区贡献代码,适合大型企业合作项目。
  • 适用场景: 需要明确贡献协议的企业级项目。
  • 示例: Eclipse IDE。

7. Creative Commons (CC) 系列

  • 特点:
    • 主要用于非软件内容(文档、艺术作品等)。
    • 提供多个变体:
      • CC BY: 署名即可。
      • CC BY-SA: 署名+相同方式共享。
      • CC BY-NC: 禁止商业用途。
      • CC BY-ND: 禁止修改。
  • 适用场景: 共享图片、文档、视频等非代码内容。

8. 其他许可证

  • LGPL(Lesser GPL):
    • 弱 Copyleft,允许与闭源代码动态链接使用。
    • 示例: FFmpeg。
  • AGPL(Affero GPL):
    • 强 Copyleft,要求通过网络提供服务的代码也必须开源。
    • 示例: Nextcloud。
  • Unlicense:
    • 声明放弃所有版权,属于公共领域。

如何选择开源许可证?

  1. 希望强制衍生品开源:
    • 选择 GPLAGPL
  2. 希望宽松使用限制:
    • 选择 MITApache 2.0
  3. 需要专利保护:
    • 选择 Apache 2.0
  4. 仅要求部分文件开源:
    • 选择 MPLLGPL

如果有具体项目需求,可以告诉我,我帮你推荐合适的许可证!

基于 MIT 许可发布