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 アーカイブエリアからなります。

この二つ以外の配布エリア (contrib および non-free) に収録されているパッケージは Debian ディストリビューションの一部とは見なされません。しかしながら、私たちはそれらのパッケージが使用できるようサポートしますし、またそれらに対するインフラ (バグ追跡システムやメーリングリストなど) も提供します。Debian ポリシーマニュアルの記述はこれらのパッケージにも適用されます。

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 アーカイブエリア

main アーカイブエリアが Debian ディストリビューションを構成します。このエリア内のパッケージのみがディストリビューションの一部であるとみなされます。いずれの main アーカイブエリアのパッケージも、動作の為にこのエリア外のソフトウェアを必要としません。誰であっても、このアーカイブエリア内のパッケージを自由に利用、共有、変更、再配布することが許されています。 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),

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

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

2.2.2. contrib アーカイブエリア

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

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

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

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

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

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

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

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

2.2.3. 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

2.4. セクション

取り扱いを簡略化するため、maincontribnon-free の各アーカイブエリアに含まれる全てのパッケージは、更に セクション に分類されます。

The archive area and section for each package should be specified in the package's Section control record (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 これはパッケージが contrib または non-free アーカイブエリアに属する場合です。

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

どのような Unix ライクなシステムであっても見つかるのが期待されるような重要なプログラムは、このプライオリティに属します。そのプログラムが欠けていることに気づいた時、Unix の経験豊富なユーザが「foo は一体全体どこだ?」と悪態をつくと思われるような場合には、それは important に含まれるべきです。 6 それ無しではシステムが良好に動作しなかったり、あるいは使い物にならないといった類のパッケージも優先度は important であるべきでしょう。このカテゴリには Emacs、X ウィンドウシステム、TeX などの大規模なアプリケーションは*含まれません*。important なパッケージには一般に存在が期待される、または必要といえるような、かつその最小の集合と考えられるツール類のみが含まれています。

standard

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

No two packages that both have a priority of standard or higher may 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.

1

The Debian archive software uses the term "component" internally and in the Release file format to refer to the division of an archive. The Debian Social Contract simply refers to "areas." This document uses terminology similar to the Social Contract.

2

See What Does Free Mean? for more about what we mean by free software.

3

Debian's FTP Masters publish a REJECT-FAQ which details the project's current working interpretation of the DFSG.

4

It is possible that there are policy requirements which the package is unable to meet, for example, if the source is unavailable. These situations will need to be handled on a case-by-case basis.

5

Licenses that are not thought to require the copying of all copyright notices into Debian's copyright file include Apache-2.0 and the Boost Software License, version 1.0. Final determination as to whether a package's copyright file is sufficient lies with the FTP team.

To help find copyright notices you need to copy, you might try grep --color=always -Eir '(copyright|©)' * | less -R

6

This is an important criterion because we are trying to produce, amongst other things, a free Unix.