This translation may not reflect the changes made since 2015-10-03 in the English original. You should take a look at those changes. Please see the Translations README for information on maintaining translations of this article.
什么是Copyleft?
Copyleft 是一种让程序或其它作品保持自由的通用方法,并要求对Copyleft程序的任何修改和扩展都保持自由。
让程序成为自由软件最简单的方法是放弃对它的版权并把它放到 公共领域 中。这使得他人在需要的时候可以共享这个软件及其对它的改进。但这也使得其它一些不愿合作的人把它们转变成 专有软件 。他们可以或多或少的进行修改,并把成果作为商业产品发布。这些修改过的程序不再像它们的原始作者所期望的那样允许用户自由的使用,这种自由被中间商剥夺了。
在 GNU 工程 中,我们的目标是让 所有的 用户可以自由地重新发布或修改 GNU 软件。如果允许中间商剥夺这种自由,我们也许会以此获得更多中间商,借此吸引来有很多的用户,但这些用户便不再拥有自由。所以我们并不把 GNU 软件发布到公共领域,我们对它保留“Copyleft”。所谓 Copyleft 是指任何人都可以重新分发软件,不管有没有进行修改,但必须同时保留软件所具有的自由特性。Copyleft是为了保证所有用户都拥有自由的权力。
Copyleft 同时也 鼓励 了其它的程序员加入自由软件开发的行列。像 GNU C++ 编译器这样的重要的软件之所以存在,也是为了这一点。
除此之外,Copyleft 也帮助那些希望对 完善 自由软件 作出贡献的程序员得到贡献的权力。这些程序员通常是为那些一心想挣钱的公司或大学工作。程序员可能希望把他的努力贡献到自由软件社区,但他的老板可能希望把这些工作变成商业的软件产品。
当我们向老板解释说如果不把这些改进的版本作为自由软件发布是非法的时候,他们往往会决定把它们作为自由软件发布而不是把它们抛弃。
一个程序遵循 Copyleft,我们首先声明它是有版权的;然后,我们给它加上发布条款,这个条款就是一个法律声明,它赋与所有人有使用、修改和重新发布程序的代码 及其衍生作品 的权力,但要求在这个过程中保持发布规则不变。这样的话,代码和自由权力在法律上就不可分割了。
商业软件开发人员通过版权剥夺了用户的自由,我们使用版权来给予他它自由。这就是为什么我们把“版权(Copyright)”改称为“Copyleft”。
Copyleft 是一种对程序进行版权保护的方法。它并不是放弃版权,因为这样会使 Copyleft 变得不可操作。“Copyleft”中的“left”,并不使用它在英语中“保留”的意思,而是指它与通常的“版权(Copyright)”具有相反的效果。
Copyleft 是一种抽象的概念,抽象的概念是无法直接使用的。只有实现这个抽象概念,人们才能使用它。在 GNU 工程中,我们最常使用的一种实现Copyleft的法律文件是GNU 通用公共许可证 (HTML格式, 纯文本, Texinfo 格式)。 GNU 通用公共许可证通常被简写为 GNU GPL 。这里有一个有关它的常见问题 页面。你也可以参考 为什么FSF从软件作者处获得版权转让。
另一种实现Copyleft的法律文件,是Affero通用公共许可证 (AGPL) (HTML格式, 纯文本,Texinfo 格式)。这个许可证的目标用户是针对服务器的软件。如果一个以AGPL授权的软件被运行在向公众提供服务的服务器上,那么对该软件的任何修改也必须要以源代码的形式对外发布。
除此以外,还有一种比较保守的Copyleft的许可证:GNU 宽通用公共许可证 (LGPL) (HTML格式, 纯文本,Texinfo 格式),它被应用于一部分(不是所有的)GNU 函数库。 这个许可证以前被称为“函数库 GPL”,我们修改了许可证的名字,原因是它原来的名字鼓励了开发人员过多地使用这个许可证。对于这个名字改变的必要性,请参考这篇文章:为什么你不应该对你的下一个函数库应用 LGPL。
GNU 自由文档许可证 (FDL)(HTML格式 , 纯文本 ,Texinfo格式) 是一种面向手册、教科书和各种文档的 Copyleft 许可证,它保证了所有人都可以自由的复制和重新发布这些文档,不管是否进了修改,也不管是商业的还是非商业的。
相应的许可证应当与所有的 GNU 软件源代码和手册一同发布。
假如你是版权所有人,所有这些许可证都被设计成很容易运用到你的作品中。你不用去修改许可证,你只需要在你的作品中包含这样一份许可证文本,并在源代码文件中适当的表明引用这个许可证就可以了。
对很多不同的程序使用相同的发布条款可以使得在这些程序中相互复制代码变得容易。因为它们都具有相同的发布条款,你就不需要去考虑这些条款是否相互兼容。LGPL 第二版许可证允许你把发布条款改为标准的 GPL 许可证,所以你可以把 LGPL 的代码应用到其它 GPL 的程序中去。LGPL 第三版是做为一个特例加入到 GPL 第三版中,所以它们也是相互兼容的。
如果你希望对你的程序通过应用 GNU GPL 或 GNU LGPL 保留 Copyleft ,请参考 GPL 指南 页面上的内容。请注意,许可证是一个整体,你在使用时只能整体引用,只引用其中的一部分是不允许的。
如果你希望对你撰写的手册通过应用GNU FDL保留 Copyleft,请参考FDL 结尾部分 的内容以及 GFDL指南 页面上的内容。与GNU GPL一样,你必须使用整个许可证,而不能是其中的一部分。
经常会看到一些Copyleft的作品使用一个反着的C(这个符号)来表明该作品是Copyleft的。这样做在法律上是个常见错误。Copyleft的作品实际也是被版权法保护的,因此即便是Copyleft的作品,也应该使用版权标志(一个被圆圈套起来的字母C),或者标明“版权所有”
如前所述,圆圈里套着一个开口向左的C,这个符号经常被用来表明Copyleft。但是这个符号并没有任何法律效力,也无法取代版权符号。它也许可以出于娱乐的目的,使用在图书封面,海报或者类似的材料上。但若要用在网页上,还需谨慎。