现已发布! 发布日期:2024 年 12 月 28 日

Doxygen 许可证

版权所有 © 1997-2024 Dimitri van Heesch。

特此授予在 GNU 通用公共许可证条款下使用、复制、修改和分发本软件及其文档的许可。不对本软件的适用性做任何陈述。本软件按“原样”提供,不作任何明示或暗示的担保。有关更多详细信息,请参阅 GNU 通用公共许可证。

doxygen 生成的文档是从其生产中使用的输入中派生的衍生作品;它们不受此许可证的影响。


GNU 通用公共许可证

版本 2,1991 年 6 月

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

序言

大多数软件的许可证旨在剥夺您共享和更改它的自由。相比之下,GNU 通用公共许可证旨在保证您共享和更改自由软件的自由——确保该软件对所有用户都是自由的。此通用公共许可证适用于自由软件基金会的大多数软件以及任何其他作者承诺使用它的程序。(自由软件基金会的某些其他软件则由 GNU 宽松通用公共许可证覆盖。)您也可以将其应用于您的程序。

当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有权分发自由软件的副本(如果您愿意,可以为此项服务收费),您可以收到源代码,或者在您需要时可以获得源代码,您可以更改软件或在新自由程序中使用其片段;并且您知道您可以做这些事情。

为了保护您的权利,我们需要设置一些限制,禁止任何人剥夺您的这些权利或要求您放弃这些权利。如果您分发软件的副本或修改软件,这些限制会转化为您必须承担的某些责任。

例如,如果您分发此类程序的副本,无论是免费还是收费,您都必须给予接收者您所拥有的所有权利。您必须确保他们也收到或可以获得源代码。并且您必须向他们展示这些条款,以便他们了解自己的权利。

我们通过两个步骤保护您的权利:(1) 版权所有该软件,以及 (2) 向您提供此许可证,该许可证给予您复制、分发和/或修改该软件的合法许可。

此外,为了保护每个作者和我们的利益,我们希望确保每个人都明白,此自由软件没有任何保证。如果软件被其他人修改并传递,我们希望接收者知道他们拥有的不是原始版本,这样其他人引入的任何问题都不会影响原始作者的声誉。

最后,任何自由程序都不断受到软件专利的威胁。我们希望避免自由程序的再分发者单独获得专利许可,实际上使该程序成为专有程序的危险。为了防止这种情况,我们明确规定,任何专利都必须获得许可,供所有人免费使用,或者根本不获得许可。

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

复制、分发和修改的条款和条件

0. 本许可证适用于任何程序或其他作品,其中包含版权所有者放置的声明,说明该作品可以根据本通用公共许可证的条款进行分发。以下“程序”是指任何此类程序或作品,而“基于程序的作品”是指根据版权法所指的程序或任何衍生作品:也就是说,包含该程序或其一部分的作品,无论是逐字逐句的还是经过修改的和/或翻译成另一种语言的作品。(此后,翻译无限制地包含在“修改”一词中。)每个被许可人均被视为“您”。

除复制、分发和修改之外的活动不在此许可证范围内;它们在其范围之外。运行程序的行为不受限制,并且只有当程序的内容构成基于程序的作品(独立于通过运行程序而创建)时,程序的输出才会被涵盖。这是否为真取决于程序的功能。

1. 您可以复制并分发您收到的程序源代码的逐字副本,以任何媒介形式,前提是您在每个副本上显着且适当地发布适当的版权声明和免责声明;保持所有引用本许可证和不存在任何保证的声明完好无损;并向程序的任何其他接收者提供本许可证的副本以及该程序。

您可以对转移副本的实际行为收费,并且您可以选择提供担保保护以换取费用。

2. 您可以修改您的程序副本或任何部分,从而形成基于程序的作品,并根据上述第 1 节的条款复制和分发此类修改或作品,前提是您也满足所有这些条件

