大多数软件的许可证旨在剥夺您共享和更改软件的自由。相比之下,GNU 通用公共许可证旨在保证您共享和更改自由软件的自由——以确保所有用户都能自由使用该软件。本通用公共许可证适用于自由软件基金会的大多数软件以及作者承诺使用它的任何其他程序。(自由软件基金会的某些其他软件则由 GNU 库通用公共许可证覆盖。)您也可以将它应用于您的程序。
当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有自由分发自由软件的副本(并且如果您愿意,可以为此服务收费),您收到源代码,或者如果需要可以获取源代码,您可以更改软件或在新自由程序中使用其中的一部分;并且您知道您可以做这些事情。
为了保护您的权利,我们需要设置一些限制,禁止任何人剥夺您的这些权利或要求您放弃这些权利。如果您分发软件副本或修改软件,这些限制将转化为您的一些责任。
例如,如果您分发此类程序的副本,无论是免费还是收费,您都必须将您拥有的所有权利给予接收者。您必须确保他们也收到或可以获取源代码。并且您必须向他们展示这些条款,以便他们了解自己的权利。
我们通过两个步骤来保护您的权利:(1)对软件进行版权保护,以及(2)向您提供本许可证,该许可证授予您复制、分发和/或修改软件的法律许可。
此外,为了保护每位作者和我们自己的权益,我们希望确保每个人都明白,本自由软件不提供任何担保。如果软件被其他人修改并传递下去,我们希望接收者知道他们拥有的不是原始版本,这样,其他人引入的任何问题都不会影响原始作者的声誉。
最后,任何自由程序都不断受到软件专利的威胁。我们希望避免自由程序的再分发者单独获得专利许可的危险,这实际上会使该程序变成专有程序。为了防止这种情况,我们已经明确规定,任何专利都必须为所有人的自由使用而许可,或者根本不许可。
关于复制、分发和修改的精确条款和条件如下。