序言

大多数软件许可证决意剥夺你的共享和修改软件的自由。相反,GNU 通用公共许可证力图保证你的共享和修改自由软件的自由 ––保证自由软件对所有用户是自由的。本许可证,库通用许可证,适用于一些特殊设计的自由软件基金会软件和那些库的开发者决定适用本许可证的库。你也可以把它用于你开发的库。

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

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

例如,如果你发布这样一个库的副本,不管是收费的还是免费的,你必须将你具有的一切权利给予你的接受者;你必须保证他们能收到或得到源程序;如果你把该库与某个程序进行连接,你必须把完整的目标文件提供给接受者,以使他们在修改了库并重新进行了编译之后可以重新与该库进行连接。并且将这些条款给他们看,使他们知道他们有这样的权利。

我们采取两项措施来保护你的权利:

  1. 给软件以版权保护。

  2. 给你提供许可证。它给你复制,发布和修改这些软件的法律许可。

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

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

关于复制、发行和修改的精确条款与条件在下面给出。