自由或开源软件许可证大致可分为几类。很多通常称为“宽松”或“弱 Copyleft”的许可证旨在维护开发者的自由权利。本文所述的自由软件基金会“Copyleft”许可证同样如此,但更重要的是保障了所有用户的自由权。Copyleft 许可证的目的正是确保某个程序或基于该程序的任何作品的所有用户至少拥有以下四项基本自由:
1.自由地出于任何目的运行该程序,无需获得任何附加许可;
2.自由地阅读、学习、理解和使用该程序源码所传授或包含的任何知识或技巧;
3.自由地修改、改编、改进或二次使用该程序中的任何或全部代码;和
4.自由地将该程序分享给任何人或不予分享,无论是修改版还是原版。
要理解许可证条款,最简单的方法是从“why”开始,而不是“what”。GNU 许可证由开发者及其律师撰写,以便其他开发者无需律师的任何协助就能使用,旨在确保该程序、修改版程序或包含其程序部分代码的新程序的所有用户拥有上述自由权。这些自由权的精髓在于防止自由程序的私有化改进。如果 GPL程序被私有代码改进,那么无论如何封装或编写,都无法实现开发者想要保护用户权利的本意。Copyleft 存在的原因就是通过阻止私有改进来保护所有下游用户的自由权利。正如 GPLv3 的前序所述:
为了保护您的权利,我们需要预防他人否定您的这些权利或要求您放弃此权利。因此,您在分发或修改该软件时须承担一定责任,即尊重他人自由的责任。
本文阐释了这些责任,以及如何最有效地将其传递给用户,用户至少包括直接用户、修改者、封装者和分发者。”