2. Debian アーカイブ

Debian システムは パッケージ の集合体として管理・配布されています。Debian には非常に数多くの (現在 15000 個を優に上回る) パッケージが含まれますので、取り扱いを簡略化するためパッケージは セクション優先度 によって分類されています。

The effort of the Debian project is to build a free operating system, but not every package we want to make accessible is free in our sense (see the Debian Free Software Guidelines, below), or may be imported/exported without restrictions. Thus, the archive is split into areas [1] based on their licenses and other restrictions.

この目的は以下です:

  • 可能な限り多くのソフトウェアを我々が利用可能にしたい

  • すべての人にフリーソフトウェアを書くことを奨励したい

  • 人々が私たちのシステムの CD-ROM を、いかなるライセンス・輸出入制限・その他の法にも違反することなく、簡単に制作できるようにしたい

Debian ディストリビューションmain アーカイブエリアからなります。

Packages in the other archive areas (non-free-firmware, contrib, non-free) are not considered to be part of the Debian distribution, although we support their use and provide infrastructure for them (such as our bug-tracking system and mailing lists). This Debian Policy Manual applies to these packages as well.

2.1. Debian フリーソフトウェアガイドライン

Debian フリーソフトウェアガイドライン (DFSG) は私たちが「フリーソフトウェア」であると考えるソフトウェアの定義です。

  1. 自由な再配布

    Debian を構成する個々の部分要素 (パッケージなど) のライセンスでは、その部分要素をいくつかの異なる出自を持つプログラムを複数含む集積されたソフトウェアの配布物の一部として、販売ないし無料で配布することを、いかなる個人または団体に対しても制限してはなりません。ライセンスは、このような販売に対してロイヤリティー・その他の料金を要求してはいけません。

  2. ソースコード

    プログラムはソースコードを含んでいなければならず、コンパイル済み形式の配布だけでなくソースコードでの配布も許可しなければなりません。

  3. 派生物作成の許諾

    ライセンスはソフトウェアの変更、およびその派生物の作成を許可しなければなりません。また、それらがオリジナルのソフトウェアのライセンスと同じ配布条件の元で配布されることを許可しなければなりません。

  4. 作者のソースコードへの変更の制限と配布条件

    プログラムをビルドする際に、ソースコードを変更するための「パッチファイル」について、そのライセンスがソースコードと共に配布することを許可している場合に*限り*、ライセンスは変更されたソースコードの配布を制限することができます。この場合、ライセンスは変更されたソースコードからビルドされたソフトウェアの配布を明示的に許可していなければなりません。ライセンスが派生物に対し、オリジナルのソフトウェアとは異なった名前ないしバージョン番号を冠することを要求することは認められます (これは妥協です。Debian プロジェクトではすべての作者にソース、バイナリを問わずいかなるファイルへの変更をも制限しないことを推奨しています)。

  5. 個人ないし団体に対する排斥の禁止

    ライセンスは、いかなる個人ないし個人からなる団体に対しても差別をしてはなりません。

  6. 使用分野に対する排斥の禁止

    ライセンスは誰に対しても、プログラムをある特定の分野で使用することを制限してはなりません。例えば、ライセンスでプログラムをビジネスに使用すること、あるいは遺伝子研究に使うことなどを制限してはなりません。

  7. ライセンスの配布時の均一性

    プログラムに付属する諸権利は、そのプログラムが再配布されるすべての対象に対し、その対象によるライセンスの追加条項の履行を必要とせずに適用されなければなりません。

  8. ライセンスは Debian においてのみ適用されるものであってはならない

    プログラムに付属する諸権利は、そのプログラムがある Debian システムの一部であるということに依存するものであってはなりません。もしそのプログラムが Debian から取り出され、Debian システムなしで使用ないし配布されるとしても、そのプログラムのライセンスが定める条件の範囲内で扱われる限り、そのプログラムが再配布された全ての人びとは、Debian システムとの関連に基づいて認められていたのと同じ諸権利を有さなければなりません。

  9. ライセンスは他のソフトウェアに影響を及ぼしてはならない

    ライセンスはそのライセンスが適用されたソフトウェアと一緒に配布される他のソフトウェアに制限を設けてはなりません。例えば、ライセンスは同じメディアで配布される他のプログラム全てがフリーソフトウェアであることを主張してはなりません。

  10. ライセンスの例

    「GPL」、「BSD」、「Artistic」ライセンスなどが私たちが フリー であると見なすライセンスの例です。

