跳到内容,网站地图跳到搜索.

立即加入
在这里: 主页 许可 解释、实施和更改GNU GPL,应用于Linux和ZFS的组合

解释、实施和更改GNU GPL,应用于Linux和ZFS的组合

通过理查德·斯塔尔曼 贡献 发布日期:2016年4月7日下午01:36
Richard Stallman于2016年4月11日发表的FSF声明。

序言

本文解释了有关该法的含义和实施的一些问题GNU通用公共许可证。这个特殊的场合文章是Linux与ZFS结合的违规行为特别关注GNU GPL版本2;然而,大多数要点适用于所有版本的GNU GPL和GNU Affero GPL好。“GPL”或“GNU GPL”是指其中任何一个版本。

在陈述我们对许可证含义的理解时我们必须指出,这不是法律建议。

背景

2005年1月,我们在许可证列表声明解释说,“通用开发和分销许可证,版本1.0(CDDL)与GNU的所有版本都不兼容通用公共许可证(GPL)。“我们解释说”GNU GPL和CDDL涵盖的模块不能合法链接我们敦促开发人员“不要为此使用CDDL原因。"

虽然CDDL不常用,但它是分发由Sun Microsystems开发的文件系统ZFS。ZFS是最初是为Solaris编写的,但从那时起使其作为模块与其他操作系统协同工作的项目果仁。尝试将ZFS版本与Linux版本结合在一起快速运行CDDL与GNU GPL的不兼容。

版权所有和增强版本

更改免费程序通常需要更改预先存在的代码但有时更改纯粹是添加新的模块。添加的模块不必专门针对这种用法——它们可能包括从其他开发人员那里获得的代码。我们可以调用纯粹通过添加模块“增强”版本生成的版本,以将它们与其他类型的变化区分开来。的更改版本该程序需要获得原件版权的许可程序。

自由软件许可证的关键问题是它需要什么关于增强版本的许可。宽松的许可证,包括Expat许可证、X11许可证和Apache 2.0许可证,允许程序的扩展版本是非免费的。每个文件的版权许可证,如Mozilla公共许可证(MPL)同样允许这样做。结果是,任何中介都可以直接将程序转换为非自由软件增强它。

版权许可,包括GNU GPL或GNU AGPL的任何版本,需要在同一许可证下免费提供增强版本--同样的要求也适用于代码的修改。1我写了一个GNU程序的copyleft许可证,确保所有用户他们的版本将获得我想要给予他们的自由。

仅仅要求组合程序是自由软件是不够的不知怎么的。它必须作为一个整体在原版权下发布许可,以确保:(1)后续用户获得完全相同的许可自由和(2)后续中介机构获得的机会不会超过第一阶段的中介机构使该计划成为非免费的。

此copyleft要求适用于添加到程序,无论谁是该代码的版权所有者你补充道。2如果不这样做,中介机构将有一个简单的借口无视这些要求,剥夺一些用户应有的自由:只需添加其他人编写的代码。

私下里,你可以随心所欲

GNU GPL对您在私有;当您将工作提供给其他。,4

扩充作品作为源代码的分发

GNU GPL,在任何版本中,只允许以以下形式重新分发根据相同版本的GPL授权的作品。这意味着当您分发包含来自覆盖的GPL的材料的作品时程序,则必须在GPL适当版本的条件。例如,GPL版本2声明:

“基于项目的工作”是指项目或任何著作权法下的衍生作品:也就是说,作品包含程序或程序的一部分,可以是逐字的,也可以是带有修改和/或翻译成另一种语言。

这不仅限于您对GPL涵盖了你开始的工作。你添加的任何材料都属于同样的要求,这样的补充就不会成为拒绝的借口用户的自由。5如果你想要的材料add不允许以这种方式使用,您不能将其添加到GPL覆盖的为使他人可用而工作。

二进制(非源)增强作品的分布

使二进制(非源)工作可用的唯一允许方法包括GPL的材料在GPL下。GPL的许可这种二进制形式的要求基本上取决于对GPL下相同作品来源的要求。因此,您可以仅通过授权整个作品来遵守二进制文件的GPL(二进制版本和完整的相应源代码版本)。这就是copyleft的基本点适用于二进制文件。GPL不兼容许可证下的代码不能添加了,既不以源代码形式也不以二进制形式添加,并且不违反GPL。

关于分发或提供,GPL首先声明以源代码形式分发修改作品的条件,然后声明可以以非源形式分发相同的工作此外到源窗体。6

