人话解读GPLv3

2023-05-16

GPL最新版本为v3,在开源软件许可证的采用量上,位列前三名或者前四名(其他三位是MIT、Apache、GPLv2)。

如果你浸淫软件业已久,作为开源界如雷贯耳的许可证,无论如何也要了解一下,即便作为谈资也好。

GPL是描述版权人和用户的权利及义务的,如果你使用了GPL软件,又不想惹上官司,就应该了解一下。

GPLv3原版是英文的,如果觉得读起来费劲,就读它的非官方中文翻译(并没有官方的翻译),如果还是觉得费劲,就读对它的解读!

本文就是干这事的。

GNU GPL创始人 理查德·马修·斯托曼(Richard M. Stallman)

关于本文
本文的编排方式:按照GPL章节顺序,先来一段人话解读、然后是一段中文翻译,然后是一段英文翻译。(为清晰区分,后两者以图片形式展现。)

GPL写得比较繁琐,毕竟是准备上法庭的,把各种情况都尽可能考虑了。

本文则是用人话描述其精华,让人能够很容易抓住它的意思。

注意1:中文翻译和人话解读,都只是便于你理解,都不具备法律效力。真需要打官司的时候,你只能以英文原文作为依据。

注意2:本文所引用的中文翻译不是本人翻的,是阮坤良peterrk@pku.edu.cn 翻译的。(但我用蓝色字体标注了我认为翻译不恰当或不准确的地方。)

我(卫剑钒)只是写了人话解读。

注1:如果不加特别说明,本文中的GPL即指GPLv3,也即GPL version 3。

注2:在本解读里,“授权”和“许可”是一样的,“许可证”和“协议”是一样的,“作品”、“程序”、“软件”是一样的,“采用GPL许可证的作品”、“GPL程序”、“受保护程序”是一样的,“拷贝”和“副本”是一样的,就看语境以及怎么顺口怎么说了。

注3:本解读中,“你”可能是作者、版权人、专利权人、分发人、用户等,“我”可能是FSF、GPL、作者、版权人等,还有可能是解读者我。请根据上下文、语境和你的感觉来判断,不难的。

GPLv3基本精神
如果你就是看看热闹,看本章就够了。

1、你可以免费使用、复制、修改、分发受保护程序,但分发时一定要提供源码。

2、你可以收费。比如可以针对目标码、源码的分发收费,可以针对软件的维修保养(主要是提供技术支持,以下简称“维保”)收费;但不能收许可费、版税、专利许可费、授权费这类费用。

3、GPL程序的所有贡献者,自动免费提供了专利许可,承诺不会告人侵犯专利权(前提是你遵守了GPL)。

4、GPL程序允许别人破解。如果是用在消费类硬件上,要允许人修改并安装程序。

如果你读过GPLv2
主要区别就是:

1、GPLv3对专利做了明确的说明。

2、GPLv3对类似TiVo这种硬件做了一些要求。

3、使用者可以按照要求加一些补充条款(主要是免责和保护版权人权益方面的)。

4、其他诸如允许破解、授权中止和恢复、术语改动等一些较小的改动。

TiVo是一种数字录像设备,它能帮助人们非常方便地录下电视节目并跳过广告。TiVo是基于Linux开的(Linux使用GPLv2),为了安全性考虑,TiVo Series2中添加了硬件保护,在启动时,由ROM对启动文件进行签名验证,以防止任何人修改TiVo软件(这被称为Tivoization)。人们确实可以自由查看TiVo源代码,复制它,并更改它,但如果没有签名私钥,你就无法在TiVo上运行你修改后的程序。

GPLv3在第六条要求TiVo这类厂商提供签名私钥(如果使用了GPLv3程序),使得人们可以运行修改后的代码。不过,Linus对此表示明确的反对,他认为软件开发人员没有权利规定硬件厂商的行为,如果感到一家硬件厂商的专有行为是讨厌的,你可以购买其它厂商的产品。所以,Linux现在使用的还是GPLv2。

GPLv2是没有这个要求的,而且GPLv2第6条说:“不能添加任何额外的限制”。仅从这一点看,GPLv2和GPLV3是不兼容的,因为两者的第6条是冲突的,不能合并GPLv2的代码和GPLv3的代码在一起。

下面是逐段解读
为方便阅读,先是解读,然后是中文翻译和英文原文(后两者用图片格式)。

GPLv3在此!

2007年6月29日发布。