2.2. アーカイブエリア

2.2.1. main アーカイブエリア

The main archive area comprises the Debian distribution. Only the packages in this area are considered part of the distribution. None of the packages in the main archive area require software outside of that area to function. Anyone may use, share, modify and redistribute the packages in this archive area freely [2].

Every package in main must comply with the DFSG (Debian Free Software Guidelines). [3]

加えて、main に収録されるパッケージは

  • must not require or recommend a package outside of main for compilation or execution (thus, the package must not declare a Pre-Depends, Depends, Recommends, Build-Depends, Build-Depends-Indep, or Build-Depends-Arch relationship on a non-main package unless that package is only listed as a non-default alternative for a package in main),

  • あまりにバグだらけで、私たちがサポートするのを拒否するようなものであってはいけません

  • このマニュアルで示されているポリシー要求に全て適合していなければいけません

If a source package is in the main archive area, then at least one of its binary packages must be in the main archive area, and each of the remaining packages must be in either the main or contrib archive area. Each binary package's archive area is indicated by its Section field: see セクション.

Source packages in main with a mixture of main and contrib binary packages are more complex for archive tooling to handle, and therefore should be limited to situations where it would be inconvenient to split the source package. If it is straightforward to split the source package into a main part and a contrib part that are built separately, then those parts should be represented as separate source packages.

When a main source package has a mixture of main and contrib binary packages, the source package and the main binary packages must follow the requirements for main packages, but the contrib binary packages may follow the weaker requirements for contrib packages. In particular, source packages in main must not have build dependencies outside main, but the contrib binary packages may have runtime dependencies outside main.

2.2.2. The non-free-firmware archive area

The non-free-firmware archive area contains packages providing firmware needed to initialize, use or keep updated hardware required by our users, typically necessary for important functions to be available (i.e. wireless network connectivity) or for fixing security defects in hardware (i.e. CPU microcode updates). Packages in this archive may not comply with all of the policy requirements in this manual due to lack of source code availability, restrictions on modification or other limitations.

Packages in non-free-firmware

  • あまりにバグだらけで、私たちがサポートするのを拒否するようなものであってはいけません

  • must meet all policy requirements presented in this manual that it is possible for them to meet. [4]

2.2.3. contrib アーカイブエリア

contrib アーカイブエリアは、Debian ディストリビューションで利用するための追加ソフトウェアで、ビルドや動作にディストリビューション外のソフトウェアを必要とするものが収録されています。

contrib に収録される全てのパッケージは DFSG に準拠していなければなりません。

contrib のパッケージについての追加事項

  • あまりにバグだらけで、私たちがサポートするのを拒否するようなものであってはいけません

  • このマニュアルで示されているポリシー要求に全て適合していなければいけません

contrib に含めることができるようなパッケージの例:

  • コンパイル時または実行時に contrib または non-free に属するパッケージ、またはそもそも私たちのアーカイブに存在しないものを必要とするフリーなパッケージ。

  • non-free なプログラム用のラッパーパッケージ、あるいは non-free なプログラム向けのフリーな付属物など。

If a source package is in the contrib archive area, then each of the binary packages that it produces must also be in the contrib archive area.

2.2.4. non-free アーカイブエリア

non-free アーカイブエリアには、Debian ディストリビューションで利用することを意図してはいますが、DFSG に準拠しない、または配布に問題が出るような他の問題があるパッケージが収録されています。これらは修正に対する制限その他の制約のため、本マニュアルのポリシーでの要求をすべては満たしていないかもしれません。

DFSG に準拠していない、あるいは特許やその他の法的問題のために配布に問題のあるパッケージは non-free に収録しなければいけません。