a) 您必须使修改后的文件带有突出声明,说明您更改了文件以及任何更改的日期。
b) 您必须使您分发或发布的任何全部或部分包含或来源于程序或其任何部分的作品,根据本许可证的条款,整体免费许可给所有第三方。
c) 如果修改后的程序通常在运行时以交互方式读取命令,则您必须使它在以最普通的方式开始用于此类交互使用时,打印或显示公告,其中包括适当的版权声明和不存在担保的声明(或者,说明您提供担保),并且用户可以在这些条件下重新分发该程序,并告知用户如何查看本许可证的副本。(例外情况:如果程序本身是交互式的,但通常不打印此类公告,则您的基于程序的作品无需打印公告。)

这些要求适用于整个修改后的作品。如果该作品的可识别部分不是从程序派生的,并且可以合理地被认为是独立的和单独的作品,那么当您将它们作为单独的作品分发时,本许可证及其条款不适用于这些部分。但是,当您将相同的部分作为整体的一部分分发时,该整体是基于程序的作品,整体的分发必须符合本许可证的条款,其对其他被许可人的许可扩展到整个整体,因此扩展到每个部分,无论谁编写它。

因此,本节的目的不是主张权利或质疑您对完全由您编写的作品的权利;相反,目的是行使控制基于该程序的衍生或集体作品的权利。

此外,仅仅将另一个不基于程序的作品与程序(或与基于程序的作品)在存储或分发介质上进行聚合,并不会使另一个作品受到本许可证的约束。

3. 您可以根据上述第 1 节和第 2 节的条款复制和分发程序(或根据第 2 节的基于程序的作品)的对象代码或可执行形式,前提是您还执行以下一项操作

a) 随附完整的相应机器可读源代码,该源代码必须根据上述第 1 节和第 2 节的条款在通常用于软件交换的介质上分发;或者,
b) 随附一份书面要约,有效期至少三年,向任何第三方提供一份完整的相应源代码的机器可读副本,费用不得超过您实际执行源代码分发的成本,该源代码副本将根据上述第 1 节和第 2 节的条款在通常用于软件交换的介质上分发;或者,
c) 随附您收到的有关分发相应源代码的要约的信息。(此替代方案仅允许用于非商业分发,并且仅当您按照上述 b 小节收到带有此类要约的对象代码或可执行形式的程序时才允许。)

作品的源代码是指对作品进行修改的首选形式。对于可执行作品,完整的源代码是指它包含的所有模块的所有源代码,加上任何相关的接口定义文件,加上用于控制可执行文件的编译和安装的脚本。但是,作为一项特殊例外,分发的源代码不需要包括通常与可执行文件运行所在的操作系统的主要组件(编译器、内核等)一起分发的任何内容(无论是源代码形式还是二进制形式),除非该组件本身伴随着可执行文件。

如果通过提供从指定位置复制的访问权限来分发可执行文件或对象代码,那么提供从同一位置复制源代码的等效访问权限将被视为分发源代码,即使第三方并未被迫复制源代码和对象代码。

4. 您不得复制、修改、再许可或分发程序,除非本许可证明确规定。任何以其他方式复制、修改、再许可或分发程序的尝试均无效,并将自动终止您在本许可证下的权利。但是,根据本许可证从您那里收到副本或权利的各方,只要这些各方完全遵守,其许可证就不会终止。

5. 您无需接受本许可证,因为您尚未签署它。但是,如果您不接受本许可证,则没有任何其他内容授予您修改或分发该程序或其衍生作品的权限。如果您不接受本许可证,则法律禁止这些行为。因此,通过修改或分发该程序(或任何基于该程序的作品),您表明您接受本许可证来执行此操作,以及其所有条款和条件,用于复制、分发或修改该程序或基于该程序的作品。

6. 每次您重新分发程序(或任何基于该程序的作品)时,接收者会自动从原始许可人处获得许可,以根据这些条款和条件复制、分发或修改该程序。您不得对接收者行使此处授予的权利施加任何进一步的限制。您不负责强制第三方遵守本许可证。