版权 © 2007 FSF

可以复制和传播本许可证,但不得修改。

引言
解读者注:引言是GPLv3的一部分,宣扬了GPL和自由软件的精神。

如果你只对自由软件文化感兴趣,读这段就好了。

GPL可以用于软件,也可以用于其他类型的作品。

我们的理念是要自由!

大多数软件,都不让你分享给他人(比如不让你拷贝给别人,别人如果想用,他只能自己去买),也不让你修改(修改商业软件被判刑的屡见不鲜)。和他们相反,GPL就免费让你干这些事,就给你这样的自由,并且你修改、分享给别人后,别人仍然拥有这样的自由!

相比之下,如果你给一个私有软件(非自由软件)写了一个外挂,相当于修改了这个程序,你如果把这个外挂发布出来,你就可能被告、被抓,被判刑,比如:“全国首例《王者荣耀》游戏外挂获刑案”1,再如早年间北京理工大学老师陈寿福因制作珊瑚虫QQ而获刑三年2。

一个软件用了GPL许可证,他就是自由软件(别忘了使用MIT、Apahce许可证的都是自由软件),更为重要的是,他的子子孙孙也都是自由软件(copyleft类许可证才能做到这点),人们都可以自由地使用它们!

如果想了解copyleft,可以看看这篇文章:使用Apache协议的软件是自由软件吗?

我们(FSF)使用英文Free,注意它有两个意思:自由,免费。我们说的是前者。

你在分发软件的时候,可以收费。(具体可以收什么费,收多少钱,往下看)。

你要了解你的权利和义务,简单地说,对于一个自由软件,你最主要的权利就是可以分发和修改它,你最主要的义务是:保持它的自由,保障他人对该软件的权利!

自由软件的作者,要做的只有两步:1、声明他对这个软件的版权。(说白了,作者很大度,他只保留了署名权,剩下权利几乎全都让渡。)2、附上本GPL,给人们自由,让人们可以合法地复制、分发和修改这个软件。

自由软件的享用者,要做的是:再分发给其他人的时候(也即发给下游),要继续带上源码,要继续带上这个许可证,让下一位知道他的权利和义务。

有一点必须要说清楚,作者不对产品质量负任何责任,这点想必大家都理解,毕竟没收钱嘛!(如果有人收钱来保证质量,那我们也乐见其成)

还有,要是你修改软件了,你要标注,说你改了什么,免得你带来的bug,让别人以为是原作者水平不高!要知道,我们都是要脸的。

有些硬件设备不允许用户修改其内置软件(类似TiVo那样),这就剥夺了用户修改软件的自由!我们认为,这最不应该发生在个人用户领域。这版GPL有专门条款解决这个问题,上版(GPLv2)并没有。

如果类似问题大面积出现在其他领域,我们会在未来新版的GPL中解决它,总之,我们会坚定不移地保护用户的自由!

还有,我们不想让自由软件受到专利的侵害,也就是说,不能因为被人申请了专利,自由软件就变成了私有软件,这是我们坚决反对的,这版GPL专门有条款防范这种事。
 


转载:

