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 的软件进行任何连接、调用而不是包含,则允许封闭源代码。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章