7. 如果由于法院判决或专利侵权指控或任何其他原因(不仅限于专利问题),对您施加了与本许可证条款相矛盾的条件(无论是通过法院命令、协议还是其他方式),这些条件并不能免除您遵守本许可证的义务。 如果您无法在遵守本许可证义务的同时履行任何其他相关义务,那么您可能根本无法分发本程序。 例如,如果一项专利许可不允许所有直接或间接通过您收到副本的人免版税地再分发本程序,那么您同时满足该许可和本许可证的唯一方法就是完全放弃分发本程序。

如果本节的任何部分在任何特定情况下被认定为无效或不可执行,本节的其余部分仍应适用,并且本节作为一个整体应在其他情况下适用。

本节的目的不是诱导您侵犯任何专利或其他财产权主张,也不是挑战任何此类主张的有效性;本节的唯一目的是保护自由软件分发系统的完整性,该系统通过公共许可实践来实现。 许多人依赖于该系统的一致应用,为通过该系统分发的各种软件做出了慷慨的贡献;作者/捐赠者有权决定是否愿意通过任何其他系统分发软件,被许可人不能强加这种选择。

本节旨在彻底明确本许可证其余部分的预期后果。

8. 如果由于专利或受版权保护的接口,本程序在某些国家/地区的分发和/或使用受到限制,则将本程序置于本许可证下的原始版权持有者可以添加明确的地域分发限制,排除这些国家/地区,以便仅在或在未被排除的国家/地区之间允许分发。在这种情况下,本许可证将该限制纳入,如同写入本许可证正文一样。

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

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

10. 如果您希望将本程序的部分内容合并到其他分发条件不同的自由程序中,请写信给作者请求许可。对于由自由软件基金会拥有版权的软件,请写信给自由软件基金会;我们有时会为此做出例外。我们的决定将以保护我们自由软件的所有衍生品的自由状态以及促进软件的共享和重用这两个目标为指导。

无担保

11. 由于本程序是免费许可的,因此在适用法律允许的范围内,本程序不提供任何担保。除非另有书面声明,否则版权持有者和/或其他方“按原样”提供本程序,不提供任何明示或暗示的担保,包括但不限于对适销性和特定用途适用性的暗示担保。关于本程序的质量和性能的全部风险由您承担。如果本程序被证明有缺陷,您将承担所有必要的维修、修理或更正的费用。

12. 在任何情况下,除非适用法律要求或书面同意,否则任何版权持有人或任何其他可能按照上述允许修改和/或再分发本程序的一方,均不对您因使用或无法使用本程序而造成的损害承担责任,包括任何一般性、特殊性、附带性或间接性损害(包括但不限于数据丢失或数据被认为不准确,或您或第三方遭受的损失,或本程序未能与任何其他程序一起运行),即使该持有人或其他方已被告知发生此类损害的可能性。

条款和条件结束

如何将这些条款应用于您的新程序

如果您开发了一个新程序,并且希望它对公众具有最大的可用性,那么实现这一目标的最佳方法是使其成为自由软件,所有人都可以根据这些条款再分发和更改它。

为此,请将以下通知附加到程序中。最安全的方法是将它们附加到每个源文件的开头,以最有效地传达排除担保;并且每个文件应至少包含“版权”行和指向完整通知所在位置的指针。

one line to give the program's name and an idea of what it does.
Copyright (C) yyyy  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 2
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

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

如果程序是交互式的,请使其在以交互模式启动时输出类似这样的简短通知

Gnomovision version 69, Copyright (C) year name of author
Gnomovision 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' 应显示通用公共许可证的相应部分。当然,您使用的命令可能被称为其他名称而不是 `show w'`show c';它们甚至可以是鼠标点击或菜单项——任何适合您程序的方式。

如果需要,您还应该让您的雇主(如果您作为程序员工作)或您的学校签署程序的“版权免责声明”。以下是一个示例;请更改名称

Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.

signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice