1.3. Debian 项目的内部工作

从有经验的 Debian 开发者、Debian 软件包里的个别或集体作品、以及用户的回馈,Debian 计划产出丰富的结果。

1.3.1. Debian 开发者

Debian developers have various responsibilities, and as official project members, they have great influence on the direction the project takes. A Debian developer is generally responsible for at least one package, but according to their available time and desire, they are free to become involved in numerous teams, thus acquiring more responsibilities within the project.

https://www.debian.org/devel/people

https://www.debian.org/intro/organization

https://wiki.debian.org/Teams

工具开发者的数据库

Debian has a database including all developers registered with the project, and their relevant information (address, telephone, geographical coordinates such as longitude and latitude, etc.). Some of the information (first and last name, country, username within the project, IRC username, GnuPG key, etc.) is public and available on the Web.

https://db.debian.org/

地理信息用于创建开发者在全球的分布地图。Debian 是真正的国际计划:虽然主要在 ‘西方国家’,其开发者确实遍布各大洲。

Debian 开发者遍布全球

图 1.1. Debian 开发者遍布全球

Package maintenance is a relatively regimented activity, very documented or even regulated. It must, in effect, comply with all the standards established by the Debian Policy. Fortunately, there are many tools that facilitate the maintainer’s work. The developer can, thus, focus on the specifics of their package and on more complex tasks, such as squashing bugs.

https://www.debian.org/doc/debian-policy/

回到起点 包的维护,开发者的工作

维护软件包,表示 ‘包装’ 程序。特别是,定义安装的方法,以便在安装之后,此程序可以依照 Debian 计划设置的规则运作并兼容于 Debian 计划。其结果是保存在一个 .deb 文件内。有效果的程序安装不需要解压缩文件也不需要预安装或再安装其中的脚本。

过了初始阶段后,才真正开始维护流程:依照最新版的 Debian 政策准备更新,修正读者报告的错误,并包括新的程序 ‘上游’ 版本以备继续同步发展。例如,初次包装后,版本命名为 1.2.3。几个月之后,原著者发布新的稳定版,编号为 1.4.0。此时,Debian 维护者应更新软件包,用户才能取得最新的稳定版。

The Policy, an essential element of the Debian Project, establishes the norms ensuring both the quality of the packages and perfect interoperability of the distribution. Thanks to this Policy, Debian remains consistent despite its gigantic size. This Policy is not fixed in stone, but continuously evolves thanks to proposals formulated on the [debian-policy@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-policy@lists.debian.org) mailing list. Amendments that are agreed upon by all interested parties are accepted and applied to the text by a small group of maintainers who have no editorial responsibility (they only include the modifications agreed upon by the Debian developers that are members of the above-mentioned list). You can read current amendment proposals on the bug tracking system:

https://bugs.debian.org/debian-policy

社区 政策的编辑流程

Anyone can propose an amendment to the Debian Policy just by submitting a bug report with a severity level of “wishlist” against the debian-policy package. The process that then starts is documented in https://www.debian.org/doc/debian-policy/ap-process.html: if it is acknowledged that the problem revealed must be resolved by creating a new rule in the Debian Policy, a discussion begins on the [debian-policy@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-policy@lists.debian.org) mailing list until consensus is reached and a proposal issued. Someone then drafts a desired amendment and submits it for approval (in the form of a patch to review). As soon as two other developers approve the fact that the proposed amendment reflects the consensus reached in the previous discussion (they “second” it), the proposal can be included in the official document by one of the debian-policy package maintainers. If the process fails at one of these steps, the maintainers close the bug, classifying the proposal as rejected.

DEBIAN 政策 文档

每一个包的说明文档保存在/usr/share/doc/*软件包名称*/路径下。这一目录通常包含一个README.Debian文件。该文件描述了包维护者为Debian所做的特定调整。因此,在做任何配置前最好先读一下这个文件,从包维护者的经验中获益。我们还可以找到一个名为changelog.Debian.gz的文件,它描述了Debian维护者在各个软件包版本之间所做的更改。请不要将这个文件和changelog.gz文件(或类似名称的文件)混淆,后者是由上游开发者提供的,描述了上游的修订日志。copyright文件包含了软件作者和软件适用的授权条款的信息。最后,我们还可能找到名为NEWS.Debian.gz的文件,Debian开发者可以使用它发布有关更新的重要信息;如果apt-listchanges已在系统上安装,则这些信息将在更新时自动显示。所有其它的文件都和特定的软件包相关。我们特别指出可能存在名为examples的子目录,它通常包含了配置文件的示例。

