GPLv2许可证正经人话翻译

Stella981
• 阅读 648

GPLv2许可证正经人话翻译

上次写了篇“人话版GPL 2.0协议”,有读者建议把英文原文一并贴出,所以这次发一篇带原文的,带上正经版翻译,然后是人话版翻译。

英文原版网址:

https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

正经版翻译:阮坤良 校对:汪蔚 和丹

人话版翻译:卫剑钒 2020.7

【正经版译者声明】This is an unofficial translation of the GNU General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better.这是GNU通用公共许可协议的一份非官方中文翻译,并非自由软件基金会所发表,不适用于使用GNU通用公共许可协议发布的软件的法律声明——只有GNU通用公共许可协议英文原版才具有法律效力。不过我们希望本翻译能够帮助中文读者更好地理解GNU通用公共许可协议。You may publish this translation, modified or unmodified, only under the terms at https://www.gnu.org/licenses/translations.html.译注:distribute既译作分发也译作发布,前者强调转发,后者强调公布;license既译作协议也译作许可,前者强调此文本,后者强调内容;首字母大写的Program译作程式,首字母小写的program译作程序。

【人话版译者序言】

阅读时,你需要一个软件不断流转的概念,就是软件由最初作者写好后,发给了别人,别人又发给了你,你改了改,又发给其他人,所以开源软件有上下游之说,上游把软件分发给你,你又分发给下游,开源软件就是这样不断传播散布开来。

GPL协议只有英文原版才有法律效力,本文看看就好,主要是帮助理解,尤其对新手而言。

1、GPL是FSF制定的,文中的“我们”,指的就是FSF,如果说“我”,有可能是Richard Stallman,也有可能是“本程序”的作者,请根据上下文判断。

2、关于概念,很多人喜欢说“A可不是B”,不过我喜欢说“A就是B”,所以:本文中,“程序”、“软件”、“作品”都是一个东西,“发布”就是“分发”,“授权”就是“许可”,“协议”就是“许可证”,“担保”就是“保证”,“无担保”就是“免责”。

由于说人话,难免会有一些演绎的成分,不会字字句句对应,但总体上是严格对应原文精神的。

下面正式开始

GNU GENERAL PUBLIC LICENSEVersion 2, June 1991Copyright (C) 1989, 1991 Free Software Foundation, Inc.51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USAEveryone is permitted to copy and distribute verbatim copiesof this license document, but changing it is not allowed.GNU通用公共许可协议第二版,1991年6月版权所有(C)1989, 1991 自由软件基金会51 Franklin Street, Fifth Floor, Boston, MA 02110‐1301, USA任何人皆可复制和发布本协议的完整副本,但不得修改

GPL 2.0许可证

版本 2, 1991年6月

版权 (C) :1989, 1991 Free Software Foundation, Inc.

51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

你可以复制、发布本许可证,但不能修改本许可证。一个字都不能动。

PreambleThe licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.The precise terms and conditions for copying, distribution and modification follow.【引言】  就多数软件而言,许可协议被设计用于剥夺你分享和修改软件的自由。相反,GNU通用公共许可协议力图保障你分享和修改自由软件的权利——确保自由软件对其用户来说是自由的。本GNU通用公共许可协议用于自由软件基金会的大多数软件(自由软件基金会的有些软件受GNU宽松通用公共许可协议保护),以及那些作者声明使用此协议的软件。你也可以将本协议用于你的程序。  所谓自由软件,强调自由,而非免费。本GNU通用公共许可协议设计用于确保你享有分发自由软件的自由(你可以为此服务收费),确保你可以在需要的时候获得这些软件的源码,确保你可以修改这些软件或者在新的自由软件中复用其中某些片段,并且确保你在这方面享有知情权。  为保障你的权益,我们需要作一些限定:禁止任何人否认你的上述权利,或者要求你放弃它们。当你分发或修改这些软件时,这种限定就变成你的义务。如果你分发这种程序的副本,无论收费还是免费,你必须给予与你同等的权利。你还要确保他们也能收到源码并了解他们的权利。  我们通过两步保障你的权益:其一,赋予软件著作权;其二,通过本协议使你可以合法地复制、分发和修改该软件。同时,为了保护每一位作者以及我们自己,我们向所有人指明如下一点:自由软件并不提供品质担保。如果软件被修改并继续传播,我们希望接收者知道获得的不是原版,后来引入的任何问题不应该影响原作者的声誉。  最后,自由软件还持续受到软件专利的威胁。我们希望避免再发布者以个人名义取得专利,即将程序据为己有。为防止此类情况发生,我们需要澄清:专利必须为保障每个人的自由使用而申请,否则不应该存在。  下文是关于复制、分发和修改的严谨描述和实施条件。

