跳转到主要内容

用于与GITenberg图书项目交互的库和命令

项目描述

                GNU GENERAL PUBLIC LICENSE
                   Version 3, 29 June 2007

版权(C)2007自由软件基金会,Inc. http://fsf.org/ 任何人都可以复制和分发此许可文档的逐字逐句的副本,但不得更改。

                        Preamble

GNU通用公共许可证是一种适用于软件和其他类型作品的自由、版权许可。

大多数软件和其他实用作品的许可证设计用于剥夺您分享和更改作品的权利。相比之下,GNU通用公共许可证旨在保证您分享和更改程序所有版本的自由——确保它对所有用户来说都是自由软件。我们,自由软件基金会,使用GNU通用公共许可证为我们的大多数软件;它也适用于作者以这种方式发布的任何其他作品。您也可以将其应用于您的程序。

当我们提到自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有权分发自由软件的副本(如果您愿意,可以为此收费),您收到源代码或可以获取源代码,您可以更改软件或将其部分用于新的自由程序,并且您知道您可以这样做。

为了保护您的权利,我们需要阻止他人剥夺您的这些权利或要求您放弃这些权利。因此,如果您分发软件的副本或修改它,您将承担某些责任:尊重他人自由的义务。

例如,如果您分发此类程序的副本,无论是免费还是付费,您必须将您收到的相同自由传递给接收者。您必须确保他们也收到或可以获取源代码。您还必须向他们展示这些条款,以便他们知道自己的权利。

使用GNU GPL的开发者通过两个步骤来保护您的权利:(1)对软件声明版权,并提供此许可证,给予您复制、分发和/或修改软件的法律许可。

为了保护开发者和作者,GPL明确指出,此免费软件没有保证。为了用户和作者的利益,GPL要求修改版本应标明已更改,这样他们的问题就不会错误地归咎于早期版本的作者。

一些设备被设计成阻止用户安装或运行其中的修改版软件,尽管制造商可以这样做。这与保护用户改变软件自由的目的是根本不相容的。这种滥用模式的系统性发生在个人使用产品的领域,这正是最不可接受的。因此,我们设计了本版本的GPL,禁止这些产品的这种做法。如果此类问题在其他领域大量出现,我们将随时在GPL的未来版本中将这一规定扩展到这些领域,以保护用户自由。

最后,每个程序都不断受到软件专利的威胁。国家不应允许专利限制通用计算机上软件的开发和使用,但在那些允许的地方,我们希望避免将专利应用于自由程序可能使其成为实际专有产品的特殊危险。为此,GPL确保专利不能被用来使程序变得非自由。

复制、分发和修改的精确条款和条件如下。

                   TERMS AND CONDITIONS
  1. 定义。

"本许可证"指的是GNU通用公共许可证的第三个版本。

"版权"还包括适用于其他类型作品,如半导体掩模的类似版权的法律。

"程序"指的是在许可证下许可的任何受版权保护的作品。每个许可证持有人被称为"您"。"许可证持有人"和"接收者"可以是个人或组织。

“修改”一个作品意味着以需要版权许可的方式复制或改编作品的所有或部分,除了制作精确副本。由此产生的工作称为早期作品的“修改版本”或“基于”早期作品的作品。

“受保护的作品”是指未修改的程序或基于程序的作品。

“传播”一个作品意味着对其进行任何操作,如果未经许可,将使您根据适用的版权法直接或间接地承担侵权责任,除了在计算机上执行它或修改私人副本。传播包括复制、分发(无论是否修改)、向公众提供以及在某些国家其他活动。

“传达”一个作品意味着任何使其他方能够制作或接收副本的传播方式。仅通过计算机网络与用户互动,没有副本的转让,不算作传达。

交互式用户界面应显示“适当的法律声明”,包括以下便捷且明显可见的功能:(1)显示适当的版权声明;(2)告知用户该作品无任何保证(除非提供的保证),许可人可以在本许可证下传播该作品,以及如何查看本许可证的副本。如果界面展示了用户命令或选项的列表,如菜单,列表中的突出项符合这一标准。

  1. 源代码。

“源代码”是指对作品进行修改的首选形式。“目标代码”是指作品的任何非源形式。

