GPL-LGPL-GFDL的关系
何为GPL、LGPL 和 GFDL

前日关注KingStorm和OO的瓜葛的关系时有很多人问起什么是 GPL、LGPL 和 GFDL?它们和源代码以及商业销售之间的关系是什么?自己找了些资料,基本上可以比较简洁的回答这个问题。

GPL 是GNU General Public License(GNU 通用公共许可证)的缩写形式;LGPL 是GNU Lesser General Public License(GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证),在宽松程度上与 BSD、Apache、XFree86 许可证相似;GFDL 是GNU Free Documentation License(GNU 自由文档许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。

  • 基于 GPL 的软件允许商业化销售,但不允许封闭源代码。
  • 如果您对遵循 GPL 的软件进行任何改动和/或再次开发,则您的产品必须继承 GPL 协议,不允许封闭源代码。
  • 基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
  • 如果您对遵循 LGPL 的软件进行任何改动和/或再次开发,则您的产品不必继承 LGPL 协议,同时允许封闭源代码

GNU LGPL(GNU 程序库公共许可证)的内容全部包括在命名为 COPYING.LIB 的文件中。如果安装了内核核的源程序,在任意一个源程序的目录下都可以找到 COPYING.LIB 文件的一个拷贝。

GPL 和软件是否免费无关,它主要目标是保证软件对所有的用户来说是自由的。GPL 通过如下途径实现这一目标:

  • 它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。
  • 它提醒每个用户,对于该软件不提供任何形式的担保。
  • 如果用户的软件使用了受 GPL 保护的任何软件的一部分,那么该软件就继承了 GPL 软件,并因此而成为 GPL 软件,也就是说必须随应用程序一起发布源代码。
  • GPL 并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。

遵照 GPL 的软件并不是可以任意传播的,这些软件通常都有正式的版权,GPL在发布软件或者复制软件时声明限制条件。但是,从用户的角度考虑,这些根本不能算是限制条件,相反用户只会从中受益,因为用户可以确保获得源代码。

尽管 Linux 内核也属于 GPL 范畴,但 GPL 并不适用于通过系统调用而使用内核服务的应用程序,通常把这种应用程序看作是内核的正常使用。

假如准备以二进制的形式发布应用程序(像大多数商业软件那样),则必须确保自己的程序未使用 GPL 保护的任何软件。如果软件通过库函数调用而使用了别的软件,则不必受到这一限制。大多数函数库,受另一种 GNU 公共许可证,即 LGPL 的保护,将在下面介绍。

LGPL 允许在自己的应用程序中使用程序库,即使不公开自己的源代码。但是,LGPL 还规定,用户必须能够获得在应用程序中使用的程序库的源代码,并且允许用户对这些程序库进行修改。

大多数 Linux 程序库,包括 C 程序库(libc.a)都属于 LGPL 范畴。因此,如果在 Linux 环境下,使使用 GCC 编译器建立自己的应用程序,程序所链接的多数程序库是受 LGPL 保护的。如果想以二进制的形式发布自己的应用程序,则必须注意遵循 LGPL 有关规定。

遵循 LGPL 的一种方法是,随应用程序一起发布目标代码,以及可以将这些目标程序和受 LGPL 保护的、更新的 Linux 程序库链接起来的 makefile 文件。

遵循 LGPL 的比较好的一种方法是使用动态链接。使用动态链接时,即使是程序在运行中调用函数库中的函数时,应用程序本身和函数库也是不同的实体。通过动态链接,用户可以直接使用更新后的函数库,而不用对应用程序进行重新链接。

但我们必须当心个别属于 GPL 范畴的库和实用程序:篏NU dbm(即 gdbm)数据库类的程序库是非常著名的 GPL 库;GNU bison 分析器生成程序是另一个实用的 GPL 工具,如果使用 bison 生成代码,所得的代码也适用于 GPL。

在 GPL 的保护范围以外,也有 GNU dbm 和 GNU bison 的相应的替代程序。例如,对于数据库类的程序库库,可以使用 Berkeley 数据库 db 来替代 gdbm;对于分析器生成器,可以使用 yacc 来替代 bison。

 
阅读更多
个人分类: 学习
想对作者说点什么? 我来说一句

关系关系关系关系

2008年12月25日 9.92MB 下载

离散数学第二次课.rar

2009年11月12日 412KB 下载

数据库第2章 关系数据库系统

2009年10月14日 485KB 下载

关系数据库语言SQL

2011年05月25日 365KB 下载

sap中表和关系sap中表和关系

2008年01月14日 70KB 下载

hibernate一对一的关系

2008年11月28日 870KB 下载

dom和javascript关系

2009年12月07日 32KB 下载

关于空间关系的描述与推理

2008年11月28日 1.79MB 下载

python挖掘社交关系

2017年09月12日 11.17MB 下载

没有更多推荐了,返回首页

不良信息举报

GPL-LGPL-GFDL的关系

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