Product SiteDocumentation Site

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, acquiring, thus, more responsibilities within the project.
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.
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 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:
政策含包装的技术细节。计划的大小也引发组织的问题;由 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 and Chris Lamb.
宪章同样也定义了一个“技术委员会(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:
即使宪法创建了表面的民主,每日的运作却大不相同:Debian 遵守自由软件的蠢蛋进化论:做事的人决定怎么做事。争论解决问题的方法只是浪费时间;选择有用且满意的方案才是王道…有能力的人就是这么做。
这就是升级的唯一方法:做有用的事且显示把事情做好。Debian '管理' 团体以增选方式管理,采用已有效奉献且证明其能力的志愿者。新的奉献者看到这些团队做了具有公共利益性质的工作就会主动加入协助。这就是 Debian 常被称为 '任人唯贤'。
这种有效的管理方法保证在 Debian '关键' 团队奉献者的品质。不见得是完美的且偶而凸搥。选择被团队接受的开发者是随兴的,甚至不公平的。而且,不是每个人对这些团队服务的期望是一样的。有些人受不了等8天才能收录新的 Debian 软件包,也有人耐心等待3周毫无怨言。所以,有些团队对 '服务品质' 经常不满。

1.3.2. 用户的积极角色

或许奇怪,需要在讨论 Debian 计划内工作者时加入用户,答案是必须的:用户扮演关键的角色。不只是 '被动' 的角色,有些用户运行发展版并定期报告指定问题的错误。其他的人更深一层提出改进的意见,以 '愿望清单' 或送出称为 '补丁' 的修正后源代码 (见专栏 基础 补丁,送出修订)。
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.
靠着用户的参与这些奉献愈来愈有效。不断地交换消息,用户不是孤立的个人而是一个真正的社区。从邮件列表里, (第 7 章 问题的解决与相关信息的检索 可看出详情)。
用户不仅自助 (也助人) 于直接影响他们的技术面,也讨论奉献 Debian 计划的最佳途径与协助其向前行 — 经常出现改进的建议。
Debian 不仅持续自我推广,其用户在扩散方面也居功甚伟,口耳相传其名声。
这些方法运作的不错,在自由软件的各个层面都有 Debian 粉丝:从本地 'Linux 用户社区' LUGs 组织的安装会 (协助新手安装系统的工作坊),到 Linux 相关的技术会议等。
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:

1.3.3. 团队与子计划

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

1.3.3.1. Debian 现有的子计划

每个 Debian 子计划是一群志愿者修改 Debian 供特定需求之用。选择部分程序供特定领域 (教育、医学、多媒体制作等) 使用之外,子计划的目标还包括改进现有的软件包、包装漏失的软件、调整安装器、添加特定的文档,等等。
目前较流行的子计划:
  • Debian-Junior,由 Ben Armstrong 制作,给儿童使用;
  • Debian-Edu,由 Petter Reinholdtsen 制作,针对学术圈的专门发行版;
  • Debian Med,由 Andreas Tille 制作,专供医护领域使用;
  • Debian Multimedia 针对音效与多媒体的工作;
  • Debian-Desktop 针对桌面与艺术作品的默认主题;
  • Debian GIS 照顾地理信息系统应用程序与用户;
  • Debian Accessibility,最后但也最重要,改良 Debian 满足身心障碍者的需求。
随着 Debian 子计划的成长此清单将愈来愈长。由 Debian 基础建设完全支撑,可以全然关注在加值部分,不需担心与 Debian 同步的问题,因为他们在 Debian 计划内发展。

1.3.3.2. 管理团队

大部分的管理团体以相对封闭的增选方式招募成员。最好的加入方法是协助现有成员工作,表示您了解该团体的目标与运作方式。
ftpmaster 管理员负责管理 Debian 软件包的官方仓库。他们维护用于接收开发者传来的软件包的程序;经过一些检查后,软件包将被保存在目标服务器上 (ftp-master.debian.org)。
他们也检查添加软件包的授权条款,确保在纳入它们之前,Debian 有权散布它们。被要求移除的软件包,由开发者经由错误追踪系统与 ftp.debian.org '虚拟软件包' 向团队提出。
如众所期待,Debian 系统管理者 (DSA) 团队 () 对计划内的多个服务器负责。确保所有的服务 (DNS、Web、e-mail、shell 等)、Debian 开发者要求安装的软件、以及安全相关事宜。
名单大师 管理邮件列表的电子邮件服务器。职责包括添加名单、处理送回 (无法送出的育知)、以及垃圾邮件过滤器 (未授权的批次邮件)。
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 的缩写)。然而,它们都是由小团队撰写的,只需要高端程序技巧就能了解该等程序的运作方式。
最重要的团队可能是 Debian 安装计划,debian-installer,2001年问世以来就是重要的部分。以一个程序安装十多种架构下的 Debian 不是件简单的事,需要很多奉献者才能完成它。每个架构需有自己的启动程序与引导程序。透过 邮件列表,在 Cyril Brulebois 领导下,完成这些工作。
这个 (极小的) debian-cd 程序团队的目标更谦虚。由很多 '小小' 的奉献者负责其架构,因为主要的开发者无法知道全部的细微之处,也不知道从CD-ROM 安装的正确方式。
需要多个团队彼此合作才能够将程序包装起来:以 为例,企图保证 Debian 计划的每个层面都达到既定的品质。 根据各地的建议列出 Debian 政策。负责每个架构的团队 () 编绎所有的软件包,若有需要,再改编供特定架构使用。
其他的团队管理最重要的软件包以免重担放在单一团队的肩上;在 C 程序库与 ,C 编绎器 邮件列表,或 Xorg 在 (此社区以 X Strike Force 闻名)。