开场白!

我们设计GPL协议,目的很简单,就是给程序员自由,给用户自由!

我们FSF的软件大都用这个协议,但并不是说只有我们能用,任何人都可以用这个协议!

我们认为,人应该有这样的自由:

每个人都有分发软件的自由,而且可以因此收费。

"译者注:“分发”就是有人把软件卖给你、寄给你、发给你、拷给你、让你下载、帮你安装等等,只要你从他那儿搞到软件,就算他分发给你了。有时候会用“发布”一词,请视为等同。"

"译者注:本文所讲的“程序”、“软件”、“作品”、“东西”、“玩意”,在绝大多数情况下,指的都是一个东西:自由软件,尤指使用GPL的软件。"

每个人有获取源码的自由,软件应该附带源码!

为什么要带源码?因为源码让程序员更自由,源码让用户更自由。

"译者注:如果你搞过开发,你就会懂的。"

每个人有改动源码的自由。 这就好比你买了搭好的乐高积木,却不能拆了重新组装,那多没劲。

每个人都应该知道上面这些理念。所以,本许可证带着这个开场白,而使用GPL的软件,都带着本许可证,就是为了让你看见这些理念。

GPL协议的目的就是要确保做到上面这些。每个分发GPL软件的人,都要按照GPL的要求做。

记住:我们给了你自由,你要把自由再传递给其他人。最基本的就是要把源码公开!

每个人都应该知道,自由软件是不提供任何担保的,也即如果用出什么问题,您自己负责。如果你修改了别人的程序,你要说明你修改了,这样,你带来的bug,不会影响原作者的声誉。

我们绝不允许将自由软件专有化,你如果基于本程序做了修改,并对修改申请了专利,你就要把这个专利让所有人免费使用,要么你就不要发布。

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.【关于复制、分发和修改的术语和条件】  〇、但凡版权持有人在他的程序或其他作品中声明该作品可在GNU通用公共许可协议约束下发布,本协议便对之适用。下文中所说的“程式”指任何程序或作品,而“程式的派生作品”指该程式或者版权法认定的派生作品,即全部或部分包含了该程式的作品,无论是原样包含或做了修改,乃至翻译成了其他语言(后文中“修改”涵盖翻译)。每个许可获得者称作“你”。  除复制、分发和修改外的行为超出了本协议的约束范围。执行程式的行为并不受限,程式的输出一般不在约束之内,除非其内容构成了本程式的派生作品(并非单纯地作为本程式的运行结果),判别取决于此程式的具体用途。

条款和条件

0.先定义一下:如果一个作品包含本程序的全部或者部分,或者是对本程序做了修改,或者将本程序翻译成其他语言,那么,这个作品就是基于本程序的,也称衍生程序或衍生作品。

"译者注:注意,本文中的“本程序”,就是使用了GPL的程序,本程序发布时是带着本许可证的。"

本协议管的是对本程序的复制、修改和分发。其他的事我不管。比如执行本程序是不受限制的,程序的输出也不受限制,除非输出内容的本身就是本程序的衍生作品。

"译者注:事实上,只要你不分发,只是自己用用,都不会管的,比如你可以随便复制1000份放在你的硬盘上,你也可以随便改,只要你不拿出来传播就好。但如果你哪怕只是发给了小伙伴张三,那就要注意了,你要按GPL的要求做,否则就会违规。除非这个小伙伴和你一个公司而你们正在受公司之命使用或修改本程序。"

