GPL、LGPL、GPLV3说明

        GNU是组织,这个就不说了常见的开源版权有两种,GPL和LGPL GPL的要求是:若是你经过修改GPL软件的代码或者用库的方式使用GPL软件的话,那么你所开发的软件必须遵循GPL,也就是说必须公开源代码。好比你将一个GPL的程序修改以后给公司用,那么你修改以后的东西必须开放源代码;若是你的网站使用了一个GPL的ActiveX控件,那么整个网站必须开放源代码。而LGPL的要求是:若是经过修改LGPL来作软件,那么开发的软件必须遵循LGPL;但若是经过库的方式使用LGPL软件,则无需遵循LGPL。仍是上面那个例子,修改LGPL的话一样要开放源码,而使用LGPL的ActiveX控件则无需开放源码。若是你不但愿开源,那么 1. GPL的一切不能用; 2. LGPL的,在不修改其源代码的前提下可使用。
        内部使用均可以用, 我所了解的, GPL/LGPL只对对外发布的软件产品有要求. GPL的要求的是, 开发者要发布的产品中包含以GPL发布的产品, 开发者就必需以GPL发布. LGPL会宽松, 若是发布的产品包含以LGPL发布的已编译产品, 能够不用GPL发布. 而在开发中使用了GPL/LGPL开发产品, 但产品中并不包含的话, 就不要求以GPL发布. 若是开发的软件只是内部使用, 不对外发布的话, 那GPL没有约束(大多协议都没有这个要求). 还有其它的一些开源协议: BSD, Apache协议, Mozilla协议, PHP协议, 等等.
        动态链接使用到了某个GPL下的文件,是不须要公布源代码的。且要求源代码只针对你的用户,而不是针对全部人公布。
        本文给出了一些指导性的意见和建议,用于帮助用户在产品开发中遵循自由软件的许可证条款,并避免出现违反自由软件许可证的状况发生。
        1.若是您不接受 GPL/LGPL 许可证,请勿使用任何遵循该许可证条款发布的软件。若是您在本身的产品中使用了 GPL/LGPL 软件,则说明您已经接受了 GPL/LGPL 许可证中定义的全部条款,并有义务向产品的最终用户提供源代码——不管该源代码是否通过您的修改。若是通过了您本身的修改,则必须公开“衍生做品”的源代码,并以相同的许可证条款发布。
        2.当您从 GPL/LGPL 软件中拿出 10 行以上的源代码用于本身的做品中时,则您的做品将成为该 GPL/LGPL 软件的衍生做品,不管您的做品的总体代码规模有多大。所以,若是您不打算将本身的做品做为自由软件发布,则应该远离自由软件代码,以避免由于受到自由软件代码的影响而编写出和这些软件相相似的代码。
        3.若是在您的做品中使用了 GPL/LGPL 软 件,但没有对这些软件作任何修改,则能够在产品手册或者其余相似的文档中、程序界面上或者帮助信息中指明您使用的自由软件名称、版权拥有者以及可以获取该 自由软件所有源代码的公共网站或第三方。若是由于某种缘由,最终用户没法从您提到的第三方或者公共网站上得到该自由软件的源代码,您应该担负提供源代码的 责任和义务。
        4.GPL/LGPL 条款赋予您修改做品的权利,经修改以后的做品称为“衍生做品”。当您的衍生做品以某种方式发布时(典型状况就是用于您的产品中),您必须依照 GPL/LGPL 许可证发布您的衍生做品。固然,一种更加可取的办法是,将本身所作的修改提交给原始做品的维护者,并由该维护者负责发布,而您在产品中始终使用由维护者发布的做品。
        5.自由软件不等于免费。提供自由软件的人能够要求您支付必定的费用,该费用一般有两层含义:第一,自由软件以某种介质发行时,该介质的制做、发布等费用;第 二,当您但愿得到对某自由软件的技术支持、缺陷修正等服务,要求某我的或组织提供相应的产品质量担保时,该组织或我的能够要求您就质量担保收取服务费用, 甚至是专有软件产品惯用的使用许可费用。这里提到的组织或我的是任何遵循上述自由软件许可证条款发布自由软件、并向您提供质量担保的组织或我的,并不限于 自由软件做品的做者或主要的版权拥有人。
        6.对 LGPL 条款的自由软件(一般是函数库)的“正常使用”,一般的理解是,始终以动态连接的形式连接这个函数库——若是以静态的方式连接,将使该函数库成为您做品的一部分,从而使之成为该函数库的衍生做品。但实质上,LGPL 许可证的宗旨和精神是禁止将自由软件成为专用和独享的软件,而至少应该确保其余软件也能经过某种途径使用这个函数库的接口。固然,静态连接显然违背了上述精神和宗旨,从而是不容许将私有做品和 LGPL 函数库静态连接在一块儿。但若是您的产品没有提供任何扩展功能,而只能由您本身的私有做品使用其中包含的某 LGPL 函数库,这无异于将该函数库静态连接到您本身的私有做品中。所以,咱们认为这种状况下,您的做品是该函数库的“衍生做品”——不管您的做品经过静态连接仍是经过动态连接的方式连接该 LGPL 函数库。
        上述这种状况常常会出如今嵌入式系统中。在这种状况下,您能够有以下选择:
        * 以动态连接方式连接 LGPL 函数库,并为您的产品提供扩展接口及程序上载接口,以便用户或者其余人可以对该产品进行扩展。
        * 最简单的方式:将衍生做品置于 LGPL 条款下发布。
        * 和 LGPL 条款的版权拥有人联系,看看是否可以以其余许可证方式受权您在本身的产品中使用该函数库,而没必要遵循 LGPL 条款使本身的做品成为衍生做品。许多自由软件为商业用户提供另一种可选的许可方式。
        * 固然,若是您以为麻烦,能够选择不使用任何自由软件。
        什么是 GPL、LGPL 和 GFDL?它们和源代码以及商业销售之间的关系是什么?
        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 的软件进行任何链接、调用而不是包含,则容许封闭源代码。
函数

相关文章
相关标签/搜索