GPL 是 GNU General Public License
(GNU 通用公共许可证)的缩写形式;LGPL 是 GNU Lesser General Public License
(GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证);GFDL 是 GNU Free Documentation License
(GNU 自由文档许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。
- 基于 GPL 的软件允许商业化销售,但不允许封闭源代码。
- 如果您对遵循 GPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 GPL 协议,不允许封闭源代码。
- 基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
- 如果您对遵循 LGPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 LGPL 协议,不允许封闭源代码。但是如果您的程序对遵循 LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。
GPL(General Public License)和LGPL( Lesser General Public
License)是GNU的两种License。越来越多的自由软件(Free
Software)使用GPL作为其授权声明,如果对GPL一点都不了解,有可能在使用自由软件时违反了GPL的授权。如果是个人或不正规的公司倒也无所
谓,但如果是有规模的公司,恐怕会有被起诉的风险。
在使用Log4cpp时我想到了授权的事情,于是有了兴趣对GPL做一下了解。这是必要的,因为公司也维护了一个验证过的自由软件库,里面包含的自由软件除了功能上是可靠的,另外就是一定可以被私有使用的,否则后果很严重(黎叔很生气!)。
Log4cpp最初的版本使用GPL作为授权声明的,在0.2.1版本以后改用更为宽松的 LGPL。LGPL最初是Library
GPL的缩写,后来改称作Lesser
GPL,即为更宽松的GPL。当一个自由软件使用GPL声明时,该软件的使用者有权重新发布、修改该软件,并得到该软件的源代码;但只要使用者在其程序中
使用了该自由软件,或者是使用修改后的软件,那么使用者的程序也必须公布其源代码,同时允许别人发布、修改。也就是说,使用GPL声明下的的自由软件开发
出来的新软件也一定是自由软件。
LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与
GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在
LGPL或其它GPL变种的授权下。
以下是Richard Stallman关于GPL和LGPL的论述
为什么你不应该使用LGPL发布你的下一个库
GNU计划在使用库时有两个首要的许可证.一个是GNU LGPL(库GPL);另一个是普通的GNU GPL.选择不同的许可有很大的不同:选择LGPL允许在私有程序中使用该库;选择普通的GPL则只允许在自由软件中使用它.
关于哪一种许可证对指定的库是最好的这一问题实际上是一个策略问题,它取决于实际情况.当前,大多数的GNU库被采用LGPL,这意味着我们只使用着其中的一个策略,而忽略了另一个. 所以现在我们在寻求更多以普通的GPL许可证形式发布的库.
私有软件开发者有金钱上的优势;自由软件开发者需要相互之间利用各自的优势.对一个库采用普通的GPL对自由软件开发者的优势要大于对私有软件开发者: 他们可以使用的库对于私有软件开发者是不可利用的.
使用普通的GPL并不是对于所有的库都有好处.在某些情况下更有理由来使用LGPL.最常见的情况就是当一个自由库的特性可以很容易地被私有软件以其他可替代库来实现.在这种情况下,库不能给与自由软件任何特别的优势,因而最好还是为LGPL发布该库.
这也就是为什么我们为GNU C 库选择LGPL.总之,有很多的其他C库;我们使用GPL发布该库,将迫使私有软件开发者不得不使用其它的库--对他们来说这不成问题,而我们则有了麻烦.
然而,当一个库所提供的功能是非常独特的时候,如GNU Readline, 情况就大不一样了.
Readline库可实现输入编辑和记录交互式程序操作,这在别处通常是不可多得. 在GPL下发布它并限制它只能在自由程序中使用,
这我们的社团是一个重要的促进.至少今天某个应用程序之所以是自由软件,只是因为它必需要用到Readline.
如果我们收集一些强大的、私有软件中没有相类似东西的、采用GPL的库,它们将提供一系列有用 的模块用于新的自由软件的构造.
这对于将来的自由软件开发将是一个显著的优势, 一些项目将为了使用这些库而考虑使软件自由化.
大学的项目是易于被影响的;而且今天,随着某些公司开始考虑使软件自由化, 甚至一些商业项目也会由此受到影响.
私有软件开发者试图否认自由竞争的重要性, 他们会拼命说服作者不要将库使用GPL来发布.
例如,他们会呼吁利己主义,信誓旦旦地说如果我们让他们在私有软件产品中使用代码,将有“更多的用户”用到该库.
流行是一种诱惑,它使一个库开发者倾向于相信这种观点:社会首先需要的是促进一种库的流行;.
但是我们不应该听从这种诱惑,因为如果我们联合起来,我们可以做得更好.我们这些自由软件开发 者应该相互支持.
通过发布只能为自由软件使用的库,我们可以互相帮助,使彼此的自由软件包优于其它的私有替代品.
整个自由软件运动将会有更多的机会,因为自由软件作为一个整体将会在竞争中表现更佳.
因为"LGPL(Library GPL)"的称呼传达了关于这一问题的错误观点,我们计划将称呼改为"次级GPL(Lesser GPL)".事实上要更换名称要花一定的时间,但你不必再等--你可以现在就发布应用GPL许可证的库.
相关推荐
本文是对五种开源协议(GPL,LGPL,BSD,MIT,Apache)的介绍
常见的开源协议如BSD, GPL, LGPL, MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。
开源协议比较(BSD,Apache,GPL,LGPL,MIT)
重要开源协议的比较(BSD,Apache,GPL,LGPL,MIT) 除了大家比较熟悉的GPL协议之外,开源界还有很多许可证,如LGPL许可证、BSD许可证等,下面就来一一介绍。
五种常见软件开源协议介绍-GPL、LGPL、BSD、Apache、MIT.pdf
工作中要用andriod系统,领导问到他的开源风险,所以总结一下常见的开源授权许可协议,GPL,LGPL,APACHE,BSD
五种开源协议的比较(BSD,APACHE,GPL,LGPL,MIT)–整理
五种开源协议的比较(BSD,APACHE,GPL,LGPL,MIT)–整理Comparison of five open source license (BSD, APACHE, GPL, LGPL, MIT)- finishing
2、如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议 3、不可以用开源代码的作者/机构名字和原来产品的名字做市场
一些开源协议的介绍 GPL,LGPL...等等
收集了5大常用开源协议内容文本(LGPL GPL MIT Apache2.0 BSD等协议)。便于想从事开源人员参考。附加赠送各开源协议直接的比较。
五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) 当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!
采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的
BSD开源协议 Apache Licence 2.0 GPL LGPL MIT 五种开源协议比较
ffmpeg 是由法国人 法布里斯·贝拉(Fabrice Bellard) 发起的开源项目,ffmpeg 采用GPL 和 LGPL 两种分发协议。这是因为 ffmpeg 中使用的 libx264 以及 libx265 等库采用 GPL 协议,而GPL协议具有传染性,所以包含...
FFmpeg5.0正式发布.这一新版本代号被命名为“Lorentz”,主要为纪念伟大的荷兰物理学家亨得里克·安顿·洛伦兹(HendrikAntoonLorentz).此次重大发布包括大量API更改,并增添了一些新的特性.VLC首席开发者、多媒体专家
一个讲授GPL、LGPL的文章,透过FFmpeg这个开源项目看中国开源项目的现状。
Qt:跨平台应用程序和UI 开发框架 • 用C++ 编写 • 适用于桌面和嵌入式系统开发 • 超过250,000 商业和开源开发人员在使用 • 有专业的服务、技术...• 可通过以下两种授权方式:获得商业授权以及GPL 和LGPL 开源授权
FreeCAD-0.18 适用于64位Windows系统 FreeCAD是一个基于OpenCASCADE的开源...发展是完全开源(GPL的LGPL许可证)。FreeCAD直接的目的是在机械工程和产品设计,也适合在更广泛的用途,如建筑或其他工程专业,工程周围。
0.开发人员必知的5种开源协议(BSD,Apache,GPL,LGPL,MIT): BSD:可二次开发可商用,公司首选 Apache:可二次开发可商用,要标原代码注著作权 GPL:可二次开发可商用,不允许修改后和衍生的代码做为闭源的商业软件发布和...