在自由软件所使用的各类许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。开放源代码
GPL同其它的自由软件许可证同样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,得到软件源码的自由,改进软件并将本身做出的改进版本向社会发行传播的自由。开发
GPL还规定:只要这种修改文本在总体上或者其某个部分来源于遵循GPL的程序,该修改文本的总体就必须按照GPL流通,不只该修改文本的源码必须向社会公开,并且对于这种修改文本的流通不许许附加修改者本身做出的限制。所以,一项遵循GPL流通的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。源码
㊣软件
GPL协议最主要的几个原则:下载
一、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用做商业发售。任何一套软件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件自己也就自动成为受 GPL 保护而且约束的实体。也就是说,此时它必须开放源代码。二进制
二、GPL 大体就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你能够去掉全部原做的版权 信息,只要你保持开源,而且随源代码、二进制版附上 GPL 的许可证就行,让后人能够很明确地得知此软件的受权信息。GPL 精髓就是,只要使软件在完整开源 的状况下,尽量使使用者获得自由发挥的空间,使软件获得更快更好的发展。程序
三、不管软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(若是有的话)下载的同一个页面,清楚地提供源代码下载的连接。若是以光盘形式发布,就必须同时附上源文件的光盘。协议
四、开发或维护遵循 GPL 协议开发的软件的公司或我的,能够对使用者收取必定的服务费用。但仍是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务作捆绑或任何变相捆绑销售。文件