"译者注:关于程序输出,可以考虑一下这些情景:你使用受GPL保护的软件LibreOffice写了一本书(这就是输出),这本书不受GPL限制;你用Emacs编辑器(GPL的)写了个程序(这就是输出),这个程序不受GPL限制;你用mysql(GPL的)做数据库并搭了个网站,这也不受GPL限制。但如果你用LibreOffice、Emacs编辑的是本程序的源码,或者用mysql数据库存储了本程序的源码并在网站上输出,那就另当别论了,这你懂吧。"

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.  一、只要你做到为每一个副本醒目而恰当地发布版权与免责声明,原封不动地保留本协议及免责声明,并将本协议连同程式发予接收者,你可以通过任何媒介完整地复制和分发你收到的本程式的源码。  你可以就传输副本的具体行为收费,也可以选择提供品质担保以换取收入。

1. 如果你要分发的是一字未改的本程序(也就是说这个程序是别人分发给你的),记着必须要在明显的地方,带上本程序的版权声明、免责声明(或称无担保声明)、以及本许可证。而且必须是原封不动的本许可证和免责声明。

"你应该知道为什么带这些吧,前面我已经大致说过了,这里再说一遍:第一,你要给原作者留名,人家写自由软件图啥?至少要给人家个名吧!第二,人家也没有收维保费,不能说有点bug还找人家算账,软件不好使,你们自己想办法。第三,要带上我这个GPL协议,要让所有人知道他的权利和义务,更重要的是,让他们看看我的开场白,理解自由软件的初心。"

你可以因为分发软件的具体行为收成本费。(比如你可以收制作光盘的费用,邮寄的费用,拷贝的费用,但不能收研发费!不能收许可费!不能收专利费!总之,你要知道这是自由软件,你要接受我们的理念,否则你就不要分发。)

你要是能提供维保服务,你可以收维保费。(有些服务商就是靠这个赚钱的,我们允许这种商业行为。)

"译者注:所谓维保,也就是用户软件出故障了,你给人家解决bug,需要版本升级了,你给人家升级,发现安全漏洞了,你给人家补丁,用户不会用了,你给人家培训,这些活,都属于维保。原作者一般是不会干这个的,他更喜欢开发。"

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.  二、你可以修改你的程式副本的任意部分,以构成本程式的派生作品,并在满足上述条款及以下三点要求的前提下复制和分发该修改版:  a)你必须在你修改了的文件中醒目地声明你的修改及标注修改日期。  b)你必须使你分发或发布的作品,部分或全部包含本程式或其派生作品,允许第三方在本协议约束下使用,并不得就授权收费。  c)如果修改后的程序通常在运行时通过交互方式获取命令,你应该让它进入交互模式时显示简要的版权声明和免责声明(抑或者你的品质担保声明),以及告诉用户可以在本协议约束下再发布该程序并提供查阅本协议的途径。(例外:如果本程式有交互式执行却通常不显示任何声明,则对你的派生作品也不作此要求。)  上述要求对修改后的作品整体有效。如果该作品中某些可划定的部分并非派生自本程式,并可以被合理地看作是从中分离的独立作品,则当你将它们分开发布时,这种独立部分可以不受本协议约束。但是,在你将这些部分和你修改后的作品一起发布时,整个套件将受本协议约束,本协议对其他许可获得者的授权将延伸至整个作品,即套件的每一部分,不管是谁写的。

2. 如果你要分发的是你修改后的本程序(或曰衍生程序),除了上面第1条的要求外,你还要满足以下条件。

a) 对于你修改了的文件,你必须在那个文件上带上明显的修改声明,并附上日期信息。

b) 哪怕你的软件有一点点含有或来自我的程序,你分发时,就要按照GPL,授权所有的第三方都可免费使用、复制、修改、再分发你这个软件。

c) 如果你修改后的程序在运行时和用户以命令的方式交互,你必须在程序运行的开始,显示版权声明、无担保声明(如果你有担保你就显示担保声明),你要告诉用户分发你程序时的条件,告诉用户如何读取本许可证。但是:如果本程序不显示这些,那你不需要专门改成这样。

"译者注:比如gdb运行时就会出来一堆这些声明。命令式交互并不仅限于“命令行”交互,完全可以是图形界面的命令式交互甚至是音频的交互。"

如果你的作品有一部分可以独立出来,而且这部分完全是你写的(不基于本程序),那你分发这部分的时候,不需要遵守本许可证。

