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 关键词:文档/文学作品,

GPL协议的更多相关文章

  1. GPL协议的MySQL数据库

    网络上多数朋友担心甲骨文会对MySQL软件采用收费模式,多数朋友也不清楚MySQL开源到底是什么模式,开源=免费嘛?是很多的疑问?MySQL是遵守双重协议的,一个是GPL授权协议,一个是商用授权协议( ...

  2. 关于GPL协议的理解(开源与商用、免费与收费的理解)

    编者:请特别注意看暗红色粗体标注的那几句话,总结下来有下面几点: 如果你用了我的 GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系 Oracle 卖的不是软 ...

  3. GPL协议本身就是剥削,oracle维权玩的让人恶心

     我们先来看一下MySQL的版权问题.当前,MySQL采用双重授权(Dual Licensed),他们是GPL和MySQL AB制定的商业许可协议.如果你在一个遵循GPL的自由(开源)项目中使用MyS ...

  4. 为什么越来越少的开源项目使用 GPL 协议

    原文出处: opensource   译文出处:oschina/王练    前段时间,我在 RedMonk 上看到了一篇来自 Stephen O’Grady 的有趣推文,介绍了开源许可证目前的状态,以 ...

  5. GPL协议中国第一案尘埃落定,相关开源软件应如何风控?

    导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...

  6. [转载]一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    本文转载自:http://blog.csdn.net/testcs_dn/article/details/38496107 开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区 ...

  7. 五种开源协议(GPL,LGPL,BSD,MIT,Apache)

    什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限. 不管产品是免费向公众分发,还 ...

  8. [转]五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    当Adobe.Microsoft.Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来!现今存在的开源协议很多,而经过Open Source ...

  9. 四大开源协议比较:BSD、Apache、GPL、LGPL (转)

    转自:http://www.lupaworld.com/portal.php?mod=view&aid=205552&page=all 本文参考文献:http://www.fsf.or ...

随机推荐

  1. android样式跟主题

    简单说类似与自定义控件,只不过自定义控件针对的是view 而样式与主题针对的是属性.元素 在TexvView中引入样式 layout.xml <?xml version="1.0&qu ...

  2. (转)探讨:ASP.NET技术的学习顺序问题

    探讨:ASP.NET技术的学习顺序问题 摘要:很多人对于ASP.NET的入门和学习顺序比较迷茫,今天让我们一起来跟随作者的思路学习探讨ASP.NET的学习顺序问题,希望有所帮助. 如果你已经有较多的面 ...

  3. sql获取表字段名、描述和类型

    SELECT TableName = OBJECT_NAME(c.object_id), ColumnsName = c.name, Description = ex.value, ColumnTyp ...

  4. Couldn't load libPassword from loader:NDK开发中C文件编译成cpu对应的so类库时,找不到类库报错的原因之一

    LogCat输出: 03-03 12:42:32.665: E/AndroidRuntime(32432): FATAL EXCEPTION: main03-03 12:42:32.665: E/An ...

  5. Windows 10 : 使用BCDboot恢复双系统启动

    电脑装上win10以后,立马把原来系统的启动信息删了.结果有个软件需要反激活,但是Win10已经没有Boot.ini这样的启动配置文件. 花了好多时间查找,发现这篇文章.实际操作倒是很简单.执行以下命 ...

  6. [转]spring 监听器 IntrospectorCleanupListener简介

    "在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用Introspe ...

  7. java——数据库——commons-DbUtils

    Apache Commons DbUtils Tutorial The Apache Commons DbUtils library is a small set of classes designe ...

  8. ImageView 各种工具类

    package imageUtil; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOut ...

  9. KNN算法[分类算法]

    kNN(k-近邻)分类算法的实现 (1) 简介: (2)算法描述: (3) <?php /* *KNN K-近邻方法(分类算法的实现) */ /* *把.txt中的内容读到数组中保存,$file ...

  10. Linux 用户信息,组信息,密码信息!

    1: 用户信息保存在  /etc/passwd 文件下 2: 密码信息保存在 /etc/shadow 3: 组相关的信息 /etc/group