GNU和apache协议的对比

本文对比分析了GPL和Apache两种开源许可协议的主要特点与区别,包括它们如何影响软件的使用、分发及修改,并探讨了不同许可证之间的核心差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android系统的用户空间使用apache协议,linux内核使用gpl协议。 GNU General Public Licence (GPL)

GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:

  • 可自由复制
    你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。
  • 可自由分发
    在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
  • 可以用来盈利
    你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
  • 可自由修改
    如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。
     1. 如果你使用了GPL协议的开源代码,将此开源代码用在了你的软件产品里,那么,你的整个软件产品必须开源,而且必须以GPL协议开源;

     2. 如果软件以GPL协议开源,那么源代码必须是面向社会开源的。而且你发布产品的时候源代码也必须一同附上。

     3. 如果软件以GPL协议开源,那么你可以对该软件收取一定的服务费用,但你永远不能对该软件的源代码收费。

GNU LGPL
GNU 还有另外一种协议,叫做 LGPL ( Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

Apache

Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有 一篇文章阐述这个问题)。

Apache 协议还有以下需要说明的地方:

  • 永久权利
    一旦被授权,永久拥有。
  • 全球范围的权利
    在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
  • 授权免费,且无版税
    前期,后期均无任何费用。
  • 授权无排他性
    任何人都可以获得授权
  • 授权不可撤消
    一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。
分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。


按照使用条件的不同,开源软件许可证可以分为三类(严苛程度递减)

  1. 使用该开源软件的代码再散布(redistribute)时,源码也必须以相同许可证公开。

  代表许可类型:GPL, AGPL

  2. 使用该开源软件的代码并且对开源代码有所修改后再散布时,源码必须以相同许可证公开。

  代表许可类型:LGPL, CPL,CDDL, CPL,MPL等

  3. 使用该开源软件的代码(包括修改)再散布(redistribute)时,没有特殊限制,只需要明记许可。

  代表许可类型:ASL, BSD,MIT等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值