政策含包装的技术细节。计划的大小也引发组织的问题;由 Debian 宪法处理,即创建决策的结构与方法。换句话说,就是正式的治理系统。

Debian 宪章定义了一些角色和职位,以及各自的职责和权力。值得特别指出的是,通过投票决议,Debian 开发者们总是拥有最终的决定权。对于重大的修改(例如会对基金会文档产生影响的),只有当有效票数超过四分之三(75%)时,才会通过。然而,开发者们每年都会选举一位“领导人”作为他们的会议代表,同时领导人也会在内部的各个团队协调沟通。这一选举总是伴随着一段紧张激烈的讨论过程。领导人的角色并没有在任何官方文件内被定义:参选的候选人常常会提出自己对于该职位的理解和定位。在实际工作中,领导人角色包括媒体发言人,协调内部团队,对项目提供总体领导。每一位开发者都参与其中,因为大多数项目成员都认同了 Debian 项目领导人的观点。

特别的,领导人拥有真正的特权;他们的投票可以解决票数相等的问题;他们可以对某个尚未归属于任何人管辖名下的事件作出决定,同时可以将他们自己的一部分职责委托他人代为执行。

Since its inception, the project has been successively led by Ian Murdock, Bruce Perens, Ian Jackson, Wichert Akkerman, Ben Collins, Bdale Garbee, Martin Michlmayr, Branden Robinson, Anthony Towns, Sam Hocevar, Steve McIntyre, Stefano Zacchiroli, Lucas Nussbaum, Mehdi Dogguy, Chris Lamb and Sam Hartman.

宪章同样也定义了一个“技术委员会(technical committee)”。技术委员会的核心角色是对于那些在开发者之间尚未达成一致意见的技术事宜进行决策。除此以外,委员会则作为顾问角色,为任何无法为他们所负责的事宜作出决定的开发者提供帮助。值得一提的是,只有在相关问题方给委员会发送邀请时,委员会才会介入。

最后,宪章定义了一个“项目秘书”的职位,这一角色负责组织各种选举和决议的投票。

The “general resolution” procedure is fully detailed in the constitution, from the initial discussion period to the final counting of votes. The most interesting aspect of that process is that when it comes to an actual vote, developers have to rank the different ballot options between them and the winner is selected with a Condorcet method (more specifically, the Schulze method). For further details see:

https://www.debian.org/devel/constitution

文化网络舌战,引爆侮辱性攻击的讨论

‘发火’ 是极度不理性的争辩,双方都穷尽理论的辩论后转向人身攻击。部分议题较为论战式 (选择文本编辑器,’喜欢 viemacs?’,永远没有结论)。由于单方面 (每个人) 快速地交换电子邮件形成优势且极度地个人化此等议题。

这种讨论没什么特别;通常要远离这种争论,或者快速地略过其内容,因为阅读它们太费时了。

即使宪法创建了表面的民主,每日的运作却大不相同:Debian 遵守自由软件的蠢蛋进化论:做事的人决定怎么做事。争论解决问题的方法只是浪费时间;选择有用且满意的方案才是王道…有能力的人就是这么做。

这就是升级的唯一方法:做有用的事且显示把事情做好。Debian ‘管理’ 团体以增选方式管理,采用已有效奉献且证明其能力的志愿者。新的奉献者看到这些团队做了具有公共利益性质的工作就会主动加入协助。这就是 Debian 常被称为 ‘任人唯贤’。

文化 任人唯贤,统治知识

任人唯贤是治理的型式之一由有能力的人当家。在 Debian 里,长才由胜任衡量,也就是由过去的其他计划的行为评鉴现在 (前任领导人 Stefano Zacchiroli 提出 ‘蠢蛋进化论’,意指 ‘授权能把事性做好的人’)。

这种有效的管理方法保证在 Debian ‘关键’ 团队奉献者的品质。不见得是完美的且偶而凸搥。选择被团队接受的开发者是随兴的,甚至不公平的。而且,不是每个人对这些团队服务的期望是一样的。有些人受不了等8天才能收录新的 Debian 软件包,也有人耐心等待3周毫无怨言。所以,有些团队对 ‘服务品质’ 经常不满。

社区 新维护者的整合

