订单查询 购书指南 购物车 收藏  
    首页 热点专题 精确搜索 精品推荐 俱乐部论坛 下载服务 走近科海 征稿专栏 新书预告 各地经销商 特价直销


GCC 技术参考大全

附录A GNU 通用公共许可证

目录 前言
 


GCC 编译程序是在 GNU 通用公共许可证(也被叫做 GNU GPL ,或就叫做 GPL )之内的。由 GPL 保证的这种许可叫做 copyleft (版权所无) 。简单的说,这就意味着任何人都有权利复制并使用该软件,但如果它被集成进产品,该产品就必须也是 GPL 许可证的。就是说,不能使用 GPL 软件将它转换成专有的软件。然而,并不限制任何人用 GCC 作为工具创建自己需要形式的软件。变成生成程序中的二进制位以及片断不要求该程序得到 GPL 许可。

GPL 的另一种方案是弱通用公共许可证( Lesser General Public License , LGPL )。该许可证以前叫做库 GPL ,但这个名字由于可能产生误导就改变了——它满足一些库,但不会是所有库。 LGPL 允许专有程序使用的库例程以及共享的和非静态连接的库。例子就是标准 C 库的 GNU 版本。

下面是 GPL 的文本。它用非常清楚的语言描述了许可的细节。文档的末尾是对处理过程的描述,遵照此过程可以将自己的软件放在 GPL 下。

  • GNU GPL

    Version2, June 1991

    Copyright (C) 1989, 1991 Free Software Foundation, Inc.

    59 Temple Place, Suite 330, Boston , MA 02111-1307 USA

允许所有人复制和发布这一许可证原始文档的副本,但绝对不允许对它进行任何修改。

导言

大多数软件许可剥夺你共享和修改软件的自由。相比之下, GNU 通用公共许可力图保证你共享和修改自由软件的自由——保证软件对所有用户是自由的。通用公共许可适用于大多数自由软件协会的软件,以及由使用这些软件而承担义务的作者所开发的软件。(自由软件协会的其他软件受 GNU 库通用公共许可的保护)。你也可以将它应用到你的程序中。

当我们谈到自由软件( free software )时,我们指的是自由而不是价格。 GNU 通用公共许可保证你有发布自由软件的自由(如果你愿意,可以对此项服务收取一定的费用);保证你能收到源程序或者在你需要时能得到它;保证你能修改软件或将它的一部分用于新的自由软件;而且还保证你知道你能做这些事情。

为了保护你的权利,我们作出规定:禁止任何人不承认你的权利,或者要求你放弃这些权利。如果你修改了自由软件或者发布了软件的副本,这些规定就转化为你的责任。

例如,如果你发布了这样一个程序的副本,不管是收费的还是免费的,你必须将你具有的一切权利给予你的接受者;你必须保证他们能收到或得到源程序;并且将这些条款给他们看,使他们知道他们有这样的权利。

我们采取两项措施来保护你的权利。( 1 )给软件以版权保护。( 2 )给你提供许可证。它给你复制、发布和 / 或修改这些软件的法律许可。

同样,为了保护每个作者和我们自己,我们需要清楚地让每个人明白,自由软件没有担保( no warranty )。如果由于其他某个人修改了软件,并继续加以传播。我们需要它的接受者明白:他们所得到的并不是原来的自由软件。由其他人引入的任何问题,不应损害原作者的声誉。

最后,所有自由软件都不断受到软件专利的威胁。我们希望避免这样的风险,自由软件的再发布者以个人名义获得专利许可证,也就是将软件变为私有。为防止这一点,我们必须明确:任何专利必须以允许每个人自由使用为前提,否则就不准许有专利。

下面是有关复制、发布和修改的确切的条款和条件。

GNU 通用公共许可证

有关复制、发布和修改的条款和条件

0. 凡著作权人在其软件或其他著作中声明,该软件或著作得在通用公共许可证条款下才能发布,本许可对其均适用。以下所称的“程序”,是指任何一种适用通用公共许可的程序和著作;“基于本程序的著作”,则指程序或任何基于著作权法所产生的衍生著作,换言之,是指包含本程序全部或部分的著作,不论是否完整或经过修改的程序,以及(或)翻译成其他语言的程序(以下“修改”一词包括但不限于翻译行为)。被许可的人则称为“您”。
本许可不适用于复制、发布及修改以外的行为;这些行为不在本许可范围内。执行本程序的行为并不受限制,而本程序的输出只有在其内容构成基于本程序所生的著作(而非只是因为执行本程序所造成)时,是受到本许可约束的。至于程序输出的内容是否构成本程序的衍生著作,则取决于本程序的具体用途。

1. 您可以对所收受的本程序源码,无论以何种媒介,复制与发布其完整的复制品,然而您必须符合以下条件:以显著及适当的方式在每份复制品上发布适当的著作权标示及无担保声明;维持所有有关本许可以及无担保声明的原貌;并将本许可的副本连同本程序一起交付其他任一位程序收受者。
您可对授让复制品的实际行为请求一定的费用,也可自由决定是否提供担保作为收费的代价。

2. 您可以修改程序的一个或多个复制品或者程序的任何部分,以此形成基于本程序所生成的著作,并依前所述第一条规定,复制与发布修改过的程序或著作,但必须满足以下条件:

a )您必须在所修改的文件上附加显著的标示,说明您修改过该文件,以及修改日期。

b )必须就您所发布或发行的著作,无论是包含程序的全部还是部分的著作,或者是自程序或其他任何部分所衍生的著作,整体授权所有第三人可根据本许可规定使用,且不得因此项授权行为收取任何费用。

c )若经过修改的程序在执行时通常以互动方式读取命令时,您必须在最常用的方式下,于开始进入互动方式时,列出或展示以下宣告:适当的著作权标示以及无担保声明(或声明由您提供担保)、使用者可以根据这些条件再发布此程序,以及告知使用者如何浏览本许可的副本。(例外:若程序本身是以交互方式执行的,然而通常却不回列出该宣告时,那您基于本程序所生成的著作便无需列出该宣告。)

这些要求对修改过的著作是整体适用的。如果著作中可识别的一部分并非衍生自本程序,并且可合理地认为是一个独立、个别的著作,则当您将其作为个别著作加以发布时,本许可及其条款将不适用于该部分。当然当您将上述部分作为基于程序所生的著作的一部分而发布时,整个著作的发布就必须符合本许可条款的规定,而不管这些部分的作者是谁。
因此,本条规定的意图不在于主张或剥夺您对完全由您所完成的著作的权利;应该说,本条规定意在行使对于基于程序的衍生著作或集合著作的发布行为的控制权。

此外,非基于本程序所生的其他著作与本程序(或基于本程序产生的著作)在同一存储或发布媒介上的单纯聚集行为,并不会使该著作因此受到本许可条件的约束。



 

 
  下一页 回专题首页