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

[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.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]

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.

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

[4] (1,2)

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.

## 2.3. 著作権に関する考慮

Every package must be accompanied by a verbatim copy of its distribution license(s) in the file `/usr/share/doc/PACKAGE/copyright`.

The copyright information for files in a package must be copied verbatim into `/usr/share/doc/PACKAGE/copyright`, when all of the following hold:

1. the distribution license for those files requires that copyright information be included in all copies and/or binary distributions;

2. the files are shipped in the binary package, either in source or compiled form; and

3. the form in which the files are present in the binary package does not include a plain text version of their copyright notices.

Thus, the copyright information for files in the source package which are only part of its build process, such as autotools files, need not be included in `/usr/share/doc/PACKAGE/copyright`, because those files do not get installed into the binary package. Similarly, plain text files which include their own copyright information and are installed into the binary package unmodified need not have that copyright information copied into `/usr/share/doc/PACKAGE/copyright`

However, the copyright notices for any files which are compiled into the object code shipped in the binary package must all be included in `/usr/share/doc/PACKAGE/copyright` when the license requires that copyright information be included in all copies and/or binary distributions, as most do. [5]

See Copyright information for further details.

私たちは、下記のような場合にファイルを私たちのアーカイブへ収録することを制限する権利を留保します。

- その使用ないし配布が法に抵触する

- その配布や使用に道徳的な見解の相違がある

- 我々がライセンスに署名する必要がある

- 配布がプロジェクトの他のポリシーと矛盾する

ユーザに対して作者への寄付を奨励しているプログラムを main で配布することは、その作者が寄付をしないことを非道徳的であるとか、非倫理的であるとか、違法であるとか何かそれに類する主張をしていない限り、なんら問題ありません。そうでなければそのプログラムは non-free に分類しなければいけません。

その著作権認可表示が (あるいは特許問題によって) バイナリのみの再配布すら認めておらず、また特別な許可も得られていないプログラムのパッケージは、Debian の FTP サイトにもそのミラーにも置いてはいけません。

国際著作権法 (これはアメリカ合衆国でも適用されます) の下では、明示されていない限り、ある作品の配布や変更は*認められていない*ことに注意してください。著作権表記が明記されていないプログラムにも著作権は*存在する*のであり、そのようなプログラムに何らかの形で手を加えるということは、いつ訴えられてもおかしくないということです!同様に、著作権は明記されているが何が許可されているか述べられていないプログラムとは、何も許可されていないということに他なりません。

多くの作者は、制限のきつい著作権 (あるいは著作権表示の欠如) が、作者の意図としてはフリーなはずだったソフトウェアのユーザにもたらす数々の問題について気がついていません。そこで、そのような作者たちと連絡をとって丁重に交渉し、彼らのライセンス条項を変更してもらうよう頼むのは多くの場合やってみる価値があることです。しかし、これは政治上難しいことの一つであり、まずは以下に記載のように `debian-legal` メーリングリストで助言を求めるべきでしょう。

もし著作権について疑問点があれば debian-legal@lists.debian.org にメールを出しましょう。私たちに問題の著作権表示を提供できるよう準備しておいてください。GPL で保護されたソフトウェア、パブリックドメインソフトウェア、そして BSD スタイルの著作権は問題ありません。「商用利用は禁止」あるいは「配布に制限あり」といった言い回しに注意してください。

[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`

## 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. 優先度

Each package must have a priority value, which is set in the metadata for the Debian archive and is also included in the package's binary control (see Priority), `.dsc` and `.changes` files. This information is used to control which packages are included in standard or minimal Debian installations.

Starting with dpkg version 1.22.13, the Priority of a binary package is set to `optional` unless specified otherwise in the source or its binary stanza in the source package template control file. Therefore, explicitly specifying Priority as `optional` may be omitted.

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.

[6]

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