负责批准新开发者加入事项的团队是最经常受到批评的。人们需要承认的是,经过多年的发展,Debian 项目开始变得越来越因为需求而去接纳一些程序员。一些人可能会在其中看见一些不公正的情况,但我们必须要承认的是,当一个超过 1000 人的社区需要去保证它所提供给用户的所有东西的质量与完整性时,这会比它在刚刚起步的时候要有挑战的多。

此外,由 Debian 客户经理这样一小群团队审核接受的进程 。特别容易被批评,因为在 Debian 开发者社区里说接受或拒绝的就是他们。实务上,必须多花点时间了解才能接受。当然,我们可以在被接受为正式的开发者前,先支持既有的开发者,做出实质的奉献。

1.3.2. 用户的积极角色

One might wonder if it is relevant to mention the users among those who work within the Debian project, but the answer is a definite yes: they play a critical role in the project. Far from being “passive”, some users run development versions of Debian and regularly file bug reports to indicate problems. Others go even further and submit ideas for improvements, by filing a bug report with a severity level of “wishlist”, or even submit corrections to the source code, called “patches” (see 第 1.3.2.3 节 “Sending fixes”).

1.3.2.1. Reporting bugs

The fundamental tool for submitting bugs in Debian is the Debian Bug Tracking System (Debian BTS), which is used by large parts of the project. The public part (the web interface) allows users to view all bugs reported, with the option to display a sorted list of bugs selected according to various criteria, such as: affected package, severity, status, address of the reporter, address of the maintainer in charge of it, tag, etc. It is also possible to browse the complete historical listing of all discussions regarding each of the bugs.

表层下的 Debian BTS,以电子邮件为基础:保存参与者寄发的电子邮件做为信息。发送给[12345@bugs.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:12345@bugs.debian.org) 的电子邮件,将被指定为编号 12345 的错误。有权限的人可以叙明理由寄发另个电子邮件 [12345-done@bugs.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:12345-done@bugs.debian.org) ‘关闭’ (表示该错误已解决或无关紧要) 该错误。新的错误应以指定的格式辨识有问题的软件包再发送电子邮件给 [submit@bugs.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:submit@bugs.debian.org)。这个信箱 [control@bugs.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:control@bugs.debian.org) 用于编辑与该错误有关的所有 ‘中介信息’。

The Debian BTS has other functional features, as well, such as the use of tags for labeling bugs. For more information, see

https://www.debian.org/Bugs/

词汇表 错误的严重度

报告问题时指定该错误的严重性。不是每个错误都具有相同的重要性;例如,手册内容的打字错误不能与服务器软件的安全漏洞相提并论。

Debian uses an extended scale to describe the severity of a bug. Each level is defined precisely in order to facilitate the selection thereof.

https://www.debian.org/Bugs/Developer#severities

Users can also use the command line to send bug reports on a Debian package with the reportbug tool. It helps making sure the bug in question hasn’t already been filed, thus preventing redundancy in the system. It reminds the user of the definitions of the severity levels, for the report to be as accurate as possible (the developer can always fine-tune these parameters later, if needed). It helps writing a complete bug report without the user needing to know the precise syntax, by writing it and allowing the user to edit it. This report will then be sent via an e-mail server (by default, a remote one run by Debian, but reportbug can also use a local server).

此工具原先系供发展版使用,做为修正错误之用。后来发现,Debian 的稳定版也需要它,安全更新或重要更新 (或完全无效的软件包)。因此,Debian 软件包的次要错误的修订,在下个稳定版才纳入。

1.3.2.2. Translation and documentation

Additionally, numerous satisfied users of the service offered by Debian like to make a contribution of their own to the project. As not everyone has appropriate levels of expertise in programming, they may choose to assist with the translation and review of documentation. There are language-specific mailing lists to coordinate this work.

https://lists.debian.org/i18n.html

https://www.debian.org/international/

基础 什么是 i18n 与 l10n?

‘i18n’ 与 ‘l10n’ 是国际化英文本 ‘internationalization’ 与本地化英文本 ‘localization’ 的缩写,保留第一个与最后一个字母,再加入省略字母的字数。

‘国际化’ 一个程序包括修改至可以翻译 (本地化) 的程度。涉及重写程序以便公开给所有的语系使用。

‘本地化’ 一个程序包括翻译原语言 (通常是英文) 为另一种语言。因此,必须先国际化。

总之,国际化系把软件整备至可翻译的程度,然后再运行本地化。

1.3.2.3. Sending fixes

More advanced users might be able to provide a fix to a program by sending a patch.

