hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
オープンコンテント 法的基点
パブリックドメインは、著作権を失効した人物や著作権が適用されることのないアイデアや事実からなる作品の状態である。パブリックドメイン作品は作者が自明に公有に置いたり、もはやその作品の利用・頒布をコピーライトにより制御することがない作品である。その様な作品は法的な制約に縛られず作品を利用・修正・再頒布することが出来る。パブリックドメイン作品やパーミッシブ・ライセンスが課せられた作品はコピーセンターとも呼ばれる。一般的に使用されているパブリックドメイン・シンボルはコピーライト・シンボルに右上から左下へ斜線を引いたものである。
オープンコンテント 法的基点
コピーレフトは、コピーライトの言葉遊びから誕生した、作品を利用・修正・再頒布する自由の権利を行使するために著作権法を使用する概念である。コピーレフトの目的は作者が制作したコンテンツを作者以外の利用者が利用・修正する自由をコピーライトの下に著作権法に従って様々なライセンスで規定する法的フレームワークを提供することである。パブリックドメイン作品と異なり、作者はコンテンツの著作権を保持したまま、作品利用に対して制約の少ないライセンスによりコンテンツの利用・修正を許可する。コピーレフト・ライセンスは源作品の著作権表示を維持したまま、派生作品に同一のライセンスを課すことを求める。一般的に使用されているコピーレフト・シンボルはコピーライト・シンボルを左右反転したものであり、文字そのものには意味を持っていない。
ライセンスは、著作権法の下に作者が他者に対して作者の定めた制約に従う範囲でのコンテンツの利用を許諾する。コンテンツに課すライセンスにおいて、ライセンスの制約を緩めてパーミッシブ・ライセンスとすればオープンコンテントとして他者に作品の利用・修正を許可し、一方でライセンスの制約を締めてプロプライエタリ・ライセンスとすればコピーライトに従って作品の利用を制限する。パブリックドメイン相当の制約でコンテンツ利用を許諾するライセンスとしてはCC0やWTFPLがある。コピーレフト・ライセンスの例としてはGFDLやCC BY-SAがある。
オープンコンテント 各分野の利用
オープンコンテントの概念は専門分野においてより特化・洗練した形を取り、各分野で作品・製作物・成果の利用・修正・再頒布および共有をしている。
ユーザーが生成したコンテンツを一つの形に取り纏めて、そのコンテンツをオープンライセンスで頒布するユーザー生成のオープンコンテントの在り方がある。ウィキペディアはウェブ上の利用者が生産するオープンコンテントの中で最もよく知られているデータベースの1つである。ウィキペディアの記事は、ウィキペディアの提示する利用許諾ライセンスを執筆文章に課すことを執筆者が同意しており、同ライセンスの下に記事を利用することができる。ウィキペディアのコンテンツの大部分はオープンコンテントであるが、一部の著作権のあるコンテンツはフェアユースの下で利用されている。
オープンコンテント 各分野の利用
テキスト・音楽・画像・動画などのメディアコンテンツでは、クリエイティブ・コモンズなどが提供するライセンススキームに従って作品の頒布を許可している。クリエイティブ・コモンズ・ライセンスの全てが完全に自由な作品の利用を認めているわけではなく、ライセンス条項に依っては商用利用禁止・改変禁止などの制約を伴って頒布を許可するものも存在する。クリエイティブ・コモンズ・ライセンスは自由文化作品の定義に従ったライセンスであると承認されている。クリエイティブ・コモンズのデジタルライブラリでは写真・クリップアート・音楽・文学などのオープンコンテントを提供している。あるウェブサイトにあるオープンコンテントを別のウェブサイトで大量に再利用することも合法ではあるが、重複コンテンツ問題を引き起こすため適切ではない。
オープンコンテント 各分野の利用
ソフトウェアでは、パーミッシブ・ライセンスやコピーレフト・ライセンス課したソフトウェアのソースコードを公開することで利用・修正・再頒布が可能となっている。オープンソース・イニシアティブやフリーソフトウェア財団が標準化団体として存在し、オープンソースの定義や自由ソフトウェアの定義によりオープンコンテントのソフトウェアの在り方を示している。単純化した作品のコラボレーションと同様にモジュール化したソフトウェアのマッシュアップは複数の作者のコンテンツを一つのソフトウェアとして構築することを認めている。オープンソースの開発モデルは、科学研究などの古典的な学術分野に代表されるピア認識および共同利益のインセンティブを有すると分類されており、このインセンティブモデルから生じる社会構造はコンテンツの生産コストを低下させる。P2Pの開発モデルでソフトウェアの重要な観点が与えられることにより、開発者から知識蓄積の負担を取り除き、ソフトウェアの開発コストを削減する。開発者から利用者へソフトウェアを提供すると同時に利用者から開発者へソフトウェアリソース（アイデア・レポート・バグ）が提供されるなら、開発モデルは利用者の人数に依存せず実現可能なスケーラビリティを持つことも出来る。オープンコンテントのソフトウェアとソースコードのインターネットを介した頒布はホスティングサービスにより自由に利用できる環境が整っている。
オープンコンテント 各分野の利用
オープンコンテントの概念はエンジニアリングにおける設計やノウハウの分野で製品開発に関わるコスト削減や知識共有のために使われている。オープンデザインの概念は移動体通信・小規模製造 ・自動車産業・農業などのプロジェクトで使われている。製造分野でのオープンデザイン手法は新規もしくは既存改変の機器のコンポーネントを設計・製造するCADやCAMに利用されている。Open Source Hardware Associationはオープンソースのハードウェアの概念としてオープンソースハードウェアを提唱し、ハードウェアの知識・規格・製造の自由な利用・修正・頒布を促進している。これらの開発基盤となる迅速な製造技術により、エンドユーザーは、オープンコンテントのソフトウェアやハードウェアを使用して、設計図から独自機器を製造することもできる。
オープンコンテント 各分野の利用
学術分野において知識・研究結果・論文・書籍などのコンテントは自由利用は一般的ではないが、オープンコンテントの概念を伴ったコンテンツの利用・頒布を認めるオープンアクセスも広がりを見せている。オープンアクセスはオンラインの研究結果を著者の課したライセンスに従う範囲での自由な閲覧と利用を認めている。著者は研究結果の閲覧者を拡大するためや思想的な理由からオープンアクセス出版を利用する。PLOSやBioMed Centralなどのオープンアクセス出版社はオープンコンテントの論文の出版・閲覧をサポートしており、このような出版形態は人文科学より科学の分野でより使われるようになってきている。アメリカ国立衛生研究所・RUCK・EUなど、様々な投資組織や政府研究機関が資金調達の資格を得るためには学術成果をオープンアクセスとするオープンアクセス・マンデートとすることを定めている。マサチューセッツ工科大学など、機関レベルの大学は自身の理念の紹介でデフォルトでオープンアクセスとすることを述べている。いくつかの組織の理念では時間差で公開したり、研究者へ資金請求してオープンアクセスへ研究成果を提供している。オープンコンテントの出版は、従来大学が一般的に加入して支払っていた研究成果の情報を得るためのコストの削減の手法とみなされていたが、現在では質の良くない論文の提出を抑えることで業界全体の論文の質を高める手法であると考えられている。非オープンコンテントの論文を大学が入手するためには費用がかかるかもしれないが、そのような出版社が費用をかけることなく、論文は信頼しうる学者によって執筆・査読がなされている。この点において、Nature Publishing Groupとカリフォルニア大学のように、出版社と大学の間でサブスクリプション・コストについて論争が起きることがある。
オープンコンテント 各分野の利用
高等教育のための代替ルートを提供する教育リソースを作成するためにオープンコンテントが利用されている。従来の大学は高価で学費・授業料は高騰しており、オープンコンテントの教育リソースは教育・学習コンテンツの共有と再利用に観点を置いた自由な高等教育を提供する一つの手法である。オープンコースウェア・セーラーアカデミー・カーンアカデミーなど、多くのオープンコンテントを通した教育を促進するプロジェクト・組織がある。MIT・Yele・Tuftsなどの大学は、オープンコンテントの学術分野利用の手法として教科書・参考資料・レッスンビデオ・チュートリアルなどを自由に利用できるよう公開している。そのような手法は機関全体の方針として採用したり、研究者個人や部署・部門の非公式なコンテンツとして提供したりする。
どんな国・政府でも自身の法律と法システムを持っており、立法府が制定した成文法や判例に基づく不文法が法律文書として存在している。法の支配を受けた国家では、法律文書はオープンコンテントとして公開されているが、一般には明確なライセンスが課せられているわけではなく厳密には暗黙のライセンスで公開されている。いくつかの僅かな国家はでは、イギリス政府におけるCC-BY 4.0とライセンスの互換性があるOpen Government Licenceなど、法律文書は明確なオープンコンテントのライセンスが課せられている。他の多くの国家では、法律文書は政府を著作者として同国家の著作権法の下に適切に扱われる。ベルヌ条約による自動的な著作物の保護は法律文書には適用されず、第2.4条で公文書は著作物の保護から除外することが明文化されている。法律文章はライセンスを「継承」することも出来る。各国の法律文書類は、LexML Brasil・Legislation.gov.uk・EUR-Lexなど、各国のリポジトリを通じて利用可能である。一般に法律文書は一つ以上の正式版が存在するが、主に閲覧される文書は政府公報で公開されたものである。そのため、法律文書は最終的にはリポジトリまたはそれを含む政府公報が提示するライセンスを継承することが出来る。
オープンコンテント オープンライセンス
オープンライセンス（英: Open License）は、オープンコンテントの著作物をコピーライトの下に、その作品の作者の定める制約に従って利用者に利用・修正・再頒布を許可するライセンスの総称である。
オープンライセンスには、作品の利用制約の緩いパーミッシブ・ライセンスや、利用者の自由を広げるコピーレフト・ライセンスなどがある。オープンナレッジ・インターナショナルはオープンの定義においてオープンライセンスの単語を定義し、オープンライセンスとして適したライセンスの一覧を管理している。エリック・メーラーたちは自由文化作品の定義に準拠していると判断したライセンスのリストを管理している。
オープンライセンスはオープンソースライセンスと同様、ライセンスの互換性・ライセンスの氾濫・ライセンス感染の課題が存在し、ライセンスの策定および選択は注意深い検討が必要である。
オープンナレッジ・インターナショナルは数あるオープンライセンスの内で利用を推奨するライセンスを提示している。
オープンコンテント オープンライセンス
オープンライセンスには特定分野に特化したライセンスが存在する。
ソフトウェア分野ではソフトウェアのソースコードやソフトウェアの挙動について制約として細かく言及したオープンソースライセンスがある。メディア分野ではGNU GPL同等の制約を芸術作品に適用することを目的としてCopyleft Attitudeの策定したFree Art Licenseがある。ゲーム分野ではテーブルトークRPGのシナリオについて言及したウィザーズ・オブ・ザ・コーストの策定したOpen Game Licenseがある。政府資料・法律文書では政府のウェブサイトで頒布されるコンテンツをCC-BY 4.0と互換性のあるオープンコンテントの利用を許諾するライセンス・利用規約として、イギリス政府の
Open Government Licenceや日本政府の政府標準利用規約と公共データ利用規約がある。
Debian
Debian（発音: [ˈdɛbiən] デビアン）またはDebian ProjectはLinuxディストリビューションのひとつであるDebian GNU/Linuxを中心とするプロジェクトである。
GNUプロジェクトの精神の尊重と、同プロジェクトによるプロダクトの積極的な採用などが特徴である。システム全体を単にLinuxと呼ぶ事が多いのに対し、Debianでは「GNU/Linux」という呼称を積極的に使っている。呼称が分かれる経緯についてはGNU/Linux名称論争を参照。
Linuxディストリビューションの他、カーネル（核）をLinuxカーネルからGNU HurdやFreeBSDのカーネルに置き換えた、Debian GNU/HurdやDebian GNU/kFreeBSDなどがある。
Debian 概要
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などで取得できる。さらに、インストーラーをオンライン再販業者から購入する事も可能である。
Debian 歴史
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 歴史
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 歴史
この時期、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年破産を宣告されている。
Debian 歴史
2002年7月、Debian 3.0 （コードネーム: woody）が公開された。（遡ることver.1.1から、Debianは公開の際に映画トイ・ストーリーのキャラクター名をコードネームとして採用し現在に至る。）
3.0(woody)公開後、次期版3.1(sarge)まで、およそ3年という長期に渡る空白期間が存在する。主な理由として、potatoからwoody以後にかけて、パッケージ数が2倍程に増加、またwoodyでの対応環境も増加したため、公開直後からこれに伴うバグが飛躍的に増大した点がある。とりわけリリースクリティカルバグが事実上すべて解消されない限り公開できないため、公開日程に多大なる影響を与えた。パッケージメンテナのバグに対する考え方は温度差があり、たとえば特定の言語のみ発生するバグならば、そのメンテナがバグ対象の言語圏でも無い限りバグを修正することに対する意欲を持つことは少ない。コミュニティによるボランティアを作業基盤とするDebian特有の問題とも言える。
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上で動作しないことが多いことを挙げている。Murdockは、Ubuntuが本当にDebianと互換性があった場合、開発のための作業のエネルギーの全てをSargeに向けられる可能性があり、それが本当に全体として見た場合、Debianの開発システムに利益をもたらすと主張している。したがって、当時のこうした混乱状況がsargeの開発をさらに遅らせることになったといえる。
Debian 歴史
その後、Debianから派生したUbuntuは多数の常勤の開発者によって開発されるところとなり、次第に影響力を増していった。しかし、ブラジル人のDebian開発者、Otavio Salvador は、「「ユーザはUbuntuを信用しているが、ユーザには安定したパッケージを提供する必要がある」 という考えにUbuntuがコミット (バージョン管理)しているかどうか、確信が持てない。」と述べている。また彼は、Shuttleworth個人に対しても不信感を抱いており、露骨に「言動が一致していない」と非難し、「品質対公開日程の問題で溝が深まったことでUbuntuとDebianの関係はひどいものになっている。」と語っている。このように、Ubuntuに対する評価は分かれている。
Debianのstable開発の長期化と派生であるUbuntuの誕生は、Debianコミュニティに対する意識を変化させ、Debian 4.0(コードネーム: etch)以降の版に対しての公開日程を含むいくつかの改善をもたらしたのは確かである。2011年現在では両コミュニティにおいて、バグ修正の取扱いなど相互交流もある。
Debian 歴史
2005年6月、Debian 3.1（コードネーム: sarge）が公開された。小規模な改良（バージョン番号が小数部の増加に留まる）にも関わらず、この正式版では数多くの変更が実施されたが、それは一つ前の版woodyからsarge公開までの期間が長かったことが原因である。この版では70％以上のソフトウェアが更新の対象となっただけではなく、ソフトウェアの容量も増加した。新規のインストーラーが導入され、40ヶ国語にも及ぶ言語に対応するようになった。
このリリースでは、woody以前のインストーラである、"boot-floppies"をDebianインストーラと呼ばれるモジュラー設計の新しいインストーラで置き換えた。この新しいインストーラは高度な導入方法に対応しており、RAID、XFS そしてLVMにも対応している。またハードウェア検知能力に優れるため、Linuxのインストールに不慣れな者でもインストールできるようになっている。インストーラは約40ヶ国の言語で完全なソフトウェアレベルでの国際化を実現している。インストールマニュアルと包括的なリリースノートはそれぞれ10と15の言語に翻訳され公開されている。
Debian 歴史
このときの公開では、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の名称が使えなくなったことによる。
Debian 歴史
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の２つの環境に正式対応されることとなった。
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）が公開された。
Debian プロジェクトの組織構成
プロジェクトは、世界中の有志の開発者によって構成されている。プロジェクトには誰でも参加できるが、正規の開発者になるためには、技術的なチェックを受ける必要がある。2020年11月現在、1100名以上のメンバーがいる。日本人の開発者は40人ほどである。
プロジェクトの抱負として、Debian社会契約を掲げている。Debian社会契約は、プロジェクトが遵守すべき事項を定めたもので、1997年7月5日に採択された。その中のDebianフリーソフトウェアガイドライン (DFSG) は、Debianにおけるソフトウェア評価基準となっており、このガイドラインに適合しない、自由ではないと評価されたソフトウェアは、Debianの一部として提供されることはない。
プロジェクト内の意思決定はDebian憲章の下で行なわれる。Debian憲章は、組織構成やその権限、投票にかけるまでの手続きなどを定めたもので、1998年12月2日に採択された。
Debian プロジェクトの組織構成
このことから、Debianプロジェクトは独立した非中央集権的な組織である。また他のGNU/Linuxディストリビューション（例えば、Ubuntu、openSUSE、Fedora、そしてMandriva）のように企業が所有するものではない。 にも関わらず、プロジェクトの生産付加価値は極めて高く、Debian 4.0 (etch)版に含まれる全パッケージ開発コストを例にとると、コード総数2億8300万行、COCOMOモデル(en: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 プロジェクトの組織構成
毎年、Debianカンファレンス (通称DebConf) が開催される。Debianカンファレンスは、世界中のDebian開発者が直接会談する場で、2000年7月5日に初めて開催された。資金面などの多くの障害があるため、今のところ日本で開催されたことはないが、有志によって開催が検討されている。
Debianプロジェクトリーダー(Debian Project Leader; DPL)はプロジェクトの公的な代表者であり、プロジェクトの現在の方向性を決める立場にある。プロジェクトは次のリーダーを選出してきた:
補佐的な役職として、アンソニー・タウンズによりDebian Second in Charge (2IC; 副リーダー)が創設された。スティーブ・マッキンタイアーは2006年4月から翌2007年4月までこの役職に就いている。2009年4月からはLuk Claesがその地位にいる。現プロジェクトリーダー、ステファノ・ザッキローリは、2ICを選出しない旨DPL選挙の際に宣言していた。
注意すべきことに、上記リストにはアクティブな開発マネージャーのみ含まれている。2003年から導入された、開発アシスタント、そして引退したマネージャー("release wizards"と呼ばれる)はここには含まれていない。
Debian 保守の容易さ
Debianの特長として、保守の単純さがある。パッケージ管理システムを備えており、ひとたび導入が終了すれば、パッケージマネージャのAPT (Advanced Package Tool) により、ソフトウェアの更新が行える。パッケージの導入は、セキュリティ関連の更新やプログラム相互の依存性確認も含めて、仮想端末（コンソール）より容易に操作できる。
パッケージの依存関係には、大きく分けて、depends（依存）、recommends（推奨）、suggests（提案） という3種類の項目が設定されており、動作に必須なものがdepends、動作に必須ではないが常識的に必要とするものがrecommends、組み合わせる事で更に便利に使えるものがsuggestsに指定されている。lenny以前では、apt-getは、depends以外の項目を上手に扱えなかった。これらの項目を最大限生かす事ができるaptitudeの使用がSarge以降では勧められていた。Squeezeではこの点は改善された。さらに、自動削除に対応するようにも更新された。
APTには補助的機能を追加するフロントエンドが数多く提供されており、以下ではaptitudeを含めた幾つかのフロントエンドを紹介する。
Debian 保守の容易さ
扱いやすいユーザーインターフェイスは複数存在する。
一般的に良く知られる代表としては、Debianだけでなく RPM系のディストリビューションでも使われている Synaptic（シナプティック）がある。Synapticは、apt-getコマンドを使用せずにシステムの更新が全てマウスで直感的に行えるだけでなく、ソフトウェアの削除機能も備えている。
「apt-watch（アプト-ウォッチ）」は、デスクトップで使用するユーザーにとって、アップデートの公開を直ちに通知してくれるアプレットとして極めて有効なツールである。apt-watch は、より簡易にパッケージの管理を実現するツールとして開発されたアプリケーションである。これは、ネットワークに接続し、アップデータを定期的に監視するアプレットであり、アップデータが利用可能となった時には、クライアントに自動的に更新の通知を行う。Windows Updatesや Red Hat Network と同様な機能を持っている。
Debian 保守の容易さ
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 保守の容易さ
Debian 4.0 では、グラフィカルなパッケージ・インストーラーが新たに提供された。このインストーラーを利用すれば、ローカルに保存した Debianパッケージがコマンド操作なしでインストール可能である。Red Hat Linux で初めて採用された GNOME-RPM (あるいは gnorpm とも) というグラフィカルなインストーラーと好対照を成すツールであるが、GNOME-RPM がシェルプロンプトから RPMコマンドを実行するのと同じ機能を有するのに留まるのとは違い、gdebi は APTのようにパッケージ間の依存関係を自動的に解決する機能も併せ持っている点でより優れている。GDebi とも表記される。
パッケージ管理にはdebconfと呼ばれるフレームワークが用意されており、パッケージ作成者はユーザーに対して簡易のフロントエンドを提供できる。このフレームワークを積極的に利用しているパッケージでは、インストール後にユーザーが行うであろう初期設定の大半を、対話形式の質問に答えていくだけで、インストールと同時に終える事ができる。debconfパッケージ自身もdebconfの設定を有しており、利用するフロントエンドインターフェースと優先度を設定できる。debconfのインターフェースは、対話形式のものから、非対話形式（質問なしで自動設定）なもの、キャラクタベースなものから、グラフィカルなもの、または設定ファイルを直接書き換える用途で使用するエディタまで、ユーザーが自由に選択可能である。優先度はパッケージの各質問毎に設定されており、ユーザが介在しないとシステムが動作しなくなる高レベルのものから、標準で問題ないような些細なものまである。（システムに不慣れなユーザのため）ある優先度より低い設定をすべて標準で済ませ、それらを一切質問させないことも可能である。
Debian 種類
公開は、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）が更新されることがほとんどである。
安定版に含まれるソフトウェアは上述のとおりメジャー/マイナーバージョンアップされることが滅多にないが、テスト版や不安定版のパッケージを安定版向けにリビルドし、backportsパッケージとして提供されているソフトウェアが一部存在する。これにより、新版のソフトウェアをソースコンパイルすることなく、パッケージ管理下で使用することが可能になる。
Debian 種類
不定期に新しいリビジョンが公開される。この公開版はそれまでの更新を包含して提供される小規模バージョンアップデートであり、構成を変えるものではない。8.0、8.1、8.2に対して8.3公開時までの全ての更新を適用すると、8.3と同じものになる。
リビジョンは下記の形式で示される。
4.0（etch）以前: バージョン番号の末尾の"rN"表記（N = 0, 1, 2, ...）。例えば、3.1版4回目のアップデートは、3.1r3。
5.0（lenny）以降: バージョン番号の小数第二位の値。例えば、5.0版4回目のアップデートは、5.0.4。
7.0（wheezy）以降: バージョン番号の小数第一位の値。例えば、7.0版4回目のアップデートは、7.4。
次の安定版が公開されると、それまでの安定版は一般に「旧安定版」(oldstable) と呼ばれて区別される。
セキュリティアップデートは、次の安定版が公開された後も、そのまま一年間は継続して提供される。
6.0（squeeze）以降は、旧安定版のLTS（Long Term Support）が実施されるようになった。Debian LTS teamによって、安定版としての最初の公開日から少なくとも5年後までセキュリティサポートが提供される。
Debian 種類
テスト版 (testing)：次期の安定版となる公開テスト中の版である。次に説明する不安定版で一定期間致命的なバグが発見されなかったパッケージが、自動的にテスト版に組み入れられる。
デスクトップなどで使う分には支障のない程度の安定度を持っていると言われ、最新のデスクトップを使いたい場合は、このテスト版を使うことが多いようである。だがパッケージ更新が機械的に行なわれるため、依存関係が壊れやすい。
公開が近付くと段階的に固定され、この自動処理が止められる。すべてのRCバグ (Release Critical Bug。安定版として致命的なバグ) が無くなったとき、テスト版は安定版として公開される。
テスト版が安定版として公開される時期が近付くとセキュリティアップデートの提供が始まる。それ以前は提供されない。だが、2005年9月より、Debian開発者の有志らがDebian Testing Security Teamを結成し、非公式な形でテスト版向けのセキュリティアップデートを提供している。
Debian 種類
不安定版 (unstable)：これは、開発者向けの版である。コードネームは不変で「sid」と呼ばれる。
通常新規パッケージはこの版に投入される。セキュリティのアップデートは提供されないが、パッケージの更新サイクルが早いため、セキュリティの問題も比較的早く取り除かれる。またテスト版とは違い、DSA (Debian Security Advisory) によってどのバージョンから当該セキュリティホールが塞がれているか告知される。
Debianのコードネームは、ディズニー配給の映画「トイ・ストーリー」のキャラクタから取られている。これは、過去にDebianのプロジェクトリーダーを務めたブルース・ペレンズが、トイ・ストーリーを製作したピクサー・アニメーション・スタジオの社員であったためである。
Debian 公開/開発履歴
A  Linuxカーネルの11アーキテクチャ + ARMアーキテクチャにおける追加のABI (armel) に対応している。
B  Linuxカーネルの9つのアーキテクチャ + FreeBSDカーネル（i386、amd64の2アーキテクチャのみ）に対応していることを示す。
Debian ロゴ
Debian の「スワール」マーク（意匠）は 1999 年に Raul Silva によって考案された。これはその年に開催されたコンテスト用のものであって、それ以前に使われていた準公式のマークに替わるものとしてデザインされた。 このコンテストの勝者に対して、@debian.org のメールアドレスと、希望するアーキテクチャ用の Debian 2.1 インストール CD のセットが贈られた。マークの意味について Debian プロジェクトから公式な声明は出ていなかったが、 このマークが選ばれた時点では、これはコンピュータを動作させる魔法の煙 (または精霊) を表していることがほのめかされた。
Debian のこのマークの由来については、最初に命名された Debian のキャラクターとして選ばれた バズ・ライトイヤー(Buzz Lightyear)のあごに渦巻きがあるからだという説がある。Stefano Zacchiroli も、この渦巻きが Debian のものであると示唆している。Debian のコードネームはトイ・ストーリーのキャラクターの名前を付けているので、 バズ・ライトイヤーのスワールが候補となった可能性が高いと思われる。Debian 開発者の Bruce Perens も Pixar の元で働いていた。
Debian 必要環境
Debianでは、以下のような環境に対応したバイナリ版を作成している。括弧内はプロジェクトでの呼称である。
以下の環境はかつて対応されていたが、現在では公式には対応されていない（一部の環境では非公式な対応が存在する）。
Linuxカーネル以外をカーネルとするものもある。名称の通り、ユーザーランドはGNUの成果物に依存している。
まだ正式公開されていない上記以外の環境やカーネル版もいくつかある。
アーキテクチャ
カーネル
Debian Debian派生のディストリビューション
Debian プロジェクトは派生ディストリビューションの重要性を完全に認めており、関係者間の協力を活発に支援している。通常これは、当初派生ディストリビューションで開発されていた改善を Debian が取り込むことを意味する。こうすることで、誰もが恩恵を受けることができ、長期におよぶ保守作業を減らすことになる。
このため、派生ディストリビューションは debian-derivatives@lists.debian.org メーリングリストの議論に参加し、派生物調査に参加するよう勧められている。派生物調査は、派生ディストリビューションの中でなされた作業に関する情報を集めることを目標にしている。こうすることで、公式の Debian 開発者が Debian 派生物内の自分のパッケージの状況をより良く追跡することが可能になる。
Debianテスト版の派生品一覧に掲載。
Ubuntu派生品一覧に掲載。
ここでは割愛し、詳細はUbuntu#派生品に記述。
Debian安定版の派生品一覧に掲載。
MEPISの派生品一覧に掲載。
KNOPPIXの派生品一覧に掲載。
上記のようにDebianはいくつかのディストリビューションの母体として利用されている。Debianの派生品一覧に非掲載であるものの、以下もその一部である。
なお、Ubuntuの派生版や、他言語版を含めWikipediaに記事が存在しないものは掲載しない。
プログラミング
プログラミング（英語: programming）とは、コンピュータのプログラムを作成することである。
プログラミング 概説
通常、プログラムを設計し、それをプログラミング言語によって記述し、期待どおりに動くかテストを行い、誤り（バグ）を発見し、プログラムの修正を行うことまで含めていう。
高水準のプログラミング言語が作られる以前は全て、バイナリ（2進数）の機械語で書いたり、あるいは命令を数文字のアルファベットで表記したニーモニックで書いてそれを手作業でバイナリに変換するということが行われていた。現在では機械語やニーモニックでプログラミングが行われることは減ったが、ハードウェア寄りの部分（そして性能に大きく影響するきわめて重要な部分）では機械語やニーモニックでプログラミングが行われている。
プログラミング関連のタスクを、アルゴリズムの作成、アルゴリズムの正確さやリソースの消費量の評価、選択したプログラミング言語でのアルゴリズムの実装などと捉える方法がある（これは一般にコーディング（英語:coding）と呼ばれる）。
ハードウェア開発と対比してソフトウェア開発とも呼ばれる。
プログラミング関連の作業には、テスト、デバッグ、ソースコードのメンテナンス、ビルドシステムの構築、生成されたアーティファクト（機械語コードなど）の管理などがある。これらの作業も広義のプログラミングの一部と考えられる。
プログラミングを行う人をプログラマやソフトウェア開発者という。
プログラミング 歴史
前史
1801年に開発されたジャカード織機がプログラマブルな機械の起源とされることが多い。この機械は、穴を開けた一連の厚紙（パンチカードの原型）を使った。穴の配列が布を織る際の経糸（たていと）のパターンに対応している。従って、カードを入れ替えることで全く異なる模様の布を織ることができた。
なお"最古のプログラマブルな機械"と呼んでよいかも知れないものは、1206年にアル＝ジャザリが作った二足歩行ロボットとも言われている。アル・ジャザリのロボットは、ボートに4体の演奏人形が乗ったもので、宮廷のパーティで池に浮かべて音楽を演奏したと言われている。プログラムはカムにあり、それによって小さなてこを押して、打楽器を演奏する。カムは実際には円筒にペグが突き刺された形であり、このペグの配置でプログラミングし、演奏パターンを変更した。
解析機関とアルゴリズム
ジャカード織機とパンチカードが広まったことが、計算機を進化させる上で大きなヒントになった。
1830年ごろには、チャールズ・バベッジがパンチカードを使った解析機関を考案した。
Luigi Menabreaの論文の最後には、解析機関の処理のために設計された最初のアルゴリズムについて書かれたエイダ・ラブレスのメモが記載されている。彼女は "史上初のコンピュータプログラマ" と考えられている。
プラグボード式
プログラミング 歴史
このような先駆者の発明をさらに発展させたのがハーマン・ホレリスであり、1896年にタビュレイティング・マシン・カンパニー（Tabulating Machine Company、後のIBM） を設立した。彼はホレリス式パンチカード、タビュレーティングマシン、キーパンチ機などを発明した。これらの発明が情報処理産業の基礎となったのである。
1906年には、タビュレーティングマシンにプラグボードを追加することで、配線を組み替えて様々な仕事ができるようになった。これがプログラミングへの第一歩となった。1940年代には、プラグボードで配線を変更することで動作を変更できる電子的装置が登場し、初期のコンピュータにもプラグボードで動作を決めるものがあった。
プログラム記憶方式
プログラミング 歴史
1944年8月にジョン・モークリーとジョン・プレスパー・エッカートが、（当時開発中のENIACの設計を参考にしつつも）新たに高速な遅延記憶装置を使うコンピュータの開発を提案。これは記憶装置を持ちプログラムを記憶できプログラミングが可能なコンピュータで、これが大きな転換点となった。1946年4月に弾道研究所と開発契約が締結され名前はEDVACに決まった。命令語長が44 ビット。命令部（オペコード部）は最初の 4 ビットで、どの操作（加算、減算、乗算など）を実行するかを指定する。残りの 40 ビットはアドレス部で、4つのアドレスを表現するフィールドに割り当てられている（各アドレス 10 ビットずつ）。オペコードの種類としては、基本は加算、減算、乗算、除算、比較、抽出、浮動小数点操作で、ほかにHALT（停止）に割り当てられる未使用命令もあり、最大で16種のオペコードが使える設計で、実際には12種が使われた。EDVACのプログラミングは紙とペンで行われた。紙の上で綿密に命令を設計し、それをバイナリコード（2進数）として記述。入力はそのバイナリコードのパンチカードを作成し読み込ませた。なお、モークリーやエッカートが発明したプログラミング可能なこのアーキテクチャを、そのプロジェクトにコンサルタントとして参加していたフォン・ノイマンがアカデミックな書式の文書にまとめ自分の名（ばかり）を署名して流布させた結果、本当の発明者2人の名が陰に入ってしまい、文書をまとめた人物のほうの名が広まり"ノイマン型" と呼ばれるようになった。
プログラミング 歴史
紙とペンを使い2進数機械語のコードを並べて行い、入力方法としては穿孔カードや鑽孔テープが利用された他、スイッチなどで直接入力したが、機械語の命令は0と1が大量に並び、人間には直感的には意味が不明で、かなり扱いづらく、書き写しのミスも発生しがちでストレスが大きい。
オーダーコード式
なお、EDVACの組み立てがもたつき1951年までかかる間に、EDSACの組み立てがEDVACを追い抜き1949年に完成したが、EDSACではモーリス・ウィルクスらが機械語（バイナリ）の代わりにアルファベットを2~3文字を使い表現することをやり始め、バイナリより理解しやすくなった。これはOrder Codeオーダーコードと呼ばれた。（これがニーモニックやアセンブリ言語の起源となった）
ニーモニックとアセンブラによるプログラミングの源流
プログラミング 歴史
1951年の前半にナサニエル・ロチェスター（Nathaniel Rochester）がIBM 701用に、アルファベット数文字で略記した命令の一式を作成し、それを機械語に変換するためのプログラムも作成した。これのおかげで、略語表記の命令と数値やアドレスを並べてコンピュータのプログラミングができるようになった。これがアセンブラの源流であり、ロチェスターは "世界初のアセンブラを設計・実装した人物" とされている。
IBM 701のニーモニックは次のようなものだったとされる。ニーモニック、ニーモニックのもとの英語表現、説明の順に示す。
上はニーモニックの一部。IBM 701は設計上、32種（後期には33種）の機械語命令を持っていたので、ニーモニックも30種前後用意したと言われている。そして何度か改良され、時期により若干異なるとされる。IBM 701のニーモニックの多くが、その後のニーモニックの原型になった。
ニーモニックによるプログラミングの定着
おおむね次のようなニーモニックが定着することになった。ニーモニック、ニーモニックのもとの英語表現、説明の順に示す。
そして例えば次のように書かれた。
LDA 1000
ADD 1001
STA 1002
プログラミング 歴史
ニーモニックによるアセンブリ言語のおかげで、プログラマは、難読ながらも慣れれば一応意味が理解できる形で記述できるようになり、ニーモニックなら編集するのも書き写すのもかなり容易になった。ただし、機械語が異なる新しいコンピュータを開発した場合、最初はアセンブラが存在しないので、アセンブリ言語でプログラミングをしてもコンピュータに入力する直前の段階で、ニーモニック→バイナリの対照表を使って、手作業で紙とペンを使いバイナリへと変換しなければならなかった。
最初の高水準言語 FORTRANによるプログラミング
プログラミング 歴史
ニーモニックでの開発はバイナリで開発するよりはマシになったものの、まだまだ効率が悪かった。普通の人々が使う数式とはかけ離れた命令を羅列しなければならなく、効率が悪かった。当時、コンピュータで科学技術（物理、工学、核研究など）の計算を大量に行う必要があったが、ニーモニックでのプログラミングは効率が悪く、人件費や開発期間が膨大で、プログラマのストレスも大きかった。IBMのエンジニアたちは、「もっと人間にとって分かりやすい効率的な言語が必要だ」「普段使っている数式（formula）で命令を書きたい」「人間が普段使う言葉（英単語）で命令を記述したい」と考えるようになった。そして1957年にIBMのジョン・バッカス（John Backus）率いるチームによりFORTRANが開発された。FORTRANの名称は「FORmula TRANslation」（" 数式 翻訳 "）の略で、この名称に彼らの最大の目的がはっきりと表明されている。FORTRANが作られた主要な目的は下記のようなものだった。
それにより同時に次のことも実現する。
FORTRANではたとえばA, B, Cという3つの数の平均を求める式は次のように書けるようになった。
REAL A, B, C, AVG
A = 5.0
B = 7.2
C = 9.5
AVG = (A + B + C) / 3.0
プログラミング 歴史
「(A + B + C) / 3.0」と普通の数式で記述できることが革命的だった。
FORTRANでは変数の型名に続けて変数名を書けば変数を宣言できるようになった。REALは実数を意味する英単語で、「REAL A, B, C, AVG」と書けば実数型の変数 A, B, C, AVG　計4つの宣言。 変数に値を入れることは、=（イコール）で表現し、右辺の計算結果の値を左辺の変数に入れる命令と定めた。
1978年にリリースされたFORTRAN 77ではIF文が導入され、if...then ○○○（もし....なら○○○せよ）と、ますます英語風に書けるようになった。たとえば任意の数を入力させ正、負、ゼロを判定するプログラムは次のように書ける。
REAL X
PRINT *, 'Enter a number:'
READ *, X
IF (X > 0.0) THEN
　PRINT *, 'The number is positive.'
ELSE IF (X < 0.0) THEN
　PRINT *, 'The number is negative.'
ELSE
 　PRINT *, 'The number is zero.'
END IF
高水準言語によるプログラミングの一般化
プログラミング 歴史
FORTRANの初版が1957年にリリースされた数年後の1959年ころには、アメリカ国防総省やCODASYL（コーダシル）が主導する形で会計計算を得意とするCOBOLが開発され、その後もさまざまな言語が開発されてゆくことになった。FORTRANのプログラムの記述（あるいは「ソース」）はコンパイラと呼ばれる特別なプログラムで機械語に変換されるが、プログラムの入力は依然としてパンチカードやさん孔テープで行われていた。
1960年代後半、記憶装置や端末の価格が低下してきたことにより、キーボードから直接コンピュータにプログラムを入力できるようになってきた。また同じ頃、コンピュータによる処理対象のデータとしての文書についてもコンピュータを利用して編集されるようになり最初はラインエディタ、続いてスクリーンエディタといった、テキストエディタが開発され、それらによってソースコードがコンピュータ上で編集されるようになった。
インタプリタ方式
ところで1958年のLISPの初期版や1964年のBASICなど、インタープリタ方式で、つまりコンパイラを使わず対話方式でプログラミングし即実行できる言語も増えていった。
マイクロコンピュータでのプログラミング