# J.B. 使用 Python 的条款和条件
* J.B.1\. PSF 协议
* J.B.2\. BeOpen Python 开源协议第 1 版
* J.B.3\. CNRI 开源 GPL 兼容协议
* J.B.4\. CWI 许可声明与免责声明
## J.B.1. PSF 协议
1. 本协议是 Python 软件基金会 (“PSF”) 同使用 Python 2.1.1 软件――源码或二进制形式――及其相关文档的个人或组织 (“获许者”) 之间达成的契约。
2. 在服从本协议的条款和条件的前提下,PSF 特此给予获许者无例外、无版税、全球的许可,以复制、分析、测试、运行和/或公开展出、衍生、发行,或以其它方式使用单独的 Python 2.1.1 或其衍生版本,前提是 PSF 的协议和 PSF 的版权声明 (“Copyright (c) 2001 Python Software Foundation; All Rights Reserved”) 保留在单独的 Python 2.1.1 或其由获许者特制的衍生版本中。
3. 如果获许者制作了一基于或包括 Python 2.1.1 或其一部分的衍生物,同时想要使其能为他人所得,本协议特此同意在其中包含关于对 Python 2.1.1 所作改动的简短概要。
4. PSF 使获许者能够使用 Python 2.1.1,其基础是“AS IS”原则。PSF 不作任何描述或保证,不论是明确的还是暗含的。例如――但决不限于此――PSF 不作并且否认如下描述或保证:产品的销路,产品是否适合于某一用途,以及 Python 2.1.1 不会侵犯任何第三方的权力。
5. PSF 将不对获许者或其它任何 Python 2.1.1 的用户,为修改、发行或者以其它方式使用 Python 2.1.1 或其衍生物所引起的任何意外的、特殊的,或直接的损害或丢失负担任何责任,即使对此种可能性知情。
6. 一旦协议的条款和条件遭到实质性的破坏,本协议将自动终止。
7. 协议中的任何内容都不视为要在 PSF 和获许者之间创造代理、合作或者合资的关系。本协议不授予此许可:使用 PSF 商标,或在商标中以商标的意义使用其商标名,以赞誉或宣扬获许者或任何第三方的产品或服务。
8. 通过复制、安装,或以其它方式使用 Python 2.1.1,获许者同意受到本协议的条款和条件的约束。
## J.B.2. BeOpen Python 开源协议第 1 版
1. 本协议是 BeOpen.com (“BeOpen”,其办公室位于 160 Saratoga Avenue, Santa Clara, CA 95051) 同使用本软件――源码或二进制形式――及其相关文档 (“本软件”) 的个人或组织 (“获许者”) 之间达成的契约。
2. 在服从 BeOpen Python 协议的前提下,BeOpen 特此给予获许者无例外、无版税、全球的许可,以复制、分析、测试、运行和/或公开展出、衍生、发行,或以其它方式使用单独的本软件或其衍生版本,前提是 BeOpen Python 保留在单独的本软件或其由获许者特制的衍生版本中。
3. BeOpen 使获许者能够使用本软件,其基础是“AS IS”原则。BeOpen 不作任何描述或保证,不论是明确的还是暗含的。例如――但决不限于此――BeOpen 不作并且否认如下描述或保证:产品的销路,产品是否适合于某一用途,以及本软件不会侵犯任何第三方的权力。
4. PSF 将不对获许者或其它任何本软件的用户,为修改、发行或者以其它方式使用本软件或其衍生物所引起的任何意外的、特殊的,或直接的损害或丢失负担任何责任,即使对此种可能性知情。
5. 一旦协议的条款和条件遭到实质性的破坏,本协议将自动终止。
6. 本协议应当受到 California 州法律的管理和解释,除非法律条款发生了矛盾。协议中的任何内容都不视为要在 BeOpen 和获许者之间创造代理、合作或者合资的关系。本协议不授予此许可:使用 BeOpen 商标,或在商标中以商标的意义使用其商标名,以赞誉或宣扬获许者或任何第三方的产品或服务。作为例外,出现在 http://www.pythonlabs.com/logos.html 的“BeOpen Python”标志可以按照该网页上所授予的许可使用。
7. 通过复制、安装,或以其它方式使用本软件,获许者同意受到本协议的条款和条件的约束。
## J.B.3. CNRI 开源 GPL 兼容协议
1. 本协议是 Corporation for National Research Initiatives (“CNRI”,其办公室位于 1895 Preston White Drive, Reston, VA 20191) 同使用 Python 1.6.1――源码或二进制形式――及其相关文档的个人或组织之间达成的契约。
2. 在服从本协议的条款和条件的前提下,CNRI 特此给予获许者无例外、无版税、全球的许可,以复制、分析、测试、运行和/或公开展出、衍生、发行,或以其它方式使用单独的 Python 1.6.1 或其衍生版本,前提是 CNRI 的协议和 CNRI 的版权声明 (“Copyright (c) 1995-2001 Corporation for National Research Initiatives; All Rights Reserved”) 保留在单独的 Python 1.6.1 或其由获许者特制的衍生版本中。作为替代,在应当出现 CNRI 协议之处,获许者可以用下列文本加以替代:(不含引号):“Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013\. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1013”(Python 1.6.1 必须在服从 CNRI 的协议的前提下方可使用。这一协议和 Python 1.6.1 一起,用一个唯一的、不变的标识符 (也叫标识句柄) 即可在 Internet 上找到:1895.22/1013。这一协议可以通过代理服务器从 Internet 上得到,通过访问如下 URL:http://hdl.handle.net/1895.22/1013)。
3. 如果获许者制作了一基于或包括 Python 1.6.1 或其一部分的衍生物,同时想要使其能为他人所得,本协议特此同意在其中包含关于对 Python 1.6.1 所作改动的简短概要。
4. CNRI 使获许者能够使用 1.6.1,其基础是“AS IS”原则。CNRI 不作任何描述或保证,不论是明确的还是暗含的。例如――但决不限于此――CNRI 不作并且否认如下描述或保证:产品的销路,产品是否适合于某一用途,以及 Python 1.6.1 不会侵犯任何第三方的权力。
5. CNRI 将不对获许者或其它任何 Python 1.6.1 的用户,为修改、发行或者以其它方式使用 Python 1.6.1 或其衍生物所引起的任何意外的、特殊的,或直接的损害或丢失负担任何责任,即使对此种可能性知情。
6. 一旦协议的条款和条件遭到实质性的破坏,本协议将自动终止。
7. 本协议应当受到美国联邦知识产权法律的管理,包括但不限于联邦版权法――或者,在联邦法律不起作用的地方,如 Virginia 州,由 Commonwealth of Virginia 制定的法律,除非其条款发生了矛盾。尽管如前所述,考虑到基于 Python 1.6.1 的包含不可分割的以 GNU 通用公共协议 (GPL) 发布的材料的衍生物,由 Commonwealth of Virginia 制定的法律只管理使用本协议时与第 4、5、7 章中的内容有关的事项。协议中的任何内容都不视为要在 CNRI 和获许者之间创造代理、合作或者合资的关系。本协议不授予此许可:使用 CNRI 商标,或在商标中以商标的意义使用其商标名,以赞誉或宣扬获许者或任何第三方的产品或服务。
8. 通过单击标示出“接受”的按钮、或者复制、安装,或以其它方式使用 Python 1.6.1,获许者同意受到本协议的条款和条件的约束。
## J.B.4. CWI 许可声明与免责声明
> Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved.
在此特许以任何目的、不付费地使用、复制、修改和发行本软件及其文档,其前提是上述版权声明出现在所有的副本中,版权声明和此许可声明出现在支持文档中。在未经书面特许,Stichting Mathematisch Centrum 或 CWI 的名字不被用于广告或软件发行的相关宣传事宜。
Stichting Mathematisch Centrum 否认所有对此软件的保证,包括所有暗含的对产品的销路、是否适合于某一用途的保证。无论如何,Stichting Mathematisch Centrum 都不为任何意外的、间接的,或直接的损害或由任何由使用权、数据或利益的损失所造成的损害负担任何责任,不论是否达成了合同,还是由于疏忽大意或者其它的侵权行为,不论和使用或运行本软件是否有关。
- 版权信息
- 第 1 章 安装 Python
- 1.1. 哪一种 Python 适合您?
- 1.2. Windows 上的 Python
- 1.3. Mac OS X 上的 Python
- 1.4. Mac OS 9 上的 Python
- 1.5. RedHat Linux 上的 Python
- 1.6. Debian GNU/Linux 上的 Python
- 1.7. 从源代码安装 Python
- 1.8. 使用 Python 的交互 Shell
- 1.9. 小结
- 第 2 章 第一个 Python 程序
- 2.1. 概览
- 2.2. 函数声明
- 2.3. 文档化函数
- 2.4. 万物皆对象
- 2.5. 代码缩进
- 2.6. 测试模块
- 第 3 章 内置数据类型
- 3.1. Dictionary 介绍
- 3.2. List 介绍
- 3.3. Tuple 介绍
- 3.4. 变量声明
- 3.5. 格式化字符串
- 3.6. 映射 list
- 3.7. 连接 list 与分割字符串
- 3.8. 小结
- 第 4 章 自省的威力
- 4.1. 概览
- 4.2. 使用可选参数和命名参数
- 4.3. 使用 type、str、dir 和其它内置函数
- 4.4. 通过 getattr 获取对象引用
- 4.5. 过滤列表
- 4.6. and 和 or 的特殊性质
- 4.7. 使用 lambda 函数
- 4.8. 全部放在一起
- 4.9. 小结
- 第 5 章 对象和面向对象
- 5.1. 概览
- 5.2. 使用 from _module_ import 导入模块
- 5.3. 类的定义
- 5.4. 类的实例化
- 5.5. 探索 UserDict:一个封装类
- 5.6. 专用类方法
- 5.7. 高级专用类方法
- 5.8. 类属性介绍
- 5.9. 私有函数
- 5.10. 小结
- 第 6 章 异常和文件处理
- 6.1. 异常处理
- 6.2. 与文件对象共事
- 6.3. for 循环
- 6.4. 使用 `sys.modules`
- 6.5. 与目录共事
- 6.6. 全部放在一起
- 6.7. 小结
- 第 7 章 正则表达式
- 7.1. 概览
- 7.2. 个案研究:街道地址
- 7.3. 个案研究:罗马字母
- 7.4. 使用 {n,m} 语法
- 7.5. 松散正则表达式
- 7.6. 个案研究:解析电话号码
- 7.7. 小结
- 第 8 章 HTML 处理
- 8.1. 概览
- 8.2. sgmllib.py 介绍
- 8.3. 从 HTML 文档中提取数据
- 8.4. BaseHTMLProcessor.py 介绍
- 8.5. locals 和 globals
- 8.6. 基于 dictionary 的字符串格式化
- 8.7. 给属性值加引号
- 8.8. dialect.py 介绍
- 8.9. 全部放在一起
- 8.10. 小结
- 第 9 章 XML 处理
- 9.1. 概览
- 9.2. 包
- 9.3. XML 解析
- 9.4. Unicode
- 9.5. 搜索元素
- 9.6. 访问元素属性
- 9.7. Segue [9]
- 第 10 章 脚本和流
- 10.1. 抽象输入源
- 10.2. 标准输入、输出和错误
- 10.3. 查询缓冲节点
- 10.4. 查找节点的直接子节点
- 10.5. 根据节点类型创建不同的处理器
- 10.6. 处理命令行参数
- 10.7. 全部放在一起
- 10.8. 小结
- 第 11 章 HTTP Web 服务
- 11.1. 概览
- 11.2. 避免通过 HTTP 重复地获取数据
- 11.3. HTTP 的特性
- 11.4. 调试 HTTP web 服务
- 11.5. 设置 User-Agent
- 11.6. 处理 Last-Modified 和 ETag
- 11.7. 处理重定向
- 11.8. 处理压缩数据
- 11.9. 全部放在一起
- 11.10. 小结
- 第 12 章 SOAP Web 服务
- 12.1. 概览
- 12.2. 安装 SOAP 库
- 12.3. 步入 SOAP
- 12.4. SOAP 网络服务查错
- 12.5. WSDL 介绍
- 12.6. 以 WSDL 进行 SOAP 内省
- 12.7. 搜索 Google
- 12.8. SOAP 网络服务故障排除
- 12.9. 小结
- 第 13 章 单元测试
- 13.1. 罗马数字程序介绍 II
- 13.2. 深入
- 13.3. romantest.py 介绍
- 13.4. 正面测试 (Testing for success)
- 13.5. 负面测试 (Testing for failure)
- 13.6. 完备性检测 (Testing for sanity)
- 第 14 章 测试优先编程
- 14.1. roman.py, 第 1 阶段
- 14.2. roman.py, 第 2 阶段
- 14.3. roman.py, 第 3 阶段
- 14.4. roman.py, 第 4 阶段
- 14.5. roman.py, 第 5 阶段
- 第 15 章 重构
- 15.1. 处理 bugs
- 15.2. 应对需求变化
- 15.3. 重构
- 15.4. 后记
- 15.5. 小结
- 第 16 章 函数编程
- 16.1. 概览
- 16.2. 找到路径
- 16.3. 重识列表过滤
- 16.4. 重识列表映射
- 16.5. 数据中心思想编程
- 16.6. 动态导入模块
- 16.7. 全部放在一起
- 16.8. 小结
- 第 17 章 动态函数
- 17.1. 概览
- 17.2. plural.py, 第 1 阶段
- 17.3. plural.py, 第 2 阶段
- 17.4. plural.py, 第 3 阶段
- 17.5. plural.py, 第 4 阶段
- 17.6. plural.py, 第 5 阶段
- 17.7. plural.py, 第 6 阶段
- 17.8. 小结
- 第 18 章 性能优化
- 18.1. 概览
- 18.2. 使用 timeit 模块
- 18.3. 优化正则表达式
- 18.4. 优化字典查找
- 18.5. 优化列表操作
- 18.6. 优化字符串操作
- 18.7. 小结
- 附录 A. 进一步阅读
- 附录 B. 五分钟回顾
- 附录 C. 技巧和窍门
- 附录 D. 示例清单
- 附录 E. 修订历史
- 附录 F. 关于本书
- 附录 G. GNU Free Documentation License
- G.0. Preamble
- G.1. Applicability and definitions
- G.2. Verbatim copying
- G.3. Copying in quantity
- G.4. Modifications
- G.5. Combining documents
- G.6. Collections of documents
- G.7. Aggregation with independent works
- G.8. Translation
- G.9. Termination
- G.10. Future revisions of this license
- G.11. How to use this License for your documents
- 附录 H. GNU 自由文档协议
- H.0. 序
- H.1. 适用范围和定义
- H.2. 原样复制
- H.3. 大量复制
- H.4. 修改
- H.5. 合并文档
- H.6. 文档合集
- H.7. 独立著作聚集
- H.8. 翻译
- H.9. 终止协议
- H.10. 协议将来的修订
- H.11. 如何为你的文档使用本协议
- 附录 I. Python license
- I.A. History of the software
- I.B. Terms and conditions for accessing or otherwise using Python
- 附录 J. Python 协议
- J.0. 关于译文的声明
- J.A. 软件的历史
- J.B. 使用 Python 的条款和条件