cpteam/stack

此包已被 弃用 且不再维护。未建议替代包。

CPTeam stack

dev-master 2017-06-30 14:16 UTC

This package is auto-updated.

Last update: 2022-05-03 07:48:04 UTC


README

                GNU GENERAL PUBLIC LICENSE
                   Version 3, 29 June 2007

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

                        Preamble

GNU 通用公共许可证是一个为软件和其他类型作品提供的免费、版权许可证。

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

当我们谈论免费软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有权分发免费软件的副本(如果您愿意,可以对其收费),您可以获得源代码或如果您想要可以获取它,您可以将软件进行更改或在新的自由程序中使用其部分,并且您知道您可以进行这些操作。

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

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

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

为了开发者和作者的保护,GPL 明确说明,此免费软件没有任何保证。为了用户和作者的利益,GPL 要求修改版本应标记为已更改,这样就不会错误地将问题归咎于先前版本的作者。

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

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

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

                   TERMS AND CONDITIONS
  1. 定义。

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

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

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

对作品进行"修改"意味着复制或改编作品的所有或部分,这需要版权许可,除了制作精确副本之外。由此产生的作品被称为先前作品的"修改版本"或基于先前作品的作品。

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

对作品进行"传播"意味着对其进行任何操作,在没有许可的情况下,会使你直接或间接地因适用版权法下的侵权行为而承担责任,除了在计算机上执行或修改私人副本。传播包括复制、分发(无论是否修改)、向公众提供,以及在一些国家其他活动。

对作品进行"传递"意味着任何一种能够使其他方制作或接收副本的传播方式。仅仅通过计算机网络与用户进行交互,没有副本的转移,不属于传递。

交互式用户界面在以下范围内显示"适当的法律通知":(1)显示适当的版权声明;(2)告知用户该作品没有保修(除非提供保修),许可人可以在本许可证下传递作品,以及如何查看本许可证的副本。如果界面呈现用户命令或选项列表,例如菜单,列表中的突出项符合这一标准。

  1. 源代码。

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

"标准接口"指由认可的标准化机构定义的官方标准,或者,在针对特定编程语言指定的接口的情况下,指在该语言中广泛使用的接口。

可执行作品的"系统库"包括除了整个作品以外的任何东西,它(a)包含在主要组件的正常包装形式中,但不属于该主要组件的一部分,并且(b)仅用于使作品与该主要组件一起使用,或者实现一个公众以源代码形式可用的标准接口。在此背景下,“主要组件”是指特定操作系统(如果有)上的主要基本组件(内核、窗口系统等),或用于生成作品的高级编译器,或用于运行它的目标代码解释器。

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

对应源代码不必包括用户可以从对应源代码的其他部分自动生成的内容。

源代码形式的作品的对应源代码是同一作品。

  1. 基本权限。

本许可协议下授予的所有权利均限于程序的著作权期限,并且在满足所述条件的情况下,这些权利是不可撤销的。本许可协议明确肯定了您运行未经修改的程序的无限制许可权。只有在输出内容构成受覆盖作品的情况下,运行受覆盖作品产生的输出才受本许可协议的保护。本许可协议承认您根据著作权法享有的合理使用或其他等效权利。

只要您的许可协议在其他方面仍然有效,您就可以在不附加条件的情况下制作、运行和传播您不传递的受覆盖作品。您可以将受覆盖作品传递给他人,唯一目的是让他们仅为您进行修改,或者为您提供运行这些作品的服务,前提是您遵守本许可协议的条款,传递所有您不控制著作权的材料。因此为您制作或运行受覆盖作品的人必须仅代表您,在您的指导和控制下进行,且不得在与其与您的关系之外制作您受版权保护的材料的任何副本。

在其他任何情况下,只有满足以下条件才允许传递。不允许转许可;第10节使转许可变得不必要。

  1. 保护用户免受反规避法律的合法权利。

任何受覆盖作品在任何适用的法律下均不应被视为有效的技术措施的一部分,包括履行1996年12月20日通过的WIPO版权条约第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条第3段授予的专利许可证)。

然而,如果您停止所有对本许可证的违反行为,则您从特定版权所有者那里获得的许可证将得到临时恢复(除非和直到版权所有者明确并最终终止您的许可证),以及永久恢复,如果版权所有者在终止行为后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

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

为此,请将以下声明附加到程序上。最安全的方法是将它们附加到每个源文件的开始部分,以最有效地声明排除保证;每个文件至少应包含“版权”行和指向完整声明的指针。

stack
Copyright (C) 2017  CPTeam

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/>.

还应添加有关如何通过电子和纸质邮件联系您的信息。

如果程序进行终端交互,当它在交互模式下启动时,请让它输出如下简短声明

stack  Copyright (C) 2017  CPTeam
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'应显示通用公共许可证的适当部分。当然,您的程序命令可能不同;对于图形用户界面,您将使用“关于”框。

您还应让您的雇主(如果您作为程序员工作)或学校(如果有)在必要时为该程序签署“版权免责声明”。有关更多信息,以及如何应用和遵循GNU通用公共许可证,请参阅https://gnu.ac.cn/licenses/

GNU通用公共许可证不允许将您的程序合并到专有程序中。如果您的程序是子例程库,您可能认为允许专有应用程序与库链接更有用。如果您想这样做,请使用GNU较宽松的通用公共许可证而不是本许可证。但在这样做之前,请先阅读https://gnu.ac.cn/philosophy/why-not-lgpl.html