Posted on 2006-04-02 18:26
壮士日志 阅读(826)
评论(0) 编辑 收藏
本文给出了一些指导性的意见和建议,用于帮助用户在产品开发中遵循自由软件的许可证条款,并避免出现违反自由软件许可证的情况发生。
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 条款使自己的作品成为
衍生作品。许多自由软件为商业用户提供另外一种可选的许可方式。
* 当然,如果您觉得麻烦,可以选择不使用任何自由软件。