+---------------------------------------------------------------+
| 译者的声明: |
| 本文是QPL及评注的中文译文。 |
| 本文由王立在1999年8月翻译。 |
| |
| 本人在翻译时为确保译文与原文在含义上一致性付出了最大 |
| 努力,但是本人不能对: |
| 由于译文与原文在含义上的差异而造成的任何误解; |
| 或对译文的误解; |
| 所造成的任何直接的、间接的损失承担任何责任。 |
| |
| 王立 1999年8月 |
+---------------------------------------------------------------+
QPL,一种开放源代码许可证
包括以下用于Qt免费版2.0的本许可证1.0版,本许可证被称为Q公共许可证(或"QPL"),
并已经通过了开放源代码认证。因此,它适用于那些希望按照开放源代码模式开发软件,
从而使软件的源代码可以被所有的用户所得到、修改和再发布的人们。QPL禁止开发私有
软件。关于Qt,我们提供了Qt专业版。请访问:http://www.troll.no/pricing.html。
你可以按照QPL发布你自己的软件。我们认为它十分适合那些即希望参加开放源代码
工程,又希望保留把软件销售给非自由商业软件开发者以获得谋生的酬劳的可能性的
任何人。
你可以修改适用法律一节,以选择法律与/或权威机构,从而给出更加适合于你的规
定,并且仍然称之为"QPL"。你可以把那一节完全删除,而仍然称之为"QPL"。如果你
进行了其它任何修改,那么就不能再把你的许可证称为"QPL"了。
我们强烈建议你仅仅修改"适用法律"那一节,并把它称为"QPL"。较少的许可证名称
可以使用户比较容易地了解许可证的内容。
"QPL"的以下特征使得它适合于Qt:
l 修改从原始代码中被分离出来,使它们可以容易地结合到Qt的新版本中。
l 修改可以按照作者的意愿被组合到Qt的新版本中。
l 二进制代码可以和原始代码同名 - 这一点对于动态连接库来说尤其重要。
l 任何人都可以修正错误 - 这一点对于系统的发布者来说尤其重要。
l Qt免费版可以被用于运行由Qt专业版编写的软件。
用Qt免费版开发的自由软件还受到KDE自由Qt基金会(KDE Free Qt Foundation)的
保护。
只要满足QPL的要求,就可以使用Qt免费版进行开发。你的软件可以按照满足第6节要
求的任何许可证进行发布。
致谢:我们要对CEO Ransom Love和其它Caldera System中所有在编写QPL的过程中以
各种方式帮助我们的人致以特别的感谢。他们的支持和反馈在把Qt变为开放源代码的
过程中起到了不可估量的作用。我们还要感谢来自Debian工程的Joseph Carter,为他
所做的有价值的投入,感谢Eric Raymond的帮助。
参见:评注版、普通文本版、公告、注释。
Q公共许可证1.0版
Copyright(C) 1999 Troll Tech AS,挪威
任何人都可以复制和发布本许可证文档
本许可证的目的是,确认对按照本许可证(本许可证符合开放源代码模型)发布的软
件的共享和修改的自由。
本许可证适用于所有这样的软件:软件中含有版权持有者说明该软件是按照QPL 1.0
版发布的声明。这样的软件在这里被称为"软件"。本许可证包括了对软件的修改和发
布、使用基于该软件的第三方应用程序、和开发使用软件的自由软件。
授权
1. 如果你赞同并且服从本许可证中的全部条件,那么你就获得了本许可证授予你的
非独占的权力。你可以以本许可证许可的任何方式完整地或部分地发布软件、或者把
你的软件与之连接。
2. 你可以复制并且发布没有被修改的软件,只要你发布包括 - 但不限于 - 和软件
原始发布者一样的版权、商标许可以及放弃版权的声明在内的整个的包。
3. 你可以对软件进行修改,并且以独立于原始代码的形式(例如、以补丁(patch)
的形式)发布你所做的修改。修改必须受到以下限制:
a. 修改不得变更或删除任何软件中的版权声明。
b. 当对软件的修改按照本许可证发布的时候,只要软件被修改的版本仍然可以按
照这些条款(原始开发者使用的任何其它许可证除外)得到,把你的修改免费地组合
在软件的新版本里的权力就被非独占地授予软件的原始开发者。
4. 在以下条款的限制下,可以发布软件的可执行形式或修改后软件的可执行形式:
a. 你必须把本许可证文档一同发布。
b. 你必须确保所有可执行代码的获得者可以在不支付任何费用(除了数据传输费之
外)的情况下获得被发布软件的完整的、机器可读的、包括所有修改在内的源代码。并
且在发布中突出地给出声明以进行解释。
c. 你必须确保适用于本许可证的的所有修改,包括可执行形式在内,都可以被得到。
5. 你可以使用软件的原始版本或修改版本进行编译、连接,并且可以运行由你或他人
合法地编写的应用程序。
6. 你可以开发与原始软件或修改后的软件进行连接的应用程序、可重用的软件组件和
任何其它软件项目。这些软件项目在发布时,应该符合下述要求:
a. 你必须确保所有这些项目的可执行代码的获得者可以在不支付任何费用(除了数据传
输费之外)的情况下获得并使用这些项目的完整的、机器可读的源代码。
b. 你必须明确地许可你的项目的所有获得者以可执行代码或者源代码的形式使用和发布
软件的原始版本或者修改版本。
c. 如果项目不能够被公众得到,那么如果软件的原始开发者索取项目的副本,你必须
提供一个。
对义务的限制
在任何情况下,软件的原始开发者和版权持有者都不对任何,包括 - 但不限于 - 收入
或利润的损失或其它间接的、特殊的、偶然的、必然的损失,损失负责。除非作为确定
不变的法律的延伸,即使原始开发者和版权开发者提到了这种可能性也不例外。
没有担保
软件和本许可证文档不提供任何类型的担保:包括关于设计、适销性和适合特定用途的
担保。
适用法律
本许可证遵循挪威法律。关于它的纠纷由奥斯陆市法院裁决。
下文并非法律文本。为了精确地解释许可证,你必须阅读并理解它。它的唯一目的是按照
易于理解的、非正式的方式对许可证进行解释。
Q公共许可证1.0版注释,适用于Qt免费版2.0
Copyright(C) 1999 Troll Tech AS,挪威
任何人都可以复制和发布本许可证文档
本许可证的目的是,确认对按照本许可证(本许可证符合开放源代码模型)发布的软件的
共享和修改的自由。
本许可证适用于所有这样的软件:软件中含有版权持有者说明该软件是按照QPL 1.0版发
布的声明。这样的软件在这里被称为"软件"。本许可证包括了对软件的修改和发布、使
用基于该软件的第三方应用程序、和开发使用软件的自由软件。
授权
1. 如果你赞同并且服从本许可证中的全部条件,那么你就获得了本许可证授予你的非
独占的权力。你可以以本许可证许可的任何方式完整地或部分地发布软件、或者把你的
软件与之连接。
这是为了保证每个人都服从规则。如果你不服从本许可证,你就不能获得发布软件、修
改软件、使用软件进行开发的权力。
2. 你可以复制并且发布没有被修改的软件,只要你发布包括 - 但不限于 - 和软件
原始发布者一样的版权、商标许可以及放弃版权的声明在内的整个的包。
只要你包括了原始版本的全部内容,你就可以把软件,比如说Qt,散发给任何人。为
了保持未修改版本的完整性,修改必须以某种的方式从Qt中独立出来。
3. 你可以对软件进行修改,并且以独立于原始代码的形式(例如、以补丁(patch)
的形式)发布你所做的修改。修改必须受到以下限制:
你可以进行修改并发布修改,首选的形式是补丁。
你不能直接修改源代码并重新发布它,因为你的修改不是独立的 - 人们将不知道哪些
软件是Qt,哪些是你所做的修改。
处理这个问题的最简单的方式是使用版本管理系统(例如CVS) - 你将发现,事实上发
布补丁比发布整个文件要容易得多。通过补丁,你可以很容易地把别人所做的修改组合
到你的Qt的副本中去。
如果你给出了补丁,你还可以发布修改后的二进制版本(参见4)
补丁应该包括对修改的精确描述、修改的日期以及修改者。
一个典型的补丁如下:
Copyright (C) 1998 Harald Acker
This patch may be distributed under the terms of the Q
Public License, version 1.0 or later.
This patch is for Qt 2.42. It fixes the bug where Foo
objects move right when they should move left.
-=- qfoo.cpp 1998/09/15 10:44:25 2.18.2.3
+++ qfoo.cpp 1998/11/20 12:28:12
@@ -157,2 +157,2 @@
// Move to the left
+ x += 1;
- x -= 1;
可以使用任何保持补丁的独立性的技术 - 通常,你将不得不十分清楚地进行标记以
把修改独立出来。我们不希望把独立的观点限制到补丁上。
a. 修改不得变更或删除任何软件中的版权声明。
实际上这不需要提及,因为它实际上是一种欺诈行为。
b. 当对软件的修改按照本许可证发布的时候,只要软件被修改的版本仍然可以按照
这些条款(原始开发者使用的任何其它许可证除外)得到,把你的修改免费地组合在
软件的新版本里的权力就被非独占地授予软件的原始开发者。
你可以把任何你认为合适的许可证用于你的补丁,但请注意,在发布Qt的二进制形式,
必须遵循本许可证 - 这在第4节中给出了解释。
本条款使得Troll Tech可以把补丁包含在Qt的新版本中。它还意味着,相同的补丁可以
被包括在Qt专业版中,但Troll Tech也就由责任保证这个补丁同时出现在两个版本中。
4. 在以下条款的限制下,可以发布软件的可执行形式或修改后软件的可执行形式:
你可以发布二进制形式。
a. 你必须把本许可证文档一同发布。
你必须把接受者的权力告诉他们。
b. 你必须确保所有可执行代码的获得者可以在不支付任何费用(除了数据传输费之外)
的情况下获得被发布软件的完整的、机器可读的、包括所有修改在内的源代码。并且在
发布中突出地给出声明以进行解释。
达到该项要求的最简单的办法是把源代码和二进制形式放在一起。对于通过FTP的发布,
它应该是可以访问的。对于通过CD-ROM的发布,源代码应该在配套CD上。这里的基本规
则是"源代码跟随着二进制形式"。
c. 你必须确保适用于本许可证的的所有修改,包括可执行形式在内,都可以被得到。
大部分补丁包括对Qt的引用和你的修改。你可以按照你认为合适的任何方式发布你的修
改,但在发布Qt的二进制代码时,必须遵循QPL。请留意从其它包括Qt的源代码重活获取
的代码 - 其它的软件可能不允许这种复制。
为什么?没有这种限制,将不能阻止Qt的修改版本按照非免费许可证发布。
5. 你可以使用软件的原始版本或修改版本进行编译、连接,并且可以运行由你或他
人合法地编写的应用程序。
如果你有一个为软件所写的应用程序,请使用它。这允许你使用按照Qt免费版许可证
或者Qt专业版许可证创建的、使用同一个版本的库创建的软件。
6. 你可以开发与原始软件或修改后的软件进行连接的应用程序、可重用的软件组件
和任何其它软件项目。这些软件项目在发布时,应该符合下述要求:
本许可证是为库设计的,因此在二进制形式包括了Qt的一部分,我们必须与应用程序
作者和其它作为组件于软件连接的其它库的作者进行探讨。当然,以上术语"连接",
并不区分"静态连接"和"动态连接"。
简要地说,本条款说明只要你是在开发开放源代码软件,你就可以开发与Qt连接的程序。
a. 你必须确保所有这些项目的可执行代码的获得者可以在不支付任何费用(除了数据传
输费之外)的情况下获得并使用这些项目的完整的、机器可读的源代码。
类似与4b,"二进制跟随着源代码"。你可以自由地对二进制代码收费,但你必须同时给
出源代码。需要说明的是,"接受者"包括那些非直接地从你那里获得副本的接受者。达
到这一要求的最简单方式是允许(或坚持)所有接受者可以进一步发布源代码。
b. 你必须明确地许可你的项目的所有获得者以可执行代码或者源代码的形式使用和发布
软件的原始版本或者修改版本。
为了确保所有的接受者拥有同样的权力,而不论他是从哪里或如何得到软件。最简单的
方式是提供这个明确的许可证以允许接受者把相同的许可证授予他人。
如果你的软件的接受者希望这样做,他们可以在任何人都不必对他们和你支付任何费用
的情况下重新发布你的软件。
c. 如果项目不能够被公众得到,那么如果软件的原始开发者索取项目的副本,你必须
提供一个。
这是为了避免公司试图隐藏源代码的问题。如果我们知道了这种事,即使我们不是用户,
我们也需要能够获得源代码。按照这种方式,如果任何人试图进行欺骗并且我们得知了
这个情况,我们可以把代码发布给公众。
对义务的限制
在任何情况下,软件的原始开发者和版权持有者都不对任何,包括 - 但不限于 - 收入
或利润的损失或其它间接的、特殊的、偶然的、必然的损失,损失负责。除非作为确定
不变的法律的延伸,即使原始开发者和版权开发者提到了这种可能性也不例外。
没有担保
软件和本许可证文档不提供任何类型的担保:包括关于设计、适销性和适合特定用途的
担保。
适用法律
本许可证遵循挪威法律。关于它的纠纷由奥斯陆市法院裁决。
|