“标准接口”是指以下任一接口:(1)由认可的标准化机构定义的官方标准;(2)在特定编程语言指定的接口中,被在该语言中工作的开发者广泛使用的接口。

可执行作品的“系统库”包括除整体作品之外的所有内容,这些内容包括:(a)包含在主要组件的正常包装形式中,但不属于该主要组件的部分;(b)仅用于使作品与该主要组件一起使用,或实现标准接口,该接口的公共源代码形式已经可供公众使用。在此背景下,“主要组件”是指特定操作系统(如果有)上的主要基本组件(内核、窗口系统等),或用于生成该作品的编译器,或用于运行它的目标代码解释器。

以目标代码形式的作品的“对应源代码”是指生成、安装以及(对于可执行作品)运行目标代码和修改作品所需的所有源代码,包括控制这些活动的脚本。但是,它不包括作品的系统库,或用于执行这些活动但不是作品组成部分的通用工具或普遍可用的免费程序。例如,对应源代码包括与工作源代码文件相关的接口定义文件,以及为工作专门设计的需要(例如,通过子程序之间的密切数据通信或控制流)共享库和动态链接子程序的源代码。

对应源代码不需要包括用户可以从对应源代码的其他部分自动重新生成的任何内容。

以源代码形式的作品的对应源代码就是该作品本身。

  1. 基本权限。

本许可证授予的所有权利均授予程序的版权期限,且在满足所述条件的情况下是不可撤销的。本许可证明确肯定了您运行未经修改的程序的无限制许可。覆盖作品的输出仅在本许可证覆盖的情况下,如果输出的内容构成覆盖作品。本许可证承认您根据版权法享有的公平使用权或其他等效权利。

您可以在您的许可证保持有效的情况下,无需条件地制作、运行和传播您不传播的覆盖作品。您可以将覆盖作品传达给他人,仅限于让他们为您独家进行修改,或为您提供运行这些作品的方式,前提是您在传达所有不受您控制的版权材料时遵守本许可证的条款。因此为您制作或运行覆盖作品的个人必须完全代表您、在您的指导和控制下进行,并且条款禁止他们在与您的关系之外复制您的版权材料。

在其他情况下传达仅限于以下列出的条件。不允许转许可;第10条使其成为不必要的。

  1. 从反规避法中保护用户的法律权利。

任何受保护的作品,在任何适用法律下,不得被视为有效技术措施的组成部分,不得履行1996年12月20日通过的《世界知识产权组织版权条约》第11条规定的义务,或者类似禁止或限制规避此类措施的法律。

当您传播受保护的作品时,您放弃在行使本许可证关于受保护作品的权利的范围内禁止规避技术措施的法律权力,并且您否认任何意图通过限制对作品的操作或修改来强制执行您或第三方禁止规避技术措施的法律权利。

  1. 传播字面复制。

您可以将程序源代码的文本复制以任何媒介传播,前提是您在每一份复制件上明显和适当地发布适当的版权声明;保持所有声明完整,说明本许可证和根据第7条添加的任何非许可条款适用于代码;保持所有关于无任何保证的声明完整;并且向所有接受者提供本许可证副本以及程序。

您可以对您传播的每一份复制件收取任何价格或不收取任何价格,并且您可以有偿提供支持或保证。

  1. 传播修改后的源代码版本。

您可以根据第4条的规定,以源代码的形式传播基于程序的作品或从程序生成的修改版本,前提是您也满足所有这些条件。

a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.

b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".

c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.

d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.

将受保护的作品与其它独立的作品组合,这些作品在本质上不是受保护作品的扩展,并且它们没有与之组合以形成一个更大的程序,在存储或分发媒介的卷中,称为“聚合体”,如果该聚合体及其产生的版权不被用来限制聚合体用户的访问或法律权利,超出个别作品所允许的范围。将受保护的作品包含在聚合体中不会使本许可证适用于聚合体的其他部分。

  1. 传播非源代码形式。

您可以根据第4条和第5条的规定,以对象代码形式传播受保护的作品,前提是您也根据本许可证的规定,以以下方式之一传播机器可读的对应源代码

a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.

b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.

c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.

d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.

e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.

对象代码的可分离部分,其源代码被排除在对应源代码之外作为系统库,在传播对象代码作品时不必包含在内。

“用户产品”可以是(1)“消费者产品”,这意味着任何通常用于个人、家庭或家庭用途的有形个人财产,或者(2)任何设计或销售用于纳入住宅的产品。在确定某个产品是否为消费者产品时,应将可疑案件有利于包含在范围内。对于某个特定用户收到的特定产品,“通常使用”是指该类产品典型或常见的使用,而不管特定用户的状态或特定用户实际使用或预期使用该产品的方式如何。无论产品是否有实质性的商业、工业或非消费者用途,只要这种用途不是产品唯一重要的使用方式,该产品就是消费者产品。

“用户产品”的“安装信息”是指任何安装和执行受保护作品修改版本所需的方法、程序、授权密钥或其他信息,这些修改版本是从对应源的修改版本生成的。信息必须足以确保修改后的对象代码的持续运行不会因修改而受到阻碍或干扰。

如果你将本节中的目标代码工作通过、与或专门用于用户产品的用途进行传达,并且这种传达是作为一项交易的一部分,该交易将用户产品的占有权和使用权永久或固定期限(无论交易如何定义)转让给收件人,那么根据本节传达的对应源代码必须附带安装信息。但如果既不是你也不是任何第三方保留在用户产品上安装修改后的目标代码的能力(例如,该作品已被安装到ROM中),则不适用此要求。

提供安装信息的要求不包括继续为修改或安装的作品、或用户产品提供支持服务、保修或更新的要求。当修改本身对网络操作产生重大不利影响或违反网络通信的规则和协议时,可能会拒绝访问网络。

根据本节传达的对应源代码和提供的安装信息必须采用公开文档的格式(以及以源代码形式公开的实施方案),并且无需特殊密码或密钥即可解包、读取或复制。

  1. 附加条款。

"附加权限"是指通过免除一个或多个条件来补充本许可协议的条款。适用于整个程序的附加权限应被视为包含在本许可协议中,在适用法律允许的范围内。如果附加权限仅适用于程序的一部分,则该部分可以在那些权限下单独使用,但整个程序仍然受本许可协议的约束,不考虑附加权限。

当你传达受保护作品的副本时,你可以选择从该副本或其任何部分中删除任何附加权限(附加权限可以编写为在某些情况下当你修改作品时要求自行删除)。你可以对你添加到受保护作品中的材料施加附加权限,前提是你拥有或可以授予适当的版权许可。

尽管本许可协议的任何其他规定,对于你添加到受保护作品中的材料,如果你获得该材料版权所有者的授权,你可以补充本许可协议的条款。

a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or

b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or

c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or

d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or

e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or

f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.

所有其他非许可的附加条款被视为第10条意义上的“进一步限制”。如果你收到的程序或其任何部分包含一份声明,说明它受本许可协议以及一个进一步限制的条款的约束,你可以删除该条款。如果许可证文件包含进一步限制但允许根据本许可协议进行再许可或转让,你可以将受该许可证文件条款约束的材料添加到受保护作品中,前提是这种进一步限制不会在这种再许可或转让中继续存在。

如果你根据本节向受保护作品添加条款,你必须在该相关源代码文件中放置一份声明,说明适用于这些文件的附加条款,或一份指出如何找到适用条款的通知。

附加条款,无论是许可的还是非许可的,可以以单独编写的许可证的形式表述,或作为例外;上述要求均适用。

  1. 终止。

未经本许可证明确授权,您不得传播或修改受保护的作品。任何其他尝试传播或修改的行为都是无效的,并将自动终止您根据本许可证享有的权利(包括根据第11节第三段授予的任何专利许可证)。

但是,如果您停止所有违反本许可证的行为,则您从特定的版权持有人那里获得的许可证将被恢复(a)暂时性恢复,除非且直到版权持有人明确并最终终止您的许可证,或者(b)永久性恢复,如果版权持有人在停止后60天内未能以某种合理方式通知您违反行为。

此外,如果版权持有人以某种合理方式通知您违反行为,这是您第一次从该版权持有人那里收到关于本许可证(对任何作品)违反的通知,并且您在收到通知后30天内纠正了违反行为,则您从特定的版权持有人那里获得的许可证将永久恢复。

本节下您权利的终止并不终止已从您那里获得副本或权利的各方根据本许可证获得的许可证。如果您的权利已被终止且未永久恢复,您不符合根据第10节获得相同材料新许可证的资格。

  1. 不需要接受许可证即可拥有副本。

您不需要接受此许可证即可接收或运行程序的副本。仅作为使用对等传输接收副本的结果而发生的受保护作品的辅助传播也不需要接受。但是,除本许可证外,没有其他任何东西授予您传播或修改任何受保护作品的权限。如果您不接受此许可证,这些行为将侵犯版权。因此,通过修改或传播受保护作品,您表明您接受此许可证以进行此类操作。

  1. 向下级接收者的自动许可。

每次您传播受保护作品时,接收者自动从原始许可人那里获得一个许可证,以运行、修改和传播该作品,但受本许可证约束。您不对第三方遵守本许可证负责。

"实体交易"是指转移一个组织控制权或一个组织的大部分资产,或划分一个组织,或合并组织的交易。如果受保护作品的传播源于实体交易,那么该交易中接收作品副本的每一方也接收根据前一段落拥有的或可以授予的关于该作品的所有专利权,以及从利益先前的方获得该作品对应源代码的占有权,如果先前的方拥有它或可以通过合理努力获得。

您不得对根据本许可证授予或确认的权利的行使施加任何进一步的限制。例如,您不得对根据本许可证行使的权利收取许可费、版税或其他费用,并且您不得提起诉讼(包括诉讼中的交叉索赔或反诉)声称制作、使用、销售、提供销售或进口程序或其任何部分侵犯了任何专利权。

  1. 专利。

“贡献者”是指授权根据本许可证使用程序或基于程序的作品的版权持有人。据此许可的作品称为贡献者的“贡献版本”。

贡献者的“基本专利权要求”是指由贡献者拥有或控制的、无论已经获得还是将来获得的、可能因本许可证允许的某些方式(制作、使用或销售其贡献版本)而受到侵犯的所有专利权,但不包括仅因对贡献版本进行进一步修改而可能受到侵犯的权利。就本定义而言,“控制”包括根据本许可证要求授予专利子许可证的权利。

每位贡献者授予您一项非排他性、全球性、免版税的专利许可,根据贡献者的必要专利权利要求,制作、使用、销售、销售要约、进口以及以其他方式运行、修改和传播其贡献版本的内容。

在以下三个段落中,“专利许可”是指任何形式的明确协议或承诺(无论称谓如何),不执行专利(例如,明确允许实施专利或承诺不因专利侵权而起诉)。向一方“授予”此类专利许可意味着与该方达成不执行专利的协议或承诺。

如果您传播受保护的作品,明知依赖专利许可,并且该作品的对应源代码无法以免费方式、根据本许可条款、通过公开可用的网络服务器或其他易于访问的手段供任何人复制,那么您必须(1)使对应源代码变得可如此使用,或者(2)安排剥夺自己在此特定作品中的专利许可利益,或者(3)按照与本许可要求一致的方式,将专利许可扩展到下游接受者。 “明知依赖”意味着您实际上知道,如果没有专利许可,您在一个国家传播受保护的作品,或者您的接受者在那个国家使用受保护的作品,将会侵犯您有理由相信在该国有效的一个或多个可识别的专利。

如果根据或与单一交易或安排有关,您传播或通过促成传播受保护的作品,并向受保护作品接收方中的某些方授予专利许可,授权他们使用、传播、修改或传播受保护作品的具体副本,那么您授予的专利许可自动扩展到受保护作品及其衍生作品的全部接收者。

如果专利许可不包括在其覆盖范围内,禁止行使或以不行使本许可明确授予的某一或多个权利为条件,则该专利许可被视为“歧视性的”。如果您是第三方软件分发业务的协议方,根据该协议,您根据传播该工作的程度向第三方支付费用,并且第三方向您将受保护作品转给的所有方授予歧视性专利许可(a)与您传播的受保护作品的副本(或从这些副本制作的副本)有关,或(b)主要用于与包含受保护作品的特定产品或集合有关,除非您在2007年3月28日之前达成该协议或授予该专利许可。

本许可中的任何内容均不得解释为排除或限制根据适用的专利法可能向您提供的任何暗示许可或其他侵权辩护。

  1. 不放弃他人自由。