GPL允许分发修改的或根据GPL的条款,以及分发(在一个几种认可的方式)的完整对应源代码,它必须包含非源工作中的所有模块和所有代码除了特定的系统库之外特定条件。7相应的源代码必须作为一个整体在GNU GPL下发布。

整个作品由什么构成?

组合程序的一种常见方法是“链接”它们,以便程序可以使用其他程序的例程。开发人员通常会说话关于“静态”链接,当来自不同源程序的代码复制到一个组合的可执行文件中,然后生成当一个程序不可用时,用户可以使用和“动态”链接链接到另一个,直到在用户的系统。

使用静态链接,代码是整个程序的源代码。它至少包括二进制中链接在一起的所有模块的源代码。

开发人员经常发现这一点并不十分明显动态链接,但情况同样清楚:如果您分发用户将要链接在一起的模块,您已经创建了它们合并成一个作品,您必须发布整个合并作品在GNU GPL下。

换句话说:动态链接与静态链接从未制造任何分析结果的差异。8FSF的顾问多年来,几位美国律师都在处理这件事,答案是总是这个。不出所料,一些律师愿意为适合客户的不同解释辩护,但他们的论点站不住脚,受到大多数专家的质疑。

版权持有人可以明确授权其他用途

在法律上,在GNU General Public下发布作品许可或任何其他免费许可是版权声明授权用户做某些事情的持有者。版权相同持有者在法律上可以自由授予使用如果版权持有人根据然后他们宣布总部位于允许Kalamazoo在MPL下发布相同的程序第1版1600bpi磁带放在绿色盒子里,时间是13号星期五,这个许可是有效的。根据GPL也仍然有效。

因此,Linux的版权所有者可以允许使用Linux以GPL版本2未授权的方式。但没有人能这样设想除非版权所有者给予许可。

同样,ZFS的版权所有者(实际上是used)可以在GNU GPL版本2或之后,除了任何其他许可之外。这将使它成为可能在不违反许可证的情况下将该版本与Linux结合Linux。这将是理想的解决方案,我们敦促版权ZFS的持有者这样做。

一些版权所有者选择不在具体情况。9这使用户可以像权限一样操作被授予。然而,这并不会改变GNU的含义GPL,并且不会导致GPL突然禁止的使用或慢慢被GPL许可。这种默许并不是Linux和ZFS链接案例;实际上,一些Linux版权持有者表示,他们认为这侵犯了版权。我们有上面解释了为什么会这样。

当某些GPL条件过于严格时

我们不时得出结论,GPL中的某些条件是过于严格,其措辞排除了某些使用方式就用户的自由而言,在道德上应该被允许。通常是这样是由于技术环境的变化。

例如,在1991年,我们发现在一些系统上SunOS没有随内核和大部分系统一起发布,而是使用C编译器。(在此之前,每个Unix变体系统包括一个C编译器。)结果是“系统GPL版本1中的“library”异常不适用于此情况--然而,这是该例外计划允许的一部分。

FSF决定不对这些人强制执行GPL的条件为SunOS分发二进制文件。然而,这只适用于代码FSF版权所有。FSF无法决定其他版权持有人是否在这种情况下执行GPL。

所以我编写了GPL版本2,但有一个修改过的系统库例外应用于随编译器分发的库以及那些与基础系统一起分发的。这就产生了立即授权“GNU GPL”下发布的所有程序版本1或任何更高版本”,编译二进制文件的分发用于SunOS。

同样,在2006年,我们通过GPL版本3的评论了解到下载GPL覆盖程序二进制文件的过程BitTorrent违反了GPL版本2,因为使用BitTortrent每下载程序也会重新发布。我将GPL版本3中的术语包括到明确允许这样做,从而授权BitTorrent分发GNU GPL版本2或任何版本下发布的所有程序的二进制文件更高版本”。

自GPL版本3发布以来的九年中,我们没有发现这个缺陷需要一个新版本,但世界确实在改变。1991年,当我们发布GPL版本2时,BitTorrent还没有发明。明年,我们可能会了解到一项新的实践,要求GPL版本4,或者更确切地说是3.1。这就是为什么在“GPL版本N或更高版本”下发布--这样我们就可以修复他们面临的问题,即使他们有很多版权持有者。

GPL版本2和GPL版本3中的许可证终止

以违反以下规定的方式分发GPL覆盖程序的任何人GPL立即失去分发权限。这是怎么回事在GPL版本2和GPL版本3之间进行了更改。

