`

License 【摘录】

阅读更多

GPL & LGPL

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许可证的库.

分享到:
评论

相关推荐

    License Conditons and Copyright Notices CP 343-1 und CP 343-1 Lean[手册].pdf

    首先,手册的标题"License Conditions and Copyright Notices CP 343-1 und CP 343-1 Lean[手册].pdf"明确指出,这是一份关于CP 343-1和CP 343-1 Lean产品线的软件许可条件和版权声明手册。这通常意味着手册中将详细...

    License Conditons and Copyright Notices LOGO! CMR2020, LOGO! CMR2040[手册].pdf

    3. 许可条件文档的多语言版本:文件的摘录部分显示,版权和许可条件说明存在多种语言版本,包括中文、英文、德文、法文、西班牙文和意大利文。这一事实说明了在国际商业环境中,跨国公司为遵守不同国家的法律法规和...

    基于C语言的libserverframe高性能网络通信框架设计源码

    libserverframe是一个基于C语言开发的高性能网络通信框架,摘录自FastDFS。该项目包含74个文件,其中包括31个头文件、24个C源文件、2个安装文件、1个Git忽略文件、1个LICENSE文件、1个Markdown文件、1个Debian文件和...

    EndNote X9中国科大正版授权

    EndNote可以帮助用户创建个人的文献数据库,通过导入PDF、摘录网络资源或直接连接在线数据库(如Web of Science、PubMed等)来收集文献信息。用户可以按照作者、标题、期刊、年份等多种方式对文献进行分类和检索,...

    blog::glowing_star:站在巨人的肩膀上向天堂前进~ :balloon:这个blog主要是自己平常学习知识点、笔记、摘录等~:light_bulb:主要给自己方便查阅资料,如有侵权,联系必删~:face_savoring_food:毕竟健忘,啦啦啦

    :balloon: 这个 blog 主要是自己平常学习知识点、笔记、摘录等~ :light_bulb: 主要给自己方便查阅资料,如有侵权,联系必删~ :face_savoring_food: 毕竟健忘,啦啦啦。 :shamrock: 前端 :lollipop: HTML html5 轮播...

    文献管理器

    8. **版权保护与授权**:从`License.dat`文件可以看出,该文献管理器重视版权和用户授权,可能包含有关软件使用权限、条款和条件的信息,确保用户合法合规地使用和分享文献资源。 总的来说,文献管理器是提高学术...

    MemoirePersistante

    Photobook 也是 RDF 文件,实际上是从至少一个相册中选择的照片的摘录。 Sporniket Memoire Persistante is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser ...

    Advanced Bash Shell Scripting Guide

    部分内容摘录: 1. “Getting Started”(开始入门) 2. “Writing Good GNU/Linux Software”(编写优秀的GNU/Linux软件) 3. “Processes”(进程) 4. “Threads”(线程) 5. “Interprocess Communication”...

    AESLib:用于AES加密的Arduino库(基于avr-crypto-lib的源)

    Arduino的AESLib 该项目只是的Arduino就绪摘录。 它将AES的ASM实现仅打包到可在Arduino IDE中使用的库中。 有关获得AVR-Crypo-Lib许可的GPLv3许可的详细信息,请参阅LICENSE文件。安装下载此存储库中的文件(使用...

    matlab开发-三相电压控制器型号

    "Book Chapter 11 Slides Excerption.pdf"可能是一个教科书章节的摘录,可能涵盖了与三相电力系统或控制器设计相关的理论知识。这可能包括线性控制系统的设计、控制算法(如PID控制器)、三相电源的数学建模等内容。...

    tine20:Tine 2.0主存储库

    就像RHEL是Fedora的稳定摘录一样,我们的企业版是经过认可的稳定代码子集,并提供长期业务支持。 生成和运行Tine 2.0所需的所有内容均作为免费软件发布。 有关更多详细信息,请参见LICENSE文件。 与其他社区版本...

    The Java™ Virtual Machine Specification Third Edition

    - **摘录规范**:允许用户摘录规范的部分内容,但必须遵循版权法规定。 #### 版权声明与许可 - **版权归属**:该规范的版权属于Sun Microsystems, Inc.,并明确规定了所有权利均受保护。 - **许可范围**:虽然提供...

    Linux Standard Base Common Definitions

    文档的版权和复制权部分提到,文档在GNU自由文档许可证(GNU Free Documentation License, GFDL)Version 1.1的条款下可以被复制、分发和/或修改。GFDL是一种针对自由文档的许可证,旨在确保用户能够自由地使用、...

    AndroidRecipes

    除法律规定允许的小部分摘录用于评论、学术分析或专门提供给购买者在计算机系统上执行和使用外,复制本书或其部分内容是被禁止的,复制须遵守出版地的版权法和获得Springer的使用许可。这本书中可能会包含商标名称、...

    wavelet theory and their applications in engineering, physics and technology

    该书由InTech出版,采用Creative Commons Attribution 3.0 License协议,这意味着该书的内容可以被下载、复制、分享,甚至用于商业目的,只要恰当地注明了作者和出版者的信息,就符合版权规定。这种开放获取的模式...

    Practical Foundations for Programming Languages

    根据Creative Commons Attribution-Noncommercial-NoDerivativeWorks 3.0 United States License,这本书的电子版被许可使用,但不能用于商业目的,也不能进行修改或创建衍生作品。读者若想查看这份许可证,需要向...

    The RISC-V Instruction Set Manual:Volume I: User-Level ISA Document Version 2.2

    RISC-V指令集手册的版权声明显示,该文档是在Creative Commons Attribution 4.0 International License许可下发布的,用户必须遵循该许可规定进行引用。 文档中特别提到,到目前为止,RISC-V标准的各个部分还没有被...

    Panabit智能应用网关指导使用手册v3.0.pdf

    Panabit智能应用网关是一款由北京派网软件有限公司研发的网络设备,主要用于网络运营中的流量管理和网络策略实施。...此外,手册中所有内容的使用应遵循著作权法的规定,不得未经授权摘录、复制或翻译。

Global site tag (gtag.js) - Google Analytics