Copyleft 是一种让程序或其它作品保持自由的通用方法,它要求所有对 Copyleft 程序的修改和扩展都保持自由。
让程序成为自由软件的最简单的方法是放弃版权、并把它放到 公有领域 。这使得他人在需要的时候可以共享这个软件以及对它的改进。但这也使得一些不合作的人把它们转变成 专有软件 。他们可以或多或少地进行修改,并把成果作为商业产品来发布。这些修改过的程序不再像其原始作者所期望的那样给予用户自由,这种自由被中间商剥夺了。
在 GNU 工程 中,我们的目标是让 所有的 用户可以自由地重新分发或修改 GNU 软件。如果中间商可以剥夺自由,我们或许会有很多的用户,但这些用户不再拥有自由。所以我们并不把 GNU 软件发布到公有领域,我们对它保留“Copyleft”。所谓 Copyleft 是指任何人都可以重新分发软件,不管有没有进行修改,但必须同时保留软件所具有的自由特性。Copyleft是为了保证所有用户都拥有自由的权利。
Copyleft 同时也 鼓励 其他程序员加入自由软件开发的行列。像 GNU C++ 编译器这样的重要自由软件之所以存在,正是因为这一点。
除此之外,Copyleft 也帮助那些希望对 完善 自由软件 作出贡献的程序员得到贡献的许可。这些程序员通常是为那些一心想挣钱的公司或大学工作。程序员可能希望把她的努力贡献到自由软件社区,但其雇主可能希望把这些工作变成商业的软件产品。
当我们向其雇主解释说,如果不把这些改进的版本作为自由软件发布是非法的时候,他们往往会决定把它们作为自由软件发布而不是把它们抛弃。
一个程序遵循 Copyleft,我们首先声明它是有版权的;然后,我们给它加上发布的规则,这个规则就是一个法律声明,它赋予所有人有使用、修改和重新发布程序的代码 及其衍生作品 的权利,但要求在这个过程中发布规则是不可以改变的。这样的话,代码和自由权利在法律上就不可分割了。
商业软件开发人员通过版权剥夺了用户的自由,我们使用版权来给予他们自由。这就是为什么我们把“版权(Copyright)”改称为“Copyleft”。
Copyleft 是一个通用的概念,有很多方法来细化它。在 GNU 工程中,我们使用 GNU 通用公共许可证、GNU 宽通用公共许可证和 GNU 自由文档许可证来定义和发布这个概念的具体条款。
相应的许可证应当与所有的 GNU 软件源代码和手册一同发布。
假如您是著作权所有人的话,您可以很容易地在您的作品中使用设计好的 GNU GPL。您不用去修改 GNU GPL,您只需要在源代码文件中添加对 GNU GPL 的适当引用就可以了。请注意如果您要使用 GPL ,您必须使用该许可证的全文。GPL 许可证(LGPL、AGPL 和 FDL 也一样)是一个整体,不允许只使用它的一部分。
对许多不同的程序使用相同的发布条款将使得在这些程序中相互复制代码变得容易。因为它们都具有相同的发布条款,您就不需要去考虑这些条款是否相互兼容。LGPL 第二版许可证允许您把发布条款改为标准的 GPL 许可证,所以您可以把 LPGL 的代码应用到其它 GPL 的程序中去。
想了解更多关于什么是 Copyleft?的内容,请扫微信
或微信搜索jiemingpan