补丁是描述文件修改的文件。准确来说,包括移除或添加的代码清单,以及 (有时) 从参考文档取得的内容,用以取代修改的内文 (可以辨识取代的内容)。

修改该等文件的工具名称就是 patch。添加为 diff,用法如下:

  1. $

file.patch 文件包括变更 file.oldfile.new 的指令。可以发送给其他人,用于从两个文件添加 file.new,如:

  1. $

现在,此文件 file.old 内容等同于 file.new

In practice, most software is maintained in Git repositories and contributors are thus more likely to use git to retrieve the source code and propose changes. git diff will generate a file in the same format as what diff -u would do and git apply can do the same as patch.

文化 Git

Git 是在多个文件合作运作的工具,维护修订的记录。有问题的文件多半是纯文本档,程序的源代码。由多人共同处理一个文件时,git 可以把不同部分的文件合而为一。否则,其中的 ‘冲突’ 必须以人工处理。

Git is a distributed system where each user has a repository with the complete history of changes. Central repositories are used to download the project (git clone) and to share the work done with others (git push). The repository can contain multiple versions of the files but only one version can be worked on at a given time: it is called the working copy (it can be changed to point to another version with git checkout). Git can show you the modifications made to the working copy (git diff), can stage changes for inclusion (git add)), and can create a new entry in the versions history (git commit). It can also update the working copy to include modifications made in parallel by other users (git pull), and can record a particular configuration in the history in order to be able to easily extract it later on (git tag).

Git 可处理发展中的多个版本而不互相干扰。这些版本称为 branches。以树木的分枝形容相当精确,因为程序本来就是从一个主干开始。有了成果 (诸如 1.0) 后,就有两个分枝:发展枝为下个释做准备、维护枝管理 1.0 的更新与修订。

Git is, nowadays, the most popular version control system but it is not the only one. Historically, CVS (Concurrent Versions System) was the first widely used tool but its numerous limitations contributed to the appearance of more modern free alternatives. These include, especially, subversion (svn), git, bazaar (bzr), and mercurial (hg).

https://www.nongnu.org/cvs/

https://subversion.apache.org/

https://git-scm.com/

https://bazaar.canonical.com/

http://mercurial.selenic.com/

It is beyond the scope of this book to provide a detailed explanation about Git, for that you can refer to the Pro Git book.

https://git-scm.com/book/

While the output of git diff is a file that can be shared with other developers, there are usually better ways to submit changes. If the developers prefer to get patches by email, they usually want patches generated with git format-patch so that they can be directly integrated in the repository with git am. This preserves commits meta-information and makes it possible to share multiple commits at once.

This email-based workflow is still popular but it tends to be replaced by the usage of merge requests (or pull requests) whenever the software is hosted in a platform like Github or GitLab — and Debian is using GitLab on its salsa.debian.org server. On those systems, once you have created an account, you fork the repository, effectively creating a copy of the repository in your own account, and you can then clone that repository and push your own changes in it. From there, the web interface will suggest you to submit a merge request, notifying the developers of your changes, making it easy for them to review and accept your changes with a single click.

1.3.2.4. Other ways of contributing

All of these contribution mechanisms are made more efficient by users’ behavior. Far from being a collection of isolated persons, users are a true community within which numerous exchanges take place. We especially note the impressive activity on the user discussion mailing list, [debian-user@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-user@lists.debian.org) (第 7 章 问题的解决与相关信息的检索 discusses this in greater detail).

https://lists.debian.org/users.html

用户不仅自助 (也助人) 于直接影响他们的技术面,也讨论奉献 Debian 计划的最佳途径与协助其向前行 — 经常出现改进的建议。

TOOL how-can-i-help

The how-can-i-help program lists opportunities for contributing to Debian packages that are installed locally. After each APT invocation, it shows ways to help, by highlighting bugs tagged “newcomer” (which are easy entry-points for new contributors) or orphaned packages that need a new maintainer. The program can be executed directly as well.

Debian 不仅持续自我推广,其用户在扩散方面也居功甚伟,口耳相传其名声。

This method works quite well, since Debian fans are found at all levels of the free software community: from install parties (workshops where seasoned users assist newcomers to install the system) organized by local LUGs or “Linux User Groups”, to association booths at large tech conventions dealing with Linux, etc.

Volunteers make posters, brochures, stickers, and other useful promotional materials for the project, which they make available to everyone, and which Debian provides freely on its website and on its wiki:

https://www.debian.org/events/material

