GPL-General Public License
它是自由软件许可(Free Software Licence),保证最终使用者能够自由的引用,学习,拷贝,甚至修改软件。在理解这之前需要了解什么是copyleft
CopyLeft
相比copyright,copyleft指向的是自由软件。【任何不受版权法保护的东西是不能赋予 copyleft特性的,也就不能适用copyleft协议】自由软件之于copyleft,相当于作品之于copyright。Free Soft中的Free的含义在于“自由”,而并非“免费”,自由是针对使用、复制、修改而言的,并不是以免费作为必要条件。自由软件基金(Free Software Foundation,简称FSF)的创始人斯托曼认为自由有四个判定标准:
0.为任何目的运行程序的自由。
1.为自己需要修改程序的自由。
2.修改之后,在发布供其他人自由使用的自由。
3.改良程序,向社会发布,供全社会受益的自由。
回到copyleft,它的核心思想是:思想共享,源代码共享。copyleft作品和其后续基于其上的演绎作品或者引用copyleft作品的产品,必须使用与原作品 相似或者相同的授权协议--这就是copyleft的“传染性”,这种【横向】和【垂直】的【传染性】,保证了copyleft的运行。
明白了copyleft的核心思想之后,回到GPL,第一版的GPL同样是斯托曼编写。 理所当然的GPL成为第一个履行copyleft的协议。后期逐渐加入的有 Linux kernel,GNU Compiler Collection (GCC)等。
GPL协议最主要的几个原则:
1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
2、GPL 大致就是一个Copyleft,的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
GPL的发展
从 1989 年发布第一个版本的 GPL v1 开始到今天, GPL 协议已经发布到第三 个版本了。与之相应的, LGPL 协议则在 1991 年发布了第一个版本——Library General Public License v2(软件库通用许可)。版本号定为 v2 是因为当时正值 GPLv2 发布,为了显示两者之间存在的互补关系。在 1999 年, Library General Public License 正是更名成现在使用的 GNU Lesser General Public License,并且发布 2.1 版本的协议文本。 随后在 2007 年则随着 GPL v3 发布了 LGPL v3。
而 GFDL( GNU Free Document License,自由文档协议) 则在 1999 年首先以 草稿的方式发布,随后在 2000 年 3 月修改后以 1.1 为版本号正式发行。接着, 两年后的 12 月则更新到 1.2 版。之后,则在维基媒体基金会的要求下修改发布1.3 版,规定符合一定条件的 Wiki 网站,可以改用知识共享-署名-相同方式分享3.0 版( CC-BY-SA 3.0)许可协议。
1.GPL 关键词:作品&源代码,自由传播、复制、修改,相容或相同协议,目前三个版本。
2.LGPL 关键词:软件库,没有修改可以不遵循copyleft协议。
3.GFDL 关键词:文档/文学作品,