(74条消息) 人话解读GPLv3_vigor2323的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人话解读GPLv3 的相关文章

  • 绝地求生键位魔改v3.0

    因为fps类游戏的默认按键和LOL有很大差别 从舒服度和操作灵活性上说 LOL应该是更胜一筹 今天我就强行改下键位布局 当然这不是最终版 女士们和先生们欢迎讨论 绝地求生魔改键位 未提到的保持默认设置 各位同学根据需要修改 图像 显示模式
  • 绝地求生魔改键位v4.0

    绝地求生魔改键位v4 0 未提到的保持默认设置 各位同学根据需要修改 图像 显示模式 窗口化 分辨率 1920 1080 抗锯齿 超高 后期处理 超高 材质 超高 其他的都保持为 低 鲜明度 禁用 垂直同步 禁用 运动模糊 禁用 声音 音乐
  • 【rotors】多旋翼无人机仿真(四)——参数补偿和PID控制

    rotors 多旋翼无人机仿真 xff08 一 xff09 搭建rotors仿真环境 rotors 多旋翼无人机仿真 xff08 二 xff09 设置飞行轨迹 rotors 多旋翼无人机仿真 xff08 三 xff09 SE3控制 roto
  • VMware15.5.5虚拟机大小写无法切换(CapsLock键作用失效)解决方法

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 最近安装了manjaro
  • win10设置定时关机

    1 右击此电脑 打开管理 2 选择左侧的任务计划管理 并创建基本任务 3 按照需求设置 点击下一步 4 进入 启动程序 项 xff0c 如果系统在C盘 xff0c 那么在 程序或脚本 框内输入 C Windows System32 shut
  • linux如何手动添加app的图标

    退回根目录 cd 进入图标存放目录 cd usr share applications 用文本编辑器打开打开eclipse的图标文件 没有会自动创建 sudo gedit eclipse desktop 将以下部分添加进去 xff1a De
  • 单片机考前复习

    填空 选择 简答程序设计题 xff08 要求看懂硬件电路图 xff09 开卷考 题量比较大 第三章以后是于课堂上的课 c语言编程基础 第四章讲的是keil的操作 xff08 考试忽略 xff09 第五章讲的单片机的一些应用实例 xff08
  • 在word中插入漂亮的代码

    这种方法简单 xff0c 插入之后的代码格式类似于nodepad 43 43 xff0c 但是需要注意的是一定要用chrome浏览器打开 xff0c 我最开始的使用的是firefox xff0c 结果粘贴到word中之后 xff0c 总是无
  • Octave添加package方法

    Octave 兼容 MATLAB xff0c 但并非100 适配 里面的一些函数并没有包含在内 如果没有 xff0c 那这些函数可能包含在Octave forge中 xff0c 也可能是新添加的MATLAB函数 xff0c Octave尚未
  • 线性回归最小二乘法公式推导

    1 符号表示 首先我们将训练样本的特征矩阵X进行表示 xff0c 其中N为样本个数 xff0c p为特征个数 xff0c 每一行表示为每个样本 xff0c 每一列表示特征的每个维度 xff1a
  • Python与C/C++相互调用

    https www cnblogs com yanzi meng p 8066944 html
  • HAL库开启串口空闲中断

    串口接收数据时 xff0c 开启空闲中断后可在接收完成触发中断 xff0c 再去做进一步处理 xff0c 但找了半天没找掉HAL库的使能某中断的函数 xff0c 以及判断是哪个中断触发的函数 xff0c 原来在stm32f4xx hal u
  • debug成长记录

    提示 xff1a 今天编译代码时 xff0c 出现了错误 function definition is not allowed here 描述 xff1a 在函数调用时也找不到已经定义的函数 但明明已经定义了 xff0c 并且路径也没有问题
  • 【rotors】多旋翼无人机仿真(五)——多无人机仿真

    rotors 多旋翼无人机仿真 xff08 一 xff09 搭建rotors仿真环境 rotors 多旋翼无人机仿真 xff08 二 xff09 设置飞行轨迹 rotors 多旋翼无人机仿真 xff08 三 xff09 SE3控制 roto
  • linux分区不该把/usr独立分出来

    manjaro arch 安装完成后重启报错 xff1a Root device mounted successfully but sbin init does not exist 前言 这个问题是我的大佬同学赖拐发现的 xff0c 估计也
  • Linux与Windows 10用grub引导教程

    前言 去年暑假的时候 xff0c 写了一篇如何装 Linux 和 Windows 10 双系统的文章发在了简书上 xff0c 我写这篇文章的原因是当初装双系统确实是折腾了许久 xff0c 网上也找不到一篇详尽的教程 由于去年对于写教程还不是
  • 如何在Ubuntu 20.04上安装Wine 5.0

    如何在Ubuntu 20 04上安装Wine 5 0 Wine是一款开源的应用程序 xff0c 它提供了在类似Unix的操作系统上运行为微软Windows开发的软件的兼容性 在Wine的帮助下 xff0c 你可以在Linux系统上运行Win
  • 如何在Ubuntu 20.04上安装Kvm

    在继续安装之前 xff0c 请确保您的Ubuntu主机支持KVM虚拟化 系统应具有带VT x xff08 vmx xff09 的Intel处理器或具有AMD V xff08 svm xff09 技术支持的AMD处理器 运行以下grep命令以
  • 安装KVM+安装虚拟机+配置桥接网络

    由于很久没有玩虚拟机了 xff0c 有些生疏 xff0c 百度了一下 xff0c 结果百度出来的文章动不动就让安装一大堆东西 xff0c 不管用上用不 xff0c 而且我还惊奇的发现这些让安装一大堆东西的博客基本都相同 xff0c 你说奇不

随机推荐