但如果你写的那部分不能独立出来,而是必须要和本程序作为一个整体发布,那就得遵守本规定。

我不是要掠夺你写的那部分程序,我是想让所有基于本程序的软件,都能真正的自由起来!如果你还不明白,再去看看我的开场白。

当然,如果一个程序仅仅是和本作品放在同一张光盘上、同一个U盘上、同一块活动硬盘上,而它本身不基于本程序,我们不会要求该程序遵守GPL的。(我们没有这么变态,也不会有人真以为能这样“传染”吧?!)

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.  三、你可以在上述条款约束下以目标码或可执行文件的形式复制和分发本程式(或条款二所说的派生作品),不过你还要满足以下要求之一:  a)附上相应的源码。源码要求完整且机器可读,并在条款一、二的约束下通过常用的软件交换媒介分发。  b)附上至少三年有效的书面报价表以供第三方付费获取相应的源码。源码要求完整且机器可读,并在条款一、二的约束下通过常用的软件交换媒介分发,费用不得超过实际的分发成本。  c)附上你所收到的获取源码途径的信息。(该选择只适用于非商业分发,并且你只收到目标码或可执行文件以及满足b项要求的报价单的情况下。)  作品的源码指其可修改的首选形式。对可执行的作品而言,完整的源码指其包含的所有模块的源码、相关接口定义文档以及编译和安装所需脚本。然而,有一种例外情况,分发的源码不必包含那些通常会随目标运行环境的操作系统的主要部件(编译器、内核等)发布的内容(以源码或二进制形式),除非这些部件自身是本程式的一部分。  如果以指定特定复制地点的形式分发可执行文件或目标码,则在同一地点提供对等源码复制途径也算一种源码分发手段,即便不强求第三方在复制目标码的同时复制源码。

3. 如果你要分发本程序(或衍生程序)的目标代码或可执行文件,除了满足前面第1条和第2条,还必须满足以下3个选项的其中1个。

a) 伴随这个目标代码或可执行文件,你必须提供机器可读的源代码。(也就是说,这个源码不能是图片、照片、打印在纸上的、印刷在书上的,要的是电脑可读的。)而且你要使用拷贝软件常用的方式。(你别给我弄到磁带上、纸带上、稀奇古怪的介质上)总之,别耍花样,老老实实交出源码。

b) 或者你可以这样做,你附上一个书面的报价单,让用户想买的时候可以买,有效期至少三年,收费不能超过成本费。(比如收费只是你制作光盘、制作U盘的费用。)

c) 或者,如果你只是把你得到的程序又转发给别人,而且并不收钱,那你带上获取源码的信息就可以了(如果是商业行为,你就得给源码,或者弄书面报价单了)。

所谓源代码形式,就是那种最便于修改的形式。对于一个可执行程序,完整的源代码包括其所有模块的源代码、接口定义文件、编译程序的脚本、安装程序的脚本。但不包括内核、编译器这些操作系统主要部件的源码,这不是该你负责的部分,除非你的程序就是干这些事的。

(总之,提供源码就要提供完整的,而且是便于编译的,即便是编程菜鸟,能应该能按照指示,简单几步就能把源码弄成可执行文件,如果你只是扔来一堆源码,而故意隐藏一些信息或制造一些编译上的难度,那只能说你品质低下。)

如果可执行文件(目标代码)的分发是在特定的地点完成的,那么,在同一地点也应该提供对源码的拷贝。当然,来获取可执行文件的人,完全可以选择不要源码,不能强迫非要给人家源码。

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.  四、在本协议授权之外,你不能复制、修改、再授权或分发本程式。任何用其他方法复制、修改、再授权或分发本程式的企图都是无效的,并使你从本协议获得的权利自动终止。然而从你那按本协议获得副本和许可的人,只要继续遵守协议,他们获得的许可并不会终止。

4. 除了本许可明确允许的方式,你不能复制、修改、分发和再许可本程序。如果你试图干这些事,本许可证授予你的权利将自动终止。但已经从你这里获得了拷贝的人,只要他们遵守规定,他们的授权并不会自动终止。