1991年出版的GPL第2版自动成为违规者,立即永久性地失去发布该信息的许可程序。没有例外。为了收回权利,违规者必须要求版权所有者恢复权利。10

1991年,一个免费项目不太可能有数百个版权所有者,但现在Linux和许多其他软件都是这样免费程序。大型GNU/Linux发行版的版权所有者肯定有几十万甚至更多。

因此,在GPL版本3中,我决定使治愈违反。一旦你停止违规行为,你的分配权利暂时恢复。版权持有人则有60人多抱怨几天;只有那些在那天之前投诉过的人可以取消此临时恢复。如果你让他们满意,他们可以宣布你是清白的,这样你的分配权已永久还原。11

Linux仍处于GPL版本2下,因此GPL的终止更加严格版本2仍然适用于Linux。FSF敦促版权所有者出于这个和其他原因,Linux将其移动到GPL版本3。

Linux的GPL强制

自由软件基金会在Linux。我们开发的是GNU操作系统,它是Linux在台式机、笔记本电脑和服务器计算机。

FSF不是Linux的版权所有者,除了小部件从我们根据较低GPL或GPL发布的程序中复制加上异常,也许还有一个模糊的处理器端口。我们没有根据这些代码的强度告诉开发人员如何在Linux上实施GPL,我们不会像我们有发言权一样主张选择。然而,我们积极鼓励在Linux上一致实施GPL根据面向社区的GPL实施原则,我们希望执法人员成功地使违规者遵守了法律,因此维护GPL的完整性,以保护用户的自由。

与几位FSF代表一起,卡伦·桑德勒和布雷特·史密斯在以下方面提供了宝贵的评论、建议和编辑帮助这份声明的准备。结果仅表示金融稳定论坛。

脚注

  1. 我们谈论GPL涵盖的程序,但请注意,我们设计了GPL版本3适用于任何类型的工作,包括实例硬件设计。相比之下,GPL版本2是编写的专门用于程序。
  2. 这并不意味着你做的每一件工作必须明确且仅在GNU下发布可用GPL。如果工作的一部分在不同的与GPL兼容的许可证。
  3. GNU GPL在允许其他人获得您的副本。GNU Affero GPL对将工作提供给其他人。
  4. 在GNU GPL和其他一些免费许可下以一种形式提供给其他人的工作可以触发以下需求以其他形式提供给其他人。
  5. 如果您以前使用的GPL覆盖材料的数量为“de最小值”,因此对版权来说不重要,那么就没有关于使用它的要求。
  6. GPL对非源表单的规则对所有人都是一样的自动转换作品的形式,无论是什么转换完成。这包括编译、缩小、,解析器生成,在另一个编程中生成代码语言或其他什么。
  7. “系统库”有一个特定的狭义例外,可能包含在作品的二进制版本中,但从其源代码。“系统库”的典型示例是专有操作系统的专有C库,但例外情况包括以类似方式分发的其他库。我们已经更改了每个GPL版本中的精确异常标准,但基本思想没有改变。
  8. 此外,在某些情况下,我们会维护这些模块在单独的地址空间中执行,而不是逐字链接一起紧密沟通,构成一个整体程序。
  9. 如果您想允许某些GPL覆盖的其他用途工作时,我们建议使用一个明确的语句其他权限。对于GPL版本3,第7节解释了这些功能。FSF可以帮助您编写如果您愿意,可以使用异常语句。
  10. Linux和其他GPL版本2面向社区的实施者多版权作品使用多种策略来应对令人遗憾的是,恢复权利从来都不是完全的完成。例如,他们主动提出发表公开声明,甚至协助以后的防御性法律行动,针对以前的违规者已达成一致,以帮助他们处理其他可能反对过去侵权行为的版权所有者。任何人谁遵循以社区为导向的GPL实施原则(由软件自由保护协会和自由软件基金会;看见https://www.fsf.org/licensing/emplement-principles网站)是不太可能仅就过去的违规行为提起诉讼,因为我们社区的执法是通过以下方式维护用户的自由一般符合GPL的要求。
  11. 同样的原则敦促版权持有人遵守终止协议GPL版本3的规则适用于GPL版本2下的作品,但正在升级GPL版本3是确保所有版权所有者都这样做的唯一方法。

FSF是一家慈善机构,其全球使命是促进软件自由-了解我们的历史和工作。

fsf.org由以下机构提供支持:

 

将您对我们的翻译和页面的新翻译的反馈发送到活动@fsf.org.