如果对您施加的条件(无论是由法院命令、协议还是其他方式)与本许可的条件相矛盾,则这些条件不能免除您遵守本许可的条件。如果您不能传播受保护的作品以满足同时履行本许可和任何其他相关义务,那么作为后果,您可能根本不能传播它。例如,如果您同意的条款使您有义务向传播程序的人收取版税,那么满足这两个条款和本许可的唯一方式是完全停止传播程序。

  1. 与GNU Affero通用公共许可证一起使用。

尽管本许可证的其他规定与此不同,您有权将任何受保护的作品与根据GNU Affero通用公共许可证第3版授权的作品链接或结合成一个单一的作品,并传达由此产生的工作。本许可证的条款将继续适用于受保护的部分,但GNU Affero通用公共许可证第13条关于通过网络交互的特殊要求将适用于这种结合。

  1. 本许可证的修订版本。

自由软件基金会可能会不时发布修订版和/或新的GNU通用公共许可证版本。这些新版本的精神将与当前版本相似,但可能在细节上有所不同,以解决新问题或关注点。

每个版本都有一个区分的版本号。如果程序指定GNU通用公共许可证的某个编号版本“或任何后续版本”适用于它,您可以选择遵循该编号版本或自由软件基金会发布的任何后续版本的条款和条件。如果程序没有指定GNU通用公共许可证的版本号,您可以选择自由软件基金会发布的任何版本。

如果程序指定代理可以决定可以使用的GNU通用公共许可证的后续版本,那么该代理对版本的公开接受声明将永久授权您为程序选择该版本。

后续许可证版本可能会给您额外的或不同的权限。然而,您选择遵循后续版本并不会对任何作者或版权所有者施加额外的义务。

  1. 免责声明。

在适用的法律允许的范围内,对本程序不提供任何保证。除非以书面形式另有声明,否则版权所有者/其他各方提供的程序“按原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性和适用于特定目的的暗示保证。程序的质量和性能的全部风险由您承担。如果程序证明有缺陷,您应承担所有必要的维修、修理或纠正的费用。

  1. 责任限制。

除非适用法律要求或书面同意,否则在任何情况下,除非版权所有者或根据上述允许修改和/或传播程序的其他任何方对您造成损害,否则版权所有者或任何其他方不会对您承担任何责任,包括但不限于因使用或无法使用程序(包括但不限于数据丢失或数据不准确、您或第三方遭受的损失或程序与其他程序无法兼容)而产生的任何一般、特殊、偶然或后果性损害,即使该持有者或其他方已被告知此类损害的可能性。

  1. 第15条和第16条的解读。

如果上述的免责声明和责任限制不能根据其条款在本地产生法律效力,则审查法院应适用最接近于与程序相关的绝对放弃所有民事责任的地方法律,除非随程序副本附有费用,且包含保证或承担责任的声明。

                 END OF TERMS AND CONDITIONS

        How to Apply These Terms to Your New Programs

如果您开发了一个新的程序,并且您希望它尽可能地对公众有用,那么实现这一目标的最好方法是使其成为自由软件,这样每个人都可以根据这些条款重新分发和修改。

为此,请将以下通知附加到程序中。将它们附加到每个源文件的开始部分最为安全,这样可以最有效地声明免责声明;并且每个文件应至少包含“版权”行和指向完整通知的位置的指针。

<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of 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 of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://gnu.ac.cn/licenses/>.

此外,请添加通过电子邮件和纸质邮件联系您的方法的信息。

如果程序与终端交互,请确保它在交互模式下启动时输出类似于以下简短通知

<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

假设的命令 show w' 和 show c' 应显示通用公共许可证的适当部分。当然,您的程序命令可能不同;对于GUI界面,您将使用“关于”框。

如果需要,您还应让您的雇主(如果您是一名程序员)或学校(如果有的话)为该程序签署“版权免责声明”。有关此信息以及如何申请和遵循GNU GPL的更多信息,请参阅https://gnu.ac.cn/licenses/

GNU通用公共许可证不允许将您的程序纳入专有程序。如果您的程序是子程序库,您可能会认为允许专有应用程序与库链接更有用。如果您想这样做,请使用GNU较轻通用公共许可证而不是此许可证。但首先,请阅读https://gnu.ac.cn/philosophy/why-not-lgpl.html

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

gitberg-0.8.8.tar.gz (2.6 MB 查看哈希值)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面