"译者注:事实上,如果你不分发,只是自己用用,复制、修改的自由还是有的。"

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.  五、你没有在此协议上签字,也不是非要接受它不可。但是,此外没人可授权你去修改或分发本程式或其派生作品。此种行为为法律所不容,除非你接受本协议。因此,修改或发布本程式(或本程式的任何派生作品),就表明你已经接受本协议,即接受它的所有关于复制、分发和修改本程式及其派生的条款。

5. 你可以不接受本许可证,但不接受你就不能修改和分发本程序(及衍生程序)。所以,你只要干了这些事,就表明你接受了本许可证。

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.  六、每当你再发布本程式(或本程式的任何派生作品),接收者自动从原始权利人获得本许可,以复制、分发和修改本程式。你不可以对他们获得的权利加以进一步的限制,你也没有要求第三方遵守该协议的义务。

6. 每当你发布本程序(或衍生程序)时,收到本程序的人,自动获得本程序原始授权人依本许可证所赋予的权利,你不能添加任何额外的限制。你也不用负责别人是不是按照本许可做。(译者注:由此可知,一旦一个GPL的程序诞生,它的子子孙孙都会是GPL的。)

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.  七、如果因为法庭裁决或专利侵权指控或其他原因(不限于专利事宜),你面临与本协议条款冲突的条件(来自于法庭要求、协议或其他),那也不能成为你违背本协议的理由。倘若你不能在发布本程式时同时满足本协议和其他文件的要求,你就不能发布本程式。例如某专利授权不允许通过你直接或间接地获得本程式的人在不付授权费的前提下再发布本程式,唯一能同时满足它和本协议要求的做法便是不发布本程式。  如果本条款在特定环境下无效或无法实施,本条款的其他部分仍适用且本条款整体在其他环境下仍适用。  本条款的目的不在于诱使你去侵犯专利或其他产权要求,抑或者对之抗辩。本条款的根本目的是保护自由软件发布系统的完整性,而这要通过应用公共许可证实现。借助同样出自该系统的应用程序,许多人已经对在该系统上发布的软件作出了广泛而慷慨的贡献。作者/捐赠人有权确定是否通过其他渠道发布软件,被授权人不得干预其选择。  本条款旨在彻底阐明其余条款所带来的当然结果。

7. 不管是哪种情况,比如法院判决、专利指控或其他情况,导致你无法遵从本许可证的条件,那也不代表你就可以搞特殊,如果你无法求得两全,那你就只能放弃发布。比如某个专利,要求人们必须付授权费后,才能再次分发,这就和本许可冲突了。为了避免这种问题,你唯一能做的,就是不分发本程序。(译者注:此即著名的“自由或死亡”条款,“Liberty or Death”)

不管在什么场景下,如果本条款的任何一部分不能执行或者被判定无效,其他部分也是有效的,且条款整体在其他场景下仍是有效的。

本条的目的不是诱使你侵犯专利或知识产权,也不是让你去和别人争执更应该执行谁的条件,本条的唯一目的,就是保护GPL的完整性,而不是让它被支离破碎地执行,正是通过GPL的一致执行,我们的事业才取得了如此显著的成就。

原创作者有权利使用其他协议发布他的作品,任何人不能强迫原创作者必须使用GPL协议。

本条试图彻底解释清楚其他条款所带来的可能后果。

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.  八、如果由于专利或受版权保护的接口的问题,分发或使用本程式在某些国家受到限制,原始版权持有人在其程式中使用本协议时可以附加明确的区域分发限制以排除那些国家,以支持此外地区的分发。在此情况下,这种限制条款将纳入协议之中。

8. 如果在某些国家因为专利或版权的问题难以分发,那么版权所有人在分发时,可以对分发的地区加以明确限制,以排除那些国家。在这种情况下,这些限制不认为是对本协议的修改。(译者注:反正本协议是不允许修改的,这条例外不算修改。)

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.  九、自由软件联盟可能会不定时发布GNU通用公共许可协议的修订版或新版。新版将秉承当前版本的精神,但对问题或事项的描述细节不尽相同。  每一版都会有不同的版本号,如果本程式指定其使用的协议版本以及“任何更新的版本”,你可以选择遵守该版本或者任何更新的版本的条款。如果本程式没有指定协议版本,你可以选用自由软件联盟发布的任意版本。

9. FSF会不定时发布GPL的新版本,精神上应该不会大变,主要是增加一些对新情况的描述。每一版都会有新的版本号,如果一个软件说使用“GPL 2.0 and later version”,这表示你可以用2.0,或者其后的某个版本,如果只说使用GPL 2 .0,那就只能用2.0,如果说使用GPL但没有指定版本号,那就可以任意选择一个FSF发布过的版本。

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.  十、如果你希望将本程式的某部分并入采取不同发布条件的自由软件中,应书面请求其作者的许可。对于自由软件联盟持有版权的软件,还应向联盟提出书面请求,我们有时会作例外处理。在处理这种事情时我们秉承两大宗旨:保持所有自由软件派生作品的自由属性,以及在整体上促进软件的共享和复用。

10. 如果你希望将本程序的一部分纳入采用其他许可证的自由软件中(译者注:注意符合自由软件定义的许可证有很多,比如MIT、Apache等都是),你要征得本程序作者的书面同意。如果他同意,那就可以。如果本程序的版权归FSF,那你得问我们,一般来说,我们的作品以及衍生作品都必须要用GPL的,但是,我们有时候也同意一些例外。(译者注:决策权当然是在作者这里的,作者想用什么许可就用什么许可。)我们的决策主要考虑两个目标,一是保证自由软件的子子孙孙都是自由的,二是促进软件的普遍共享和复用。

NO WARRANTY11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.不提供品质担保  十一、本程式为免费授权,故在适用法律范围内不提供品质担保。除非另作书面声明,版权持有人及其他程式提供者“概”不提供任何显式或隐式的品质担保,品质担保所指包括而不仅限于有经济价值和适合特定用途的保证。全部风险,如程式的质量和性能问题,皆由你承担。若程式出现缺陷,你将承担所有必要的修复和更正服务的费用。

无担保声明

11. 由于本程序是免费提供的,所以在法律许可范围内,除非有书面说明,本程序是没有担保的。本程序是“AS IS”的,没有任何明示或暗示的保证,比如默认的适销性、适用性这些保证都没有,关于本程序的功能和性能导致的风险都由用户自己承担,本作品的缺陷请你自己想办法搞定,你可以花钱买服务,会有人愿意做这事的。

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.END OF TERMS AND CONDITIONS  十二、除非适用法律或书面协议要求,任何版权持有人或本程式按本协议可能存在的第三方修改和再发布者,都不对你的损失负有责任,包括由于使用或者不能使用本程式造成的任何一般的、特殊的、偶发的或重大的损失(包括而不仅限于数据丢失、数据失真、你或第三方的后续损失、其他程序无法与本程序协同运作),即使那些人声称会对此负责。

12. 除非是法律要求或者书面同意,否则在任何情况下,本程序的版权所有者、修改本程序的人、重新发布本程序的人,都不会对你的任何损失负责,不管这个损失是一般的还是特殊的,不管是偶然的还是间接的,不管是本程序自己的问题,还是因为你不会用导致的,不管是数据丢失还是数据不准确,不管是你导致的,还是其他人导致的,亦或是本程序和其他程序共同导致的。即便版权所有者或修改人已经被告知有危险,他们也不会对此负责。总之一句话,我不负责。

条件和条款就这么多了!

How to Apply These Terms to Your New ProgramsIf you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.【附录:如何将上述条款应用到你的新程序】  如果你开发了一个新程序,并希望它能最大限度地为公众所使用,最好的办法是将其作为自由软件,以使每个人都能在本协议约束下对其再发布及修改。  为此,请在附上以下声明。最安全的做法是将其附在每份源码的开头,以便于最有效地传递免责信息。同时,每个文件至少包含一处“版权”声明和一个协议全文的链接。

你的新程序如何使用本许可证?

如果你开发了一个新程序,并且想最大程度造福人类,我向你保证,最好的办法就是使用我们的GPL,把它变成自由软件,让任何人都可以修改它、分发它。

如何使用GPL?最好把下面这段话放在程序的头部,以便最有效地传达免责声明。

至少也应该写一行版权,然后给出一个链接,指向完整的许可证。

