1. 关于本手册

1.1. 范畴

本手册描述了Debian发行版的政策要求。这其中包括Debian存档的结构和内容,以及操作系统的数个设计事宜。除此以外,手册还包含了每个软件包在被纳入发行版之前必须要满足的种种技术要求。

本手册还描述了与创建Debian软件包相关的Debian政策。这些相关描述不是一个关于如何构建软件包的教程,它们也不是对软件打包系统行为的详尽描述。本手册试图定义软件包管理系统的接口,这些定义是开发人员必须熟知的。[1]

本手册不能也不会禁止所有可能会出现的故障或不可取的行为。不过,Debian政策不禁止的事情不一定不是一个软件故障,也不说明它就是可取的行为。政策未涉及的问题应根据具体情况得以评估。

本手册中的脚注仅供参考,它们并非Debian政策本身的一部分。

本手册的附录也不一定是具有规范性的。若想要了解更多的相关信息,请参阅 Introduction and scope of these appendices

本手册内容中具有规范性的部分存在以下术语,它们用于表达每条声明的重要性:[2]

  • 必须must )和 不能must not ),以及形容词 必要的required )和 禁止的prohibited )表示强烈要求。不符合这些要求的软件包通常不会被Debian发行版所接受。这些声明对应着 关键的critical ), 重大的grave ), 和 严重的serious )软件故障严重程度(通常是严重的)。包含这些术语的声明被统称为 政策-要求Policy requirements )。

  • 应该should )和 不应该should not ),以及形容词 建议的recommended )表示最佳实践。不符合这些准则的软件包通常会被视为是有故障的,但这不一定意味着该软件包不适合被发行版接受。包含这些术语的相关声明对应着 重要的 ( important )、正常的normal )和 不严重的minor )的软件故障严重程度。包含这些术语的声明被统称为 政策-推荐Policy recommendations )。

  • 形容词 鼓励的encouraged )和 不鼓励的discouraged )表示政策向维护者提供的建议,但维护者既可遵循该建议,也可不遵循该建议。没有遵循那些建议的软件包通常不会被视为故障。如果故障看似值得关注,那么通常情况下它会被赋予 愿望清单wishlist )的故障严重程度。包含这些术语的声明被统称为 政策-建议Policy advice )。

  • 术语 可能/可以may )和形容词 可选的optional )用于以下情形,即政策可能会在某些情况下提出要求或给予推荐。在这些情形中,这些术语所描述的决定对于维护者来说是纯属可选可不选的,最终决定由维护者自行做出。

就某一给定的Debian发行版来说,发行团队可以自行决定将政策-要求(Policy requirement)变更为政策-推荐(Policy recommendation)。这只适用于某一特定软件包或整个存档。这一规定的目的是在发行版的质量标准、发行进度以及维持稳定发行的重要性之间做出平衡,并为实现这种平衡提供活动空间。

本手册中提供的大部分信息对于构建那些将会以其他方式发行、或仅供本地使用的软件包来说也是所帮助的。

udebs(Debian安装程序使用的精简二进制软件包)和只生成udebs的源码包不需对本手册里所讨论的所有要求都进行遵守。若想了解更多相关信息,请参阅 Debian Installer internals manual

1.2. 关于本文档的新版本

本手册通过Debian软件包 debian-policy 发布。

本文档的当前版本也可以从Debian网络镜像中获得,网址为 https://www.debian.org/doc/debian-policy/ 。从同级目录还可获得这一版本的其他几种格式: policy.epubpolicy.txt 以及 policy.pdf升级清单 的独立副本录既在同级目录中出现,也在debian-policy软件包中出现它指出了出现在不同版本中的政策更改。

1.3. 关于作者与维护者

1.3.1. 早期历史

本手册原称为"Debian GNU/Linux政策手册",由Ian Jackson写于1996年。1996年11月27日由David A. Morris进行了修订。Christian Schwarz于1997年3月15日添加了新章节,并于同年4月至7月对手册进行了结构上的修改。Christoph Lameter撰写了"Web 标准"。Julian Gilbey在2001年对"Web 标准"结构进行了大范围的修改。自1998年9月以来,本手册内容上的修改都是大家通过 debian-policy邮件列表 来配合实现的。

1.3.2. 现在的流程

政策编辑是DPL的代表,负责本文档的内容(有关"DPL代表"的含义,请参阅Debian章程)。不过,政策编辑进一步将他们的编辑权委托给一套程序,正如 Debian Policy changes process 中所述,这个程序通过debian-policy邮件列表得以实现,目的是在项目成员间中实现共识。 目前的政策编辑是:

  1. Russ Allbery

  2. Sean Whitton

1.3.3. 种种改善

尽管本文档的作者已尽力避免拼写错误和其他错误,但这些错误仍然会出现。如果你在本手册中发现错误,或者想提出任何意见、建议或批评,请发送电子邮件至Debian政策邮件列表,debian-policy@lists.debian.org,或提交针对 debian-policy 包的故障报告。

若需对政策内容提出更改,请不要直接联系政策手册的个别作者或维护者。

新技术和功能通常会先在Debian存档中出现,然后再在本文档中被详细介绍。这不被视作是一个问题:在Debian计划中存在这样一个共识,即保证此文档的实时更新不应以影响对Debian做出改善为代价。不过,越早向本文档提供补丁越好。这样会帮助其他人在紧跟最新的最佳实践上少花费些精力。

1.5. 术语定义

本政策手册使用了以下术语:

ASCII

由ANSI X3.4-1986及其前身所明确的字符编码,在MIME中被指称为US-ASCII,它对应着统一字符编码 Unicode 中前128个字符每个字符的八位编码,其第八位总是为零。

上游

被打包的软件源,或者来自Debian外部的软件包的一部分。例如,假设Alice编写并发布了一个自由软件包,然后Bob创建了该软件包的Debian软件包。在这个例子中,Alice是该软件包的 上游维护者 (有时简称为 上游 ),Alice的发布是 上游发布 ,她给的发行版本号是 上游版本 。Bob可以对该软件包做出特设于Debian的修改,然后将这些修改向 上游 发送以合并到Alice的发布中。

打包者和上游开发者可以是同一个人。例如,Alice可能会选择为Debian打包她自己的软件。不过,即使上游开发者和软件打包者是同一个人,本手册仍然对这两个身份进行了区分。这是因为这两个身份对于打包的细节有不同的影响。

UTF-8

RFC 3629 定义的 统一字符编码 Unicode 的转换格式(有时称为编码)以ASCII为其子集,因此,任何以ASCII为字符代码的文本同时也是以UTF-8编码为标准的文本。

1.6. 翻译

当本文档的非英文译本与英文文本不一致时,以英文文本为准。