1.3.3. 团队与子计划

Debian 从开始就以源代码的概念组织起来,每个软件包都有维护者。随时出现新的工作团队,于子计划内形成新的团队,确保基础建设的管理,以及流程运作不会被特定的软件包绑住 (品质保证、Debian 政策、安装器等)。

1.3.3.1. Debian 现有的子计划

每个 Debian 子计划是一群志愿者修改 Debian 供特定需求之用。选择部分程序供特定领域 (教育、医学、多媒体制作等) 使用之外,子计划的目标还包括改进现有的软件包、包装漏失的软件、调整安装器、添加特定的文档,等等。

术语 子项目与衍生发行版

所谓衍生发行版的开发进程,系根据某一特定版本的 Debian 做为起点,接着进行各种改造而成。其成品作成之基础建设完全在 Debian 项目之外。衍生版也不必有回馈自身改善的政策。这就是为何衍生发行版会「偏离」原版,并且必须定期与原版同步以便获取上游来的改善成果。

另一方面,子计划也可以不偏离,因为所有的作品直接取自改进的 Debian 以满足及自身需要。

Debian 的众多衍生发行版中,无庸置疑,最知名的当是 Ubuntu。请见 附录 A, 衍生发行版 了解其特点,及其与 Debian 间的地位关系。

目前较流行的子计划:

  • Debian Jr., by Ben Armstrong, offering an appealing and easy to use Debian system for children;

  • Debian Edu, by Petter Reinholdtsen, focused on the creation of a specialized distribution for the academic world;

  • Debian Med,由 Andreas Tille 制作,专供医护领域使用;

  • Debian Multimedia 针对音效与多媒体的工作;

  • Debian GIS 照顾地理信息系统应用程序与用户;

  • Debian Accessibility, improving Debian to match the requirements of people with disabilities;

  • Debian Science, finally, working on providing researchers and scientists a better experience using Debian.

  • DebiChem, targeted at Chemistry, provides chemical suites and programs.

The number of projects will most likely continue to grow with time and improved perception of the advantages of Debian sub-projects. Fully supported by the existing Debian infrastructure, they can, in effect, focus on work with real added value, without worrying about remaining synchronized with Debian, since they are developed within the project.

1.3.3.2. 管理团队

Most administrative teams are relatively closed and recruit only by co-optation. The best means to become a part of one is to intelligently assist the current members, demonstrating that you have understood their objectives and methods of operation.

The ftpmasters are in charge of the official archive of Debian packages. They maintain the program that receives packages sent by developers and automatically stores them, after some checks, on the reference server (ftp-master.debian.org).

他们也检查添加软件包的授权条款,确保在纳入它们之前,Debian 有权散布它们。被要求移除的软件包,由开发者经由错误追踪系统与 ftp.debian.org ‘虚拟软件包’ 向团队提出。

术语 伪软件包,监测工具

错误追踪系统,原先系处理 Debian 软件包错误而设计,后来发现在其他事物上也很实用:列出 Debian 软件包内外的待处理问题或待管理工作。’虚拟软件包’ 允许,指定团队在未链接实际软件包的环境下使用错误追踪系统。每个人都可以报告错误。例如,BTS 有个 ftp.debian.org 条目用于报告与追踪官方软件包的错误或要求移除软件包。同样的,www.debian.org 虚拟软件包则指向 Debian 网页的错误,且 lists.debian.org 汇集与邮件列表有关的问题。

TOOL GitLab, Git repository hosting and much more

A GitLab instance, known as salsa.debian.org, is used by Debian to host the Git packaging repositories but this software offers much more than simple hosting and Debian contributors have been quick to leverage the continuous integration features (running tests, or even building packages, on each push). Debian contributors also benefit from a cleaner contribution workflow thanks the well understood merge request process (similar to GitHub’s pull requests).

GitLab replaced FusionForge (which was running on a service known as alioth.debian.org) for collaborative package maintenance. This service is administered by Alexander Wirt, Bastian Blank and Jörg Jaspert.

https://salsa.debian.org/

https://wiki.debian.org/Salsa/Doc

The Debian System Administrators (DSA) team ([debian-admin@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-admin@lists.debian.org)), as one might expect, is responsible for system administration of the many servers used by the project. They ensure optimal functioning of all base services (DNS, Web, e-mail, shell, etc.), install software requested by Debian developers, and take all precautions in regards to security.

https://dsa.debian.org

工具 Debian 软件包跟踪器

