GPL协议
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协议的更多相关文章
- GPL协议的MySQL数据库
网络上多数朋友担心甲骨文会对MySQL软件采用收费模式,多数朋友也不清楚MySQL开源到底是什么模式,开源=免费嘛?是很多的疑问?MySQL是遵守双重协议的,一个是GPL授权协议,一个是商用授权协议( ...
- 关于GPL协议的理解(开源与商用、免费与收费的理解)
编者:请特别注意看暗红色粗体标注的那几句话,总结下来有下面几点: 如果你用了我的 GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系 Oracle 卖的不是软 ...
- GPL协议本身就是剥削,oracle维权玩的让人恶心
我们先来看一下MySQL的版权问题.当前,MySQL采用双重授权(Dual Licensed),他们是GPL和MySQL AB制定的商业许可协议.如果你在一个遵循GPL的自由(开源)项目中使用MyS ...
- 为什么越来越少的开源项目使用 GPL 协议
原文出处: opensource 译文出处:oschina/王练 前段时间,我在 RedMonk 上看到了一篇来自 Stephen O’Grady 的有趣推文,介绍了开源许可证目前的状态,以 ...
- GPL协议中国第一案尘埃落定,相关开源软件应如何风控?
导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...
- [转载]一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
本文转载自:http://blog.csdn.net/testcs_dn/article/details/38496107 开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区 ...
- 五种开源协议(GPL,LGPL,BSD,MIT,Apache)
什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限. 不管产品是免费向公众分发,还 ...
- [转]五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
当Adobe.Microsoft.Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来!现今存在的开源协议很多,而经过Open Source ...
- 四大开源协议比较:BSD、Apache、GPL、LGPL (转)
转自:http://www.lupaworld.com/portal.php?mod=view&aid=205552&page=all 本文参考文献:http://www.fsf.or ...
随机推荐
- Gridland(规律)
Gridland Time Limit: 2 Seconds Memory Limit: 65536 KB BackgroundFor years, computer scientists ...
- Linux下安装Oracle的过程和涉及的知识点-系列4
10.使用rpm安装包 假设本地有现成的相关包,能够直接使用rpm安装.rpm rpm包名,但有时会出现它须要其他包的支持,这时若须要忽略此提示.强行安装,运行rpm -i --force --nod ...
- JQ工具函数运用
1.把对象转换为字符串 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he ...
- 算法精解(C语言描述) 第4章 读书笔记
第4章 算法分析 1.最坏情况分析 评判算法性能的三种情况:最佳情况.平均情况.最坏情况. 为何要做最坏情况分析: 2.O表示法 需关注当算法处理的数据量变得无穷大时,算法性能将趋近一个什么样的值.一 ...
- JavaScript之获取和设置元素属性
1.与我前面的随笔获取元素的那些方法不同http://www.cnblogs.com/GreenLeaves/p/5689075.html 获取元素属性的方法getAttribute()不属于docu ...
- 现在网页中流行的css3样式
1.鼠标放在圆形图片中,图片渐渐的变方形[17素材头像的特效,觉得不错就研究下来了 ———— 17sucai.com] img{border-radius:50%;transition: all .4 ...
- android入门——UI(4)
GridView控件实现菜单 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...
- Android学习笔记_点九绘图与软键盘和事件传递
最近项目里遇到的几个小问题,以前只是用吗没有深入看过,现在总结到一起,防止以后这种小问题占用太多时间.还是通过网上别人总结的很多博客学习了,挑选出最易懂明了的. 还有leader很小的问题都不放过,亲 ...
- bzoj 3289: Mato的文件管理 莫队+线段树
题目链接 给一些询问,每个询问给出区间[L, R] , 求这段区间的逆序数. 先分块排序, 然后对于每次更改, 如果是更改L, 那么应该查询区间内比他小的数的个数, 如果更改R, 查区间内比他大的数的 ...
- RedisService
package com.sprucetec.bone.common.redis;import com.alibaba.fastjson.JSON;import org.springframework. ...