one line to give the program's name and an idea of what it does.Copyright (C) yyyy  name of authorThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.  用一行来标明程序名及其作用。  版权所有(C)年份 姓名  本程序为自由软件,在自由软件联盟发布的GNU通用公共许可协议的约束下,你可以对其进行再发布及修改。协议版本为第二版或(随你)更新的版本。  我们希望发布的这款程序有用,但不保证,甚至不保证它有经济价值和适合特定用途。详情参见GNU通用公共许可协议。  你理当已收到一份GNU通用公共许可协议的副本,如果没有,请致信自由软件基金会:51 Franklin Street, Fifth Floor, Boston, MA 02110‐1301, USA

[你程序的名字,你程序的用途,注意最好一行搞定。]

Copyright (C) 年份, 作者名字

本程序是一个自由软件,你可以重新分发它,可以修改它,但要遵守GPL 2.0版本或者后续其他版本。

我们希望本程序是有用的,但是我们不保证它能用,不保证它好用,我们不提供任何保证。

更多请见GPL全文,如果理解不了,找人话版看看。

按道理你在得到本软件时,应该已经得到一份GPL,如果你没找到,写信给自由软件基金会(FSF):

51 Franklin Street, Fifth Floor, Boston, MA 02110‐1301, USA

Also add information on how to contact you by electronic and paper mail.If the program is interactive, make it output a short notice like this when it starts in an interactive mode:  同时提供你的电子邮件地址或传统的邮件联系方式。  如果该程序是交互式的,让它在交互模式下输出类似下面的一段声明:

然后在文件头部附上你的电子邮件地址和纸质件邮寄地址。

如果你的程序是交互式的(用户可以输入指令并得到反应 ),那么,请在交互式运行的一开始,输出版权、免责及许可信息,下面是个例子:

Gnomovision version 69, Copyright (C) year name of authorGnomovision comes with ABSOLUTELY NO WARRANTY; for detailstype 'show w'.  This is free software, and you are welcometo redistribute it under certain conditions; type 'show c'for details.  Gnomovision 第69版,版权所有(C)年份 姓名  Gnomovision从未提供品质担保,输入'show w'可查看详情。这是款自由软件,欢迎你在满足一定条件后对其再发布,输入'show c'可查看详情。

Gnomovision v69,版权 (c) 1988 steven

Gnomovision没有任何保证,了解更多请输入’show w'。

这是一个自由软件,欢迎再次分发本程序,但要满足一定条件,欲知详情请输入’show c'。 

The hypothetical commands 'show w' and 'show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program.You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:  例子中的命令'show w'和'show c'应用于显示GNU通用公共许可协议相应的部分。当然你也可以因地制宜地选用别的命令乃至点击操作。  如果你之上存在雇主(你是码农)或校方,你还应当让他们在必要时为此程序签署放弃版权声明。以下有例子:

这里的'show w’和’show c’只是例子,你可以用别的指令,还可以是鼠标点击或菜单选择,只要显示GPL的相应条款即可。

若你是在工作场景下写的这程序,如果必要,你可能需要让你的公司或学校(译者注:你知道学校里的学生有时就像雇员),签署一个“版权放弃书”。

范例如下,修改其中的名字即可:

Yoyodyne, Inc., hereby disclaims all copyrightinterest in the program `Gnomovision'(which makes passes at compilers) writtenby James Hacker.signature of Ty Coon, 1 April 1989Ty Coon, President of Vice  Yoyodyne公司,在此放弃对James Hacker所写的'Gnomovision'程序所享有的版权利益。  Ty Coon 签字,1989年4月1日  Ty Coon 副总裁

Yoyodyne公司声明放弃James Hacker所写的’Gnomovision'程序的版权权益。

Ty Coon签字,1989年4月1日

Ty Coon公司,副总裁

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.  本GNU通用公共许可协议不允许把你的程序并入私有程序。如果你的程序是某种库,且你想允许它被私有程序链接而使之更有用,请使用GNU较宽松通用公共许可协议。

我们不允许一个GPL的程序集成到私有程序(或称专有软件)中。如果你的程序是一个函数库,而且你认为让私有程序链接这个库更有利于自由的力量,那你可以使用LGPL,而不是GPL。

全文结束

"注:题图来自美剧《硅谷》第六季"

本文分享自微信公众号 - 微月人话(man-mind)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这