Debian
Debian(ˈdɛbiən デビアン)またはDebian ProjectはLinuxディストリビューションのひとつであるDebian GNU/Linuxを中心とするUnix系システムのディストリビューションを作成しているプロジェクトである。名前の通り、GNUプロジェクトの精神の尊重と(そのため、システム全体も一般には単にLinuxと呼ばれる事が多いのに対し、Debianでは「GNU/Linux」という呼称を積極的に使っている。呼称が分かれる経緯についてはGNU/Linux名称論争を参照。)、同プロジェクトによるプロダクトの積極的な採用などが特徴である。Linuxディストリビューションの他、カーネル(核)をLinuxカーネルからGNU HurdやFreeBSDのカーネルに置き換えた、Debian GNU/HurdやDebian GNU/kFreeBSDなどがある。
Linuxカーネル、必須なユーティリティ類のutil-linux(Util-linux)、プログラムのビルドに必要なGCCやGNU Binutils、coreutilsなどのその他のUnix系ユーティリティをはじめ、その他デスクトップ環境向けやサーバ運用向けなど多数の、計51,000以上のパッケージを提供している。対象環境として現在10のアーキテクチャ(環境)向けに開発されており、インテルやAMDの32ビット・64ビットプロセッサ、組み込み機器で使われるARMアーキテクチャなどがそれには含まれている。低水準のパッケージ管理システムはdpkg、高水準のパッケージ管理システムはAPTである。デスクトップ環境は各種のものがパッケージにあるが、Debian 8では導入時に選べるのはGNOME、Xfce、KDE、Cinnamon、MATE、LXDE、LXQtである。
その他の特徴として、Debianを母体として、さらに調整や変更を加えた派生Linuxディストリビューションの作成が考慮されている、という点がある。派生先にはUbuntu他多くの派生ディストリビューションが存在する。
インストーラ用のCD/DVDイメージはWebからのダウンロード、BitTorrent・jigdo・uNetBootInなどで取得できる。さらに、インストーラーをオンライン再販業者から購入する事も可能である。
1993年8月16日 イアン・マードックにより開始。
1996年6月16日 Debian 1.1(コード名 buzz)を公開。
1996年12月12日 Debian 1.2(rex)を公開。
1997年6月5日 Debian 1.3(bo)を公開。
1998年7月24日 Debian 2.0(hamm)を公開。
1999年3月9日 Debian 2.1(slink)を公開。
2000年8月14−15日 Debian 2.2(potato)を公開。
2002年7月19日 Debian 3.0(woody)を公開。
2003年8月16日 プロジェクト発足10周年を迎えた。
2005年6月6日 Debian 3.1(sarge)を公開。
2007年4月8日 Debian 4.0(etch)を公開。
2009年2月14日 Debian 5.0(lenny)を公開。
2011年2月6日 Debian 6.0(squeeze)を公開。
2013年5月4日 Debian 7.0(wheezy)を公開。
2015年4月25日 Debian 8.0(jessie)を公開。
2017年6月17日 Debian 9.0(stretch)を公開。
2019年7月6日 Debian 10.0(buster)を公開。
2021年8月14日 Debian 11.0(bullseye)を公開。
Debian の各版に付けられている開発用コード名は、ディズニー映画「トイ・ストーリー」の登場人物の名前に基づいている。Debian の不安定版は、おもちゃをいつも壊す悪ガキのキャラクターである Sid にちなんでいる。
Debianは1993年8月16日に当時パデュー大学の学生であったイアン・マードックにより創設された。 マードックは当初"Debian Linux Release"という名称を付けた。当時"Softlanding Linux System (SLS)"という初のGNU/Linuxディストリビューションが公開されていたが、SLSは保守がお粗末であったり不具合が頻発したためマードックは全く新しいディストリビューションを立ち上げた。
1993年、マードックは"Debianマニフェスト"というこの新しいオペレーティングシステムについての概要を公表した。その中で、このディストリビューションの保守は、LinuxおよびGNUの精神に基づき公開された手法で維持されることを求めた。彼はこのディストリビューションの名称を、ガールフレンドの名前Debra Lynnと自身の名前IanからDebianとした。
Debianプロジェクトからは、1994年から1995年にかけて0.9版のシリーズが初めて公開された。この期間、フリーソフトウェア財団のGNUプロジェクトが支援を行った。1995年には、インテルi386以外の環境に対しても対応が開始されることとなり、1996年に最初の1.x版が公開された。
1996年にはブルース・ペレンズがDebianプロジェクトのリーダーとしてマードックの後任に就いた。同年開発者のEan Schuesslerは、Debianプロジェクトがその利用者に対して社会的な契約を交わすべきであるとの提案を行った。これに関してDebianプロジェクトのメーリングリストで行われた議論は、プロジェクトについての「Debian社会契約」と「Debianフリーソフトウェアガイドライン (DFSG)」にまとめられた。ペレンズは、Software in the Public Interest (SPI) というDebianプロジェクトを公式に支え、プロジェクトを統括する非営利組織の創設にも関わった。
ペレンズは、glibc移行後初めての版となったDebian 2.0が公開される直前にDebianプロジェクトを引退した。
この時期、Debianプロジェクトは新たなリーダーを選出し、2.x を公開した。この時期にAPTが初めて導入され、Debian GNU/HurdというLinuxカーネル以外の開発も始められた。1999年にはDebianを母体とするディストリビューションも現れ始めた。Libranet (2006年に開発停止)、Corel Linux そして StormixによるStorm Linuxである。
特筆すべきは、2000年に公開された2.2版(コードネーム: potato)で、この版はlibc等重要なパッケージの保守で、デュシェンヌ型筋ジストロフィーのため亡くなった、Joel 'Espy' Kleckerに捧げられた。
2000年後半には、プロジェクトはパッケージアーカイブとリリースマネージメントに関する大きな変革を行い、「パッケージプール」方式と次期stable版の土台となる"testing"版の導入が開始された。また同年には全世界のDebian開発者・技術者を集めて年1回開催されるDebConf(Debianカンファレンス)が開かれるようになった。
この頃CorelはLinux部門を売却 (後にXandrosとなっている) 、Stormixは2001年破産を宣告されている。
2002年7月、Debian 3.0 (コードネーム: woody)が公開された。(遡ることver.1.1から、Debianは公開の際に映画トイ・ストーリーのキャラクター名をコードネームとして採用し現在に至る。)
3.0(woody)公開後、次期版3.1(sarge)まで、およそ3年という長期に渡る空白期間が存在する。主な理由として、potatoからwoody以後にかけて、パッケージ数が2倍程に増加、またwoodyでの対応環境も増加したため、公開直後からこれに伴うバグが飛躍的に増大した点がある。とりわけリリースクリティカルバグが事実上すべて解消されない限り公開できないため、公開日程に多大なる影響を与えた。パッケージメンテナのバグに対する考え方は温度差があり、たとえば特定の言語のみ発生するバグならば、そのメンテナがバグ対象の言語圏でも無い限りバグを修正することに対する意欲を持つことは少ない。コミュニティによるボランティアを作業基盤とするDebian特有の問題とも言える。
しかし、長くなっていく公開間隔について、フリーソフトウェアコミュニティから疑問の声が上がった。Debianのsargeリリース直前には、実際にDebian開発者の1人であったShuttleworthが主導してUbuntuというプロジェクトを派生させた。Shuttleworthが雇っているUbuntu開発者の多くは、かつてはDebianボランティアだったか、または今もDebianに関わっている人々である。多くの場合、Ubuntu開発者として(Canonicalを通して)雇われた人々はDebianでも同じパッケージの管理をしている。この点については本人も公式サイトで「Debian の開発者の中には、Ubuntu で仕事のほとんどをするようになった人も確かにいます。また、Ubuntu と Debian で同じように仕事をしている開発者もいます。」としてそれを認めている。Debian の創立者、Ian Murdochは、Ubuntu の人気が Debian 派生のディストロのために良い兆しだとは考えていない。それは、Ubuntu 用に作られたパッケージが Sarge上で動作しないことが多いことを挙げている。Murdochは、Ubuntuが本当にDebianと互換性があった場合、開発のための作業のエネルギーの全てをSargeに向けられる可能性があり、それが本当に全体として見た場合、Debianの開発システムに利益をもたらすと主張している。したがって、当時のこうした混乱状況がsargeの開発をさらに遅らせることになったといえる。
その後、Debianから派生したUbuntuは多数の常勤の開発者によって開発されるところとなり、次第に影響力を増していった。しかし、ブラジル人のDebian開発者、Otavio Salvador は、「「ユーザはUbuntuを信用しているが、ユーザには安定したパッケージを提供する必要がある」 という考えにUbuntuがコミット (バージョン管理)しているかどうか、確信が持てない。」と述べている。また彼は、Shuttleworth個人に対しても不信感を抱いており、露骨に「言動が一致していない」と非難し、「品質対公開日程の問題で溝が深まったことでUbuntuとDebianの関係はひどいものになっている。」と語っている。このように、Ubuntuに対する評価は分かれている。
Debianのstable開発の長期化と派生であるUbuntuの誕生は、Debianコミュニティに対する意識を変化させ、Debian 4.0(コードネーム: etch)以降の版に対しての公開日程を含むいくつかの改善をもたらしたのは確かである。2011年現在では両コミュニティにおいて、バグ修正の取扱いなど相互交流もある。
2005年6月、Debian 3.1(コードネーム: sarge)が公開された。小規模な改良(バージョン番号が小数部の増加に留まる)にも関わらず、この正式版では数多くの変更が実施されたが、それは一つ前の版woodyからsarge公開までの期間が長かったことが原因である。この版では70%以上のソフトウェアが更新の対象となっただけではなく、ソフトウェアの容量も増加した。新規のインストーラーが導入され、40ヶ国語にも及ぶ言語に対応するようになった。
このリリースでは、woody以前のインストーラである、"boot-floppies"をDebianインストーラと呼ばれるモジュラー設計の新しいインストーラで置き換えた。この新しいインストーラは高度な導入方法に対応しており、RAID、XFS そしてLVMにも対応している。またハードウェア検知能力に優れるため、Linuxのインストールに不慣れな者でもインストールできるようになっている。インストーラは約40ヶ国の言語で完全なソフトウェアレベルでの国際化を実現している。インストールマニュアルと包括的なリリースノートはそれぞれ10と15の言語に翻訳され公開されている。
このときの公開では、Debianプロジェクトの各サブプロジェクトの取り組みも含まれており、Debian-Edu (Skolelinux)、Debian-Med、Debian-Accessibilityがそれに当たる。Skolelinuxは学校教育において有用なソフトウェアのパッケージを作成しDebianアーカイブに収録、また教育現場へのDebianの利用促進を行うプロジェクトである。Debian-Medは医療現場におけるDebianの利用促進や医療用ソフトウェアの作成、パッケージ化を担っている。Debian-AccessibilityはDebianシステムやDebianプロジェクトのWebサイトの利便性向上や障害者に対するDebianの利用を支援するプロジェクトで、その一部は視覚障害者のためのブライユ端末上における導入支援などがある。
2006年、ウェブブラウザやメーラーといった Mozilla関連のソフトウェア名が商標上の問題によって変更された。Firefox は、Iceweasel へ、Thunderbird は Icedove へといったように変わった。これはMozilla Foundationの要請によりDebianプロジェクトでMozilla Firefoxの名称が使えなくなったことによる。
2007年4月8日、Debian 4.0(コードネーム: etch)が公開された。GUIインストールが公式に対応されている。この公開版では新たにAMD64に対応した一方、Debian初のx86以外の対応環境であったm68kは公式に非対応となった(但し非公式ながら動作する)。
2009年2月14日、Debian 5.0(コードネーム: lenny)が公開された。開発期間は22ヶ月。25000以上のソフトウェア・パッケージが収録された。新たにマーベル・テクノロジー・グループが販売しているARM基盤のNAS、OrionプラットフォームとAsus Eee PCのようなネットブックに対応した。この版はMIPSアーキテクチャメンテナで2008年12月26日に交通事故で亡くなったThiemo Seuferに捧げられた。
2010年9月5日、公式にバックポートサービス (Debian Backport) を開始した。
5.0公開からほぼ2年経った2011年2月6日、Debian 6.0(コードネーム: squeeze)が公開された。FreeBSDカーネル(Debian GNU/kFreeBSD)が「テクノロジープレビュー」としてこの版から正式に対応されたが、その一方でalphaとhppa、armの3つの環境がこの版から公式に非対応となった。
6.0公開から2年以上経過した2013年5月4日、Debian 7.0(コードネーム: wheezy)が公開された。この版からarmhfとs390xの2つの環境に正式対応されることとなった。
2014年4月24日、Debian 6.0の保守が2016年2月まで延長されることが発表され、2014年6月16日より長期サポート(LTS)期間に入った。
2015年4月25日、Debian 8.0(コードネーム: jessie)が公開された。この版よりAArch64(64ビット版ARM環境)とPOWER 64 ビットリトルエンディアン版が正式対応された。またs390 環境の対応が終了し、s390xに置き換えられた。なお、ia64 および sparc が、開発者不足から、正式版に含まれなくなった。
2017年6月17日、Debian 9.0(コードネーム: stretch)が公開された。この版より64 ビットリトルエンディアン MIPSが対応環境に追加された。逆に32ビット版PowerPCがサポートされる対応環境から外れた(PowerPC 64ビット版は引き続き保守が継続される)。
2019年7月6日、Debian 10.0(コードネーム: buster)が公開された。
2021年8月14日、Debian 11.0(コードネーム: bullseye)が公開された。
プロジェクトは、世界中の有志の開発者によって構成されている。プロジェクトには誰でも参加できるが、正規の開発者になるためには、技術的なチェックを受ける必要がある。2020年11月現在、1100名以上のメンバーがいる。日本人の開発者は40人ほどである。
プロジェクトの抱負として、Debian社会契約を掲げている。Debian社会契約は、プロジェクトが遵守すべき事項を定めたもので、1997年7月5日に採択された。その中のDebianフリーソフトウェアガイドライン (DFSG) は、Debianにおけるソフトウェア評価基準となっており、このガイドラインに適合しない、フリーではないと評価されたソフトウェアは、Debianの一部として提供されることはない。
プロジェクト内の意思決定はDebian憲章の元で行なわれる。Debian憲章は、組織構成やその権限、投票にかけるまでの手続きなどを定めたもので、1998年12月2日に採択された。
このことから、Debianプロジェクトは独立した非中央集権的な組織である。また他のGNU/Linuxディストリビューション(例えば、Ubuntu、openSUSE、Fedora、そしてMandriva)のように企業が所有するものではない。 にも関わらず、プロジェクトの生産付加価値は極めて高く、Debian 4.0 (etch)版に含まれる全パッケージ開発コストを例にとると、コード総数2億8300万行、COCOMOモデル(COCOMO)を使用した生産価値評価は130億米ドルにのぼるとされる。2009年4月2日、オンラインコミュニティサイトOhlohはある時点でのDebian GNU/Linuxプロジェクトのコードベース(コード総数4500万行)をCOCOMOモデルを用いて評価したところ、開発コストは約8億1900万米ドルになると推計した。Debian 5.0 (lenny) リリースに関して、Juan José Amorらの推計によると、有効なコード総数は324,000,000行、COCOMOモデルによる生産価値評価は61億ユーロにのぼるとされる。
無論こうしたDebianに関するコミュニティの門戸の広さは、全く問題がないわけではなく、以前には、「一部ユーザによる礼儀知らずな行為」とコミュニティの意思決定の遅さが批判されたことがある。
毎年、Debianカンファレンス (通称DebConf) が開催される。Debianカンファレンスは、世界中のDebian開発者が直接会談する場で、2000年7月5日に初めて開催された。資金面などの多くの障害があるため、今のところ日本で開催されたことはないが、有志によって開催が検討されている。
Debianプロジェクトリーダー(Debian Project Leader; DPL)はプロジェクトの公的な代表者であり、プロジェクトの現在の方向性を決める立場にある。プロジェクトは次のリーダーを選出してきた:
イアン・マードック (1993年8月 – 1996年3月), Debianプロジェクト創設者
ブルース・ペレンズ (1996年4月 – 1997年12月)
イアン・ジャクソン (1998年1月 – 1998年12月)
ウィヘルト・アッカーマン (1999年1月 – 2001年3月)
ベン・コリンズ (2001年4月 – 2002年4月)
ビーデール・ガービー (2002年4月 – 2003年4月)
マーチン・マイケルメイヤー2011年6月 (Martin Michlmayr) (2003年3月 – 2005年3月)
ブランデン・ロビンソン (Branden Robinson) (2005年4月 – 2006年4月)
アンソニー・タウンズ (2006年4月 – 2007年4月)
サム・オセヴァール2011年6月 (Sam Hocevar) (2007年4月 – 2008年4月)
スティーブ・マッキンタイアー (2008年4月 – 2010年4月)
ステファノ・ザッキローリ (2010年4月 – 2013年4月)
Lucas Nussbaum(2013年4月 – 2015年4月)
Neil McGovern(2015年4月 – 2016年4月)
Mehdi Dogguy(2016年4月 – 2017年4月)
Chris Lamb(2017年4月 – 2019年4月)
Sam Hartman(2019年4月 – 2020年4月)
Jonathan Carter(2020年4月 – 現職)
補佐的な役職として、アンソニー・タウンズによりDebian Second in Charge (2IC; 副リーダー)が創設された。スティーブ・マッキンタイアーは2006年4月から翌2007年4月までこの役職に就いている。2009年4月からはLuk Claesがその地位にいる。現プロジェクトリーダー、ステファノ・ザッキローリは、2ICを選出しない旨DPL選挙の際に宣言していた。
Brian C. White (1997–1999)
Richard Braakman (1999–2000)
アンソニー・タウンズ (2000–2004)
Steve Langasek, Andreas Barth そして Colin Watson (2004–2007)
Andreas Barth と Luk Claes (2007–2008)
Luk Claes と Marc Brockschmidt (2008–2009)
Luk Claes と Adeodato Simó (2009–2010)
Adam D. Barratt と Neil McGovern (2010–現職)
注意すべきことに、上記リストにはアクティブな開発マネージャーのみ含まれている。2003年から導入された、開発アシスタント、そして引退したマネージャー("release wizards"と呼ばれる)はここには含まれていない。
Debianの特長として、保守の単純さがある。パッケージ管理システムを備えており、ひとたび導入が終了すれば、パッケージマネージャのAPT (Advanced Package Tool) により、ソフトウェアの更新が行える。パッケージの導入は、セキュリティ関連の更新やプログラム相互の依存性確認も含めて、仮想端末(コンソール)より容易に操作できる。
パッケージの依存関係には、大きく分けて、depends(依存)、recommends(推奨)、suggests(提案) という3種類の項目が設定されており、動作に必須なものがdepends、動作に必須ではないが常識的に必要とするものがrecommends、組み合わせる事で更に便利に使えるものがsuggestsに指定されている。lenny以前では、apt-getは、depends以外の項目を上手に扱えなかった。これらの項目を最大限生かす事ができるaptitudeの使用がSarge以降では勧められていた。Squeezeではこの点は改善された。さらに、自動削除に対応するようにも更新された。
APTには補助的機能を追加するフロントエンドが数多く提供されており、以下ではaptitudeを含めた幾つかのフロントエンドを紹介する。
扱いやすいユーザーインターフェイスは複数存在する。
一般的に良く知られる代表としては、Debianだけでなく RPM系のディストリビューションでも使われている Synaptic(シナプティック)がある。Synapticは、apt-getコマンドを使用せずにシステムの更新が全てマウスで直感的に行えるだけでなく、ソフトウェアの削除機能も備えている。
「apt-watch(アプト-ウォッチ)」は、デスクトップで使用するユーザーにとって、アップデートの公開を直ちに通知してくれるアプレットとして極めて有効なツールである。apt-watch は、より簡易にパッケージの管理を実現するツールとして開発されたアプリケーションである。これは、ネットワークに接続し、アップデータを定期的に監視するアプレットであり、アップデータが利用可能となった時には、クライアントに自動的に更新の通知を行う。Windows Updatesや Red Hat Network と同様な機能を持っている。
4.0 (Etch) では、apt-watch に加えて新たに update-manager も用意された。これは、GNOMEデスクトップ環境で利用可能なパッケージの管理ツールである。この update-manager は、Update Notifier と呼ばれるデスクトップ上のアプレットと組み合わせて利用することができる。機能的には apt-watch と似ているが、APT keyring を管理する仕組みが追加されている。なお、Update Notifier は GNOME や KDE、Xfce など Freedesktop.org 準拠の全てのデスクトップ環境で動作するように設計されている。
ただしこれらもアップデートの実際の内部処理は、APT が機能しているので、apt-get コマンドを実行することと大差は無い。
Debian 4.0 では、グラフィカルなパッケージ・インストーラーが新たに提供された。このインストーラーを利用すれば、ローカルに保存した Debianパッケージがコマンド操作なしでインストール可能である。Red Hat Linux で初めて採用された GNOME-RPM (あるいは gnorpm とも) というグラフィカルなインストーラーと好対照を成すツールであるが、GNOME-RPM がシェルプロンプトから RPMコマンドを実行するのと同じ機能を有するのに留まるのとは違い、gdebi は APTのようにパッケージ間の依存関係を自動的に解決する機能も併せ持っている点でより優れている。GDebi とも表記される。
パッケージ管理にはdebconfと呼ばれるフレームワークが用意されており、パッケージ作成者はユーザーに対して簡易のフロントエンドを提供できる。このフレームワークを積極的に利用しているパッケージでは、インストール後にユーザーが行うであろう初期設定の大半を、対話形式の質問に答えていくだけで、インストールと同時に終える事ができる。debconfパッケージ自身もdebconfの設定を有しており、利用するフロントエンドインターフェースと優先度を設定できる。debconfのインターフェースは、対話形式のものから、非対話形式(質問なしで自動設定)なもの、キャラクタベースなものから、グラフィカルなもの、または設定ファイルを直接書き換える用途で使用するエディタまで、ユーザーが自由に選択可能である。優先度はパッケージの各質問毎に設定されており、ユーザが介在しないとシステムが動作しなくなる高レベルのものから、標準で問題ないような些細なものまである。(システムに不慣れなユーザのため)ある優先度より低い設定をすべて標準で済ませ、それらを一切質問させないことも可能である。
公開は、4種類で行なわれている。
安定版 (stable):これは、厳密に安定性を検証した版で公式の公開となる。公開は2009年より2年の間隔をもっておこなわれ、日程を決定することにより奇数年の12月に固定し、翌年の偶数年前半に公開される。
ソフトウェアのセキュリティホールやバグの修正は、主に上流から修正コードをバックポートする事で行なわれる。そのため、ソフトウェアのメジャーバージョン(例: 1.0.0→2.0.0)やマイナーバージョン(例: 1.0.0→1.1.0)が更新されることは滅多になく、ビルドバージョン(例: 1.0.0→1.0.1)かパッケージ番号(例: 1.0.0+deb8u1→1.0.0+deb8u2)が更新されることがほとんどである。