In addition, the packages in non-free

  • あまりにバグだらけで、私たちがサポートするのを拒否するようなものであってはいけません

  • must meet all policy requirements presented in this manual that it is possible for them to meet. [4]

If a source package is in the non-free archive area, then each of the binary packages that it produces must also be in the non-free archive area.

2.4. セクション

The packages in the archive areas main, non-free-firmware, contrib and non-free are grouped further into sections to simplify handling.

The archive area and section for each package should be specified in the package's Section control field (see Section). However, the maintainer of the Debian archive may override this selection to ensure the consistency of the Debian distribution. The Section field should be of the form:

  • section これはパッケージが main アーカイブエリアに属する場合です。

  • area/section if the package is in the non-free-firmware, contrib or non-free archive areas.

Debian アーカイブメンテナがセクションの公式リストを提供します。現時点では、それらは下記の通りです: admin, cli-mono, comm, database, debug, devel, doc, editors, education, electronics, embedded, fonts, games, gnome, gnu-r, gnustep, graphics, hamradio, haskell, httpd, interpreters, introspection, java, javascript, kde, kernel, libdevel, libs, lisp, localization, mail, math, metapackages, misc, net, news, ocaml, oldlibs, otherosfs, perl, php, python, ruby, rust, science, shells, sound, tasks, tex, text, utils, vcs, video, web, x11, xfce, zope. さらに追加の debian-installer セクションがあり、そこにはインストーラで利用するが通常の Debian パッケージでは使わないような、特殊なパッケージが収録されています。

セクションとその定義については、不安定版のセクション一覧 を参照ください。

2.5. 優先度

各パッケージは 優先度 (priority) の値が与えられている必要があります。この値は Debian アーカイブのメタデータに設定されていますが、パッケージの control ファイルにも含まれています (Priority 参照)。この情報は、Deboam の標準インストールあるいは最小インストールにどのパッケージが含められるのか、という調整に使われます。

Most Debian packages will have a priority of optional. Priority levels other than optional are only used for packages that should be included by default in a standard installation of Debian.

The priority of a package is determined solely by the functionality it provides directly to the user. The priority of a package should not be increased merely because another higher-priority package depends on it; instead, the tools used to construct Debian installations will correctly handle package dependencies. In particular, this means that C-like libraries will almost never have a priority above optional, since they do not provide functionality directly to users. However, as an exception, the maintainers of Debian installers may request an increase of the priority of a package to resolve installation issues and ensure that the correct set of packages is included in a standard or minimal install.

Debian パッケージ管理システムが認識する*優先度レベル*の値を下記に示します。

required

システムが適切に機能するために必要なパッケージです (通常、dpkg の機能がこれらのパッケージに依存している場合に当たります)。required パッケージの削除は、システムを完全に動作不能にし、dpkg で復旧することすら不可能になってしまうでしょう。そのため、自分が何をしているのかを理解している場合にのみ行ってください。

Systems with only the required packages installed have at least enough functionality for the sysadmin to boot the system and install more software.

important

Important programs, including those which one would expect to find on any Unix-like system. If the expectation is that an experienced Unix person who found it missing would say "What on earth is going on, where is foo?", it must be an important package. [6] Other packages without which the system will not run well or be usable must also have priority important. This does not include Emacs, the X Window System, TeX or any other large applications. The important packages are just a bare minimum of commonly-expected and necessary tools.

standard

これらのパッケージはほどよく小規模ながらも、あまり制限のきつくないキャラクタベースのシステムを提供します。ユーザが何も他に選択しなかった場合、このパッケージ群がデフォルトでインストールされます。多くの大規模なアプリケーションは含まれません。

Two packages that both have a priority of standard or higher must not conflict with each other.

optional

This is the default priority for the majority of the archive. Unless a package should be installed by default on standard Debian systems, it should have a priority of optional. Packages with a priority of optional may conflict with each other.

extra

This priority is deprecated. Use the optional priority instead. This priority should be treated as equivalent to optional.

The extra priority was previously used for packages that conflicted with other packages and packages that were only likely to be useful to people with specialized requirements. However, this distinction was somewhat arbitrary, not consistently followed, and not useful enough to warrant the maintenance effort.