コミュニティ

DebianとUbuntu

UbuntuとDebianは非常に近しい間柄です。UbuntuはDebianの基本設計や構造に基づいて作成されています。しかし、コミュニティやリリース作業は別になっています。

Debianについて

UbuntuにとってDebianは「Ubuntuを作成するために必要な土台」となる存在です。

Debianは、GNU/Linuxディストリビューションを開発する、有志によるプロジェクトです。10年以上前にプロジェクトが立ち上がり、それ以来、1000人以上の公式な開発者と、それ以上の有志や貢献者によって成長を続けてきました。そして、Debianには、フリーソフトウェア・オープンソースソフトウェアやドキュメントで構成された、二万を越える「パッケージ」が存在します。

Ubuntuについて

Canonicalによって支援されているUbuntuプロジェクトは、多くのユーザが未だDebianを使っていないという問題を解決するためにDebianと協力して作業を行っています。Ubuntuでは、Debianのシステムを基本に、定期的かつ頻繁なリリース、企業的な説明責任、より洗練されたデスクトップインターフェースを提供しています。また、セキュリティ脆弱性やリリースクリティカルバグ(リリースを妨げるような致命的な不具合)が確実に修正され、一貫したデスクトップ環境を持ち、そしてオープンソースの世界において、最新の(6ヵ月以内の)ソフトウェアを利用できる機能を備えたDebianを配備する方法を提供しています。

UbuntuとDebian

UbuntuとDebianは異なるものですが、そのシステムは非常に似ており、密接に関わりあっています。Ubuntuプロジェクトでは、以下の領域でDebianプロジェクトを補完しようとしています:

パッケージの選別

Ubuntuでは、オープンソースの世界で利用可能なすべてのパッケージに対して、セキュリティアップデートと公式的なサポートを提供しているわけではありません。確実で包括的なデスクトップシステムを作るために必要な一揃いのパッケージ集を作成し、それらのパッケージに対してサポートを提供しています。

他の知られているパッケージも利用できるように、"universe"コンポーネント(パッケージの一式)も提供しています。これを使えば、サポートはされていませんが、最新のあらゆるパッケージをインストールすることができます。Ubuntu universeにあるパッケージの多くはDebianにもありますが、供給元が異なる場合もあります。Ubuntuの配布方法についての詳細は、Ubuntuのコンポーネントのページをご覧ください。

リリース

Ubuntuは6ヵ月ごとにリリースを行い、それぞれのリリースに対して、18ヵ月のセキュリティアップデートと重要な不具合に対する修正を提供しています。

リリースの準備段階において、UbuntuはDebianの開発版アーカイブからスナップショットを作成します。テスト版ではなく開発版を利用するのは、Debianのリリース作業とは独立して、リリース管理に関する決定を自由に行えるようにするためです。この開発版からのスナップショットの作成は、Ubuntuのリリースに関する判断基準はDebianとは大きく異なるために必要な作業です。

例えば、Debianでサポートしている10を越えるアーキテクチャのいずれかでビルドが失敗した場合、そのパッケージはテスト版('testing')から削除されます。しかしながら、それらのパッケージが3つのアーキテクチャ上でなら動作するのなら、Ubuntuにとっては十分です。また、Debianの基準によるリリースクリティカルバグが存在するなら、そのパッケージはDebianのテスト版で提供されないでしょう。しかしながら、Debianにとっては致命的な不具合であっても、Ubuntuにとっては重要ではない不具合かもしれないのです。

Ubuntuコミュニティは、DebianとUbuntuの差異が小さくなるようにDebianから分岐するタイミングを選択しています。例えば、Gnomeのバージョンは通常、Debianで採用されている中で、古いバージョンよりもできるだけ最新のものを選択するようにしています。また、XやGCCといった基盤となる重要なソフトウェアも、必要であれば同様の措置を行います。これらの決定事項は、リリースごとの目標(Feature Goals)として掲げられています。そしてコミュニティが、リリース前に行われるべき事を確認できるよう作業を行っています。

開発コミュニティ

Ubuntu開発者の多くは、Debianコミュニティでも認められた開発者です。Ubuntu上での作業を通して、彼らの成果はDebianへの貢献へとつながりますし、Debian上で直接作業を行うこともよくあります。

Debianバグ追跡システム(Debian bug tracking system)で不具合が報告され、その後Ubuntuでその不具合が修正された場合、その修正点は自動的にDebianのバグ追跡システムに報告されます。パッチについても、patches.ubuntu.comにて自動的に公開されます。長期的には、常勤で作業を行っているUbuntuチームのメンバがパッチを作成し保証することで、Debianのパッケージメンテナが同意すればすぐさまパッチがそのパッケージに取り込まれるようにすることが目標です。

Ubuntuでは、チームメンバであれば誰でも、他人が管理しているパッケージに修正を加えることができます。一度、Ubuntuメンテナとなれば、あなたが遭遇した不具合はあなた自身の手で修正することができるようになります。しかしながら、メンテナ間の摩擦を避け、より良い共同作業を行うためにも、まずはそのパッケージに興味を持っている人々の間で議論を行うことも推奨されています。

自由と哲学

DebianとUbuntuは同じフリーソフトウェアに関する哲学に基づいて行動しています。共にフリーソフトウェアを使ったオペレーティングシステムの開発を行うことを誓っているのです。

DebianとUbuntuの違いは、文書やフォント、バイナリファームウェアといったいわゆるプログラム以外(non-computer)のアプリケーションや、自由でないソフトウェア(non-free software)の扱いにあります。Debianは、極小量の"non-free"なソフトウェアのみを配布しています。Ubuntuは"restricted"コンポーネント(「制限付き」コンポーネント)としてバイナリドライバなども配布していますが、Ubuntuのライセンスガイドラインに従っていないその他のソフトウェアは配布していません。

Ubuntuとその他のDebian派生ディストリビューション

Debianと同じ基本設計(パッケージやアーカイブ形式)を持った多くのディストリビューションが存在します。Ubuntuはそれらの派生ディストリビューションといくつかの点で異なります。

まず初めに、発見した不具合がUbuntuリリース後ではなく、リリース作業の間になるべく早く修正されるようDebianにパッチを提供しています。他のDebian派生ディストリビューションでは、そのソースコードやパッチはリリース時に「一斉に」公開されることがあります。これは、開発元でパッチを統合することが難しくなります。Ubuntuのパッチは、自動的・継続的に公開されます

次に、Ubuntuの開発者の多くはDebian開発者でもあります。Debianパッケージを採用しているディストリビューションの多くは、活動的なDebian開発者を抱えていません。

三番目に、Ubuntuはより頻繁にリリースを行っています。6ヵ月ごとにリリースを行うというUbuntuのリリースポリシーは、Linuxディストリビューションにおいても特殊な部類に入ります(訳注:原文執筆時点の話)。Ubuntuは、安定してセキュリティサポートされているオープンソースの世界のスナップショットを定期的に提供できるよう心がけています。