`

LGPL概念

阅读更多
声明:本文转载自百度百科,原文地址:http://baike.baidu.com/view/606545.htm
LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNULibrary General Public License (GNU 库通用公共许可证),在宽松程度上与 BSD, Apache,XFree86 许可证相似   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许可证的库.
分享到:
评论

相关推荐

    libart_lgpl-2.3.9.tar.gz

    在深入探讨之前,我们首先需要了解一些基本概念。 **什么是libart_lgpl?** libart_lgpl是一个C语言编写的库,全称为“Lightweight ART”,意为轻量级矢量渲染库。它的主要功能是提供二维图形的高速绘制和处理,...

    SmartGWTEE1.2 API

    SmartGWTEE1.2 API是基于LGPL授权的一个强大且灵活的开发工具,它为开发者提供了丰富的功能,用于构建高效、高性能的企业级Web应用程序。SmartGWT API是SmartGWT框架的核心部分,这个框架是基于Google Web Toolkit ...

    lgplc中文使用手册

    对于面向对象编程的支持,手册也会介绍类的创建、继承和多态性等概念。 lgplc的调试和测试是手册中的重要一环。用户会学习如何利用lgplc内置的调试工具进行错误排查,理解错误信息的含义,并学会如何调试代码以找到...

    各操作系统开源授权许可协议.docx

    在软件开发中,开源授权许可协议是一个非常重要的概念。随着开源软件的普及,各种开源授权许可协议也相应地出现了。常见的开源授权许可协议有GPL、LGPL、Apache、BSD等。每种协议都有其特点和要求,对于开发者来说,...

    arduinolibs:用于arduino的库与ansible进行了便利整理-适用原始库的许可(通常为LGPL)

    2. **C++编程**:Arduino基于C++,但简化了许多面向对象编程的概念,使得学习曲线较为平缓。 3. **LGPL许可**:理解LGPL的条款很重要,它规定了如何在商业项目中使用这些库,以及对源代码的公开要求。 4. **自动化...

    LGPLC例程源码LG压力机程序

    这些知识点不仅涵盖了软件开发、机械工程等领域的重要概念,还提供了关于如何安全地获取并使用开源资源的实际指导。对于希望深入了解或利用这些资源的专业人士而言,上述信息将是非常有价值的参考资料。

    QT开发学习日志.doc

    2. QT的协议:QT有两套协议,商业版本和开源的LGPL版本,前者需要付费,后者免费,但需要遵循LGPL协议的规定。 3. QT的下载和安装:QT的下载地址是https://qt.nokia.com/downloads,可以下载LGPL/Free和Commercial...

    启航网站内容管理系统 V4.0ACCESS源码 DTcmsDemoAccess4.0.rar

    DTcms遵循“LGPL许可证”开源协议: 1. 用户如果不对DTcms源程序代码进行任何修改时,可以以任意方式自由使用。 2. 用户如果对DTcms源程序代码进行任何的修改或者衍生,涉及修改部分的额外代码和衍生的代码都必须...

    MiniGUI技术摘要-基本概念+相关技术+关键接口及应用

    #### 二、GUI基本概念 **GUI**(Graphical User Interface)即图形用户界面,是一种通过图形元素(如窗口、按钮、菜单等)来实现人机交互的方式。相比于命令行界面(CLI),GUI具有更直观、友好的用户体验。 #####...

    启航网站内容管理系统 V4.0MSSQL源码.rar

    DTcms遵循“LGPL许可证”开源协议: 1. 用户如果不对DTcms源程序代码进行任何修改时,可以以任意方式自由使用。 2. 用户如果对DTcms源程序代码进行任何的修改或者衍生,涉及修改部分的额外代码和衍生的代码都必须...

    JBoss架构分析以及构架原理

    JBoss是一款免费且开源的Java 2 Platform, Enterprise Edition (J2EE) 实现,由JBoss集团开发并通过GNU Lesser General Public License (LGPL) 许可证发布。它为开发者提供了强大的企业级应用服务,包括基本的企业...

    禅道项目管理软件使用帮助(PPT78页).ppt

    4.禅道概述:禅道工程管理系统是一款国产的、基于 LGPL 协议、开源免费的工程管理软件,它集产品管理、工程管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能,是中小型企业工程管理的首选。...

    GStreamer-WinBuilds

    这个框架的核心是其管道概念,通过连接各种插件(也称为元素),可以实现媒体数据的捕获、编码、解码、转换、播放等多种功能。GStreamer 的设计灵活且可扩展,广泛应用于嵌入式设备、桌面应用以及服务器端解决方案。...

    linux基础知识总结.pdf

    LGPL则相对宽松,允许商业软件使用LGPL库,但用户仍需能获取源代码并进行修改。 4. /dev/hda5、/dev/sdb6的意义: 这些是Linux中的设备文件,分别代表第一块IDE硬盘的第一个逻辑分区和第二块SCSI硬盘的第二个逻辑...

    神经网络图像识别——Neuroph框架

    少数基本类别相对应的基本网络的概念,它非常容易学习。而且它也还有一个不错的GUI应用程序。Neurop最初是一位硕士研究生的毕业论文主题,随后成为一个开源项目,它采用LGPL3许可证发布源代码。开发者已在...

    Java 全栈知识点问题汇总(16).pdf

    Java全栈知识点问题汇总涵盖了广泛的主题,其中包括设计模式和开源协议等重要概念。设计模式是软件工程中的最佳实践,常见的有工厂模式、单例模式、装饰器模式等23种设计模式,它们提供了在特定场景下解决问题的标准...

    LGPLC例程源码恒压供水系统

    首先,需要明确几个关键点:LGPLC是一种开源协议(GNU Lesser General Public License,简称LGPL),它允许软件的分发在满足特定条件下可以采用较为宽松的许可证要求;“例程”通常指的是完成特定功能的一段代码或...

    Bochs项目源码分析与注释

    Bochs 由 Kevin Lawton 在 1994 年开始编写,最初是作为商业产品开发的,但到了 2000 年 3 月,Mandrakesoft 公司买下了 Bochs,使之成为遵循 GNU LGPL 的开源软件。Bochs 可以使用不同的模式编译,包括模拟 386、...

    LGPLC例程源码350可逆式冷轧机

    根据提供的文件信息,“LGPLC例程源码350可逆式冷轧机”,我们首先需要明确几个关键概念:LGPLC、可逆式冷轧机以及该资源的分享方式。 ### LGPLC LGPLC(Lesser General Public License Control)在此上下文中可能...

Global site tag (gtag.js) - Google Analytics