详细介绍 GPL 协议
在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。
GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
GPL协议最主要的几个原则:
1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
转载于:https://my.oschina.net/gal/blog/200216
详细介绍 GPL 协议相关推荐
- python gpl_详细介绍 GPL 协议
在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL). GPL同其它的自由软件许可证一样,许可社会公众享有:运行.复制软件 ...
- mysql eof_详细介绍mysql 协议的EOF包及解析
git https://github.com/sea-boat/mysql-protocol 概况 mysql的EOF包用于标明查询结果的结尾. mysql通信报文结构类型名字描述int<3&g ...
- 详细介绍 LGPL 协议
这是一份 GNU 较宽松公共许可证非正式的中文翻译.它不是自由软体基金会所发布,并且不能适用于使用 GNU LGPL 的软体 -- 只有 GNU LGPL 英文原文的版本才行.然而,我们希望这份翻译能 ...
- 详细介绍 MIT 协议
MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称「X条款」(X License)或「X11条款」(X11 License) ...
- mysql握手_详细介绍mysql 协议的服务端握手包及对其解析
概况 mysql客户端登陆到mysql服务端需要一个交互的过程,这里先看服务端给客户端发送的初始握手包.如下,client通过socket连接到server指定的端口后,server将往client发 ...
- 【转】运输层TCP协议详细介绍
[转]运输层TCP协议详细介绍 TCP是TCP/IP协议族中非常复杂的一个协议.它具有以下特点: 1:面向连接的运输层协议.在使用TCP协议之前,首先需要建立TCP连接.传送数据完毕后,必须释放已经建 ...
- http协议编程java_Java与Http协议的详细介绍
搜索热词 Java与Http协议的详细介绍 引言 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP协议的主要特点是: 1.支持客户/服务器 ...
- HTTP协议详细介绍~超详细
下面是对HTTP的详细介绍,HTTP协议是应用最广泛的网络协议. 希望可以帮助到有需要的小伙伴 文章目录 HTTP是什么 HTTP协议历史与标准 HTTP请求与响应消息 HTTP的基本原理 基于HTT ...
- IPv6下DHCPv6协议(RFC3315)详细介绍
DHCPv6 详细介绍 前言 一.基础部分 二.DHCPv6的进阶 1.相关术语/概念(Term) 2.几个相关的算法/规则 3.Message交换过程详述 4.基础的几个option介绍(RFC33 ...
最新文章
- linux终端terminal个性化配置(转)
- 建站初期关键字的定位
- 数据结构——树、二叉树、森林、哈夫曼树、字符串模式匹配
- kali锁屏后无法唤醒_面试官:说一下公平锁和非公平锁的区别?
- voinc vue实现级联选择
- 高德地图开发 怎么去除城市信息
- linux修改密码的几种方法
- vivox6android版本5.1,vivo X6 Plus的手机系统是什么?能升级安卓5.0吗?
- Metasploit应用举例
- 【Tensorlayer系列】深度强化学习之FrozenLake介绍及表格型Q学习求解
- 酷家乐的 Istio 与 Knative 实践
- 分布式渲染运行时3D引擎架构在Web端的应用: 秒开3D Web APP
- 学习笔记75—方差分析(主效应和交互效应)
- iphone科学计算器使用
- Ext.ux.form.SearchField 添加placeholder属性 2016年9月19日
- 正弦稳态电路的阻抗和功率
- 2.东软跨境电商数仓项目技术选型
- 对挣钱与財富等三个问题的思考
- 蓝牙连接的sco问题
- 银河麒麟操作系统开机进入grub提示符界面