这是 Raphaël 的杰作之一。基本概念是,对于指明的软件包,尽可能将相关信息集结在同一页面中。这样一来,任何人都可以快速查看程序的状态、办识待处理的事项、以及提供协助等。这就是为何这个页面会集结所有的臭虫统计数据、各个发行版中的可用版本、在 Testing 发行版中打包的进度、软件描述和 debconf 模板的翻译状态、是否有新的上游版本、是否未遵循最新版 Debian 政策的通知、维护者的信息、以及维护者期望纳入的其他信息等。

https://tracker.debian.org/

电子邮件订阅服务也在此网页接口。自动送出选定的信息给此清单:错误与相关的讨论、Debian 服务器内的新版本、待校对的新翻译等。

Advanced users can, thus, follow all of this information closely and even contribute to the project, once they have got a good enough understanding of how it works.

另个网页接口,查看 Debian 开发者软件包 (DDPO),提供开发者其主管软件包的状态摘要。

https://qa.debian.org/developer.php

这两个网站由 Debian 的品质保证成员 (通称为 Debian QA) 发展与管理的工具。

名单大师 管理邮件列表的电子邮件服务器。职责包括添加名单、处理送回 (无法送出的育知)、以及垃圾邮件过滤器 (未授权的批次邮件)。

文化 邮件列表的流量:某些数据

The mailing lists are, without a doubt, the best testimony to activity on a project, since they keep track of everything that happens. The numbers (from May 2019) regarding our mailing lists speak for themselves: Debian hosts about 315 lists, totaling over 303,000 individual subscriptions. 227,000 e-mails are delivered every day.

Each specific service has its own administration team, generally composed of volunteers who have installed it (and also frequently programmed the corresponding tools themselves). This is the case of the bug tracking system (BTS), the package tracker, salsa.debian.org (GitLab server, see sidebar TOOL GitLab, Git repository hosting and much more), the services available on qa.debian.org, lintian.debian.org, buildd.debian.org, cdimage.debian.org, etc.

1.3.3.3. 发展团队、转换团队

不同于管理团队,发展团队较为开放,甚至可以说是置身于奉献者之外。Debian 自身不添加软件,计划仍需要外部软件满足其需要。当然,仍是在自由软件授权下发展,这些工具使用被自由软件世界验证的方法。

Debian 发展自己的小软件,但却是重要的软件,其名声远超越 Debian 计划本身。dpkg 是个例子,它是 Debian 软件包管理程序 (事实上,它是 Debian PacKaGe 的缩写,读成 ‘dee-package’),另一个是 apt,自动安装 Debian 软件包的工具,检查其相依性,保证安装后与系统一致 (其名称为 Advanced Package Tool 的缩写)。然而,它们都是由小团队撰写的,只需要高端程序技巧就能了解该等程序的运作方式。

The most important team is probably that for the Debian installation program, debian-installer, which has accomplished a work of momentous proportions since its conception in 2001. Numerous contributors were needed, since it is difficult to write a single program able to install Debian on a dozen different architectures. Each one has its own mechanism for booting and its own bootloader. All of this work is coordinated on the [debian-boot@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-boot@lists.debian.org) mailing list, under the direction of Cyril Brulebois.

https://www.debian.org/devel/debian-installer/

https://joeyh.name/blog/entry/d-i_retrospective/

这个 (极小的) debian-cd 程序团队的目标更谦虚。由很多 ‘小小’ 的奉献者负责其架构,因为主要的开发者无法知道全部的细微之处,也不知道从CD-ROM 安装的正确方式。

需要多个团队彼此合作才能够将程序包装起来:以[debian-qa@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-qa@lists.debian.org) 为例,企图保证 Debian 计划的每个层面都达到既定的品质。[debian-policy@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-policy@lists.debian.org) 根据各地的建议列出 Debian 政策。负责每个架构的团队 ([debian-*architecture*@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-architecture@lists.debian.org)) 编绎所有的软件包,若有需要,再改编供特定架构使用。

其他的团队管理最重要的软件包以免重担放在单一团队的肩上;在 C 程序库与 [debian-glibc@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-glibc@lists.debian.org),C 编绎器 [debian-gcc@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-gcc@lists.debian.org) 邮件列表,或 Xorg 在 [debian-x@lists.debian.org](https://debian-handbook.info/browse/zh-CN/stable/mailto:debian-x@lists.debian.org) (此社区以 X Strike Force 闻名)。