|
GNU(グニュー、グヌー、〔)とはオペレーティングシステム〔 〕〔 〕〔 〕 であり、かつコンピュータソフトウェアの広範囲に渡るコレクションである。GNUは完全にフリーソフトウェアから構成されている〔。 ''GNU''は''"GNU's Not Unix!"''(「GNUはUNIXではない」)の再帰的頭字語である。この名称が選ばれたのは、GNUはUnix系の設計ではあるがUNIXとは違いフリーソフトウェアでありUNIXに由来するソースコードを全く使っていないことを示すためである。GNUの正式な発音は「グニュー」または「グヌー」である。一般的な英語では、gnuは「ヌー」と発音し、ウシカモシカまたはヌーと呼ばれる動物をさす言葉である。GNUプロジェクトは自らの名称を「it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.」と呼ぶよう要請している。 GNUプロジェクトには、元々フリーソフトウェア財団が焦点を当てていたオペレーティングシステムのカーネルであるGNU Hurdが含まれている〔〔Vaughan-Nichols, Steven J. "Opinion: The top 10 operating system stinkers ", ', April 9, 2009: "…after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."〕〔Lessig, Lawrence. ''The Future of Ideas: The Fate of the Commons in a Connected World'', p. 54. Random House, 2001. ISBN 978-0-375-50578-2. About Stallman: "He had mixed all of the ingredients needed for an operating system to function, but he was missing the core."〕。しかしながらGNU Hurd以外のカーネルもGNUソフトウェアと共に利用できる。そのようなカーネルとして最も有名なものはLinuxカーネルである。GNUのカーネルにLinuxカーネルを用いるのが一般的な理由は、GNUのカーネルがGNUの中で最も成熟していない部分のためである。GNUソフトウェアとLinuxカーネルを組み合わせたものが一般的に知られるLinuxである(あまり一般的ではないがGNU/Linuxと呼ばれることがある。この呼称についてはGNU/Linux名称論争を参照すること)。 GNUには人間が容易にコンピュータにインストールして利用可能な完全なオペレーティングシステムとするためのコンポーネントである、完全な機能を持ったカーネルが未だに欠けたままである。実際には、使用可能なGNUベースオペレーティングシステムのほとんどがLinuxディストリビューションである。LinuxディストリビューションにはLinuxカーネル、GNUコンポーネント、およびGNUプロジェクト以外のフリーソフトウェアプロジェクトによるソフトウェアが多く含まれている。 プロジェクトの創設者であるリチャード・ストールマンは、GNUを「社会的目的のための技術的手段」として考えている〔.〕。, April 9, 2009: "…after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."〕〔Lessig, Lawrence. ''The Future of Ideas: The Fate of the Commons in a Connected World'', p. 54. Random House, 2001. ISBN 978-0-375-50578-2. About Stallman: "He had mixed all of the ingredients needed for an operating system to function, but he was missing the core."〕。しかしながらGNU Hurd以外のカーネルもGNUソフトウェアと共に利用できる。そのようなカーネルとして最も有名なものはLinuxカーネルである。GNUのカーネルにLinuxカーネルを用いるのが一般的な理由は、GNUのカーネルがGNUの中で最も成熟していない部分のためである。GNUソフトウェアとLinuxカーネルを組み合わせたものが一般的に知られるLinuxである(あまり一般的ではないがGNU/Linuxと呼ばれることがある。この呼称についてはGNU/Linux名称論争を参照すること)。 GNUには人間が容易にコンピュータにインストールして利用可能な完全なオペレーティングシステムとするためのコンポーネントである、完全な機能を持ったカーネルが未だに欠けたままである。実際には、使用可能なGNUベースオペレーティングシステムのほとんどがLinuxディストリビューションである。LinuxディストリビューションにはLinuxカーネル、GNUコンポーネント、およびGNUプロジェクト以外のフリーソフトウェアプロジェクトによるソフトウェアが多く含まれている。 プロジェクトの創設者であるリチャード・ストールマンは、GNUを「社会的目的のための技術的手段」として考えている〔.〕。 == 歴史 == GNUオペレーティングシステムの開発はマサチューセッツ工科大学 (MIT) 人工知能研究所でリチャード・ストールマンによりGNUプロジェクトとして開始され、1983年9月27日にnet.unix-wizardsおよびnet.usoftというニュースグループで彼が公式に発表した。ソフトウェア開発が始まったのは1984年1月5日であり、この日はそれまでストールマンが勤務していたMIT人工知能研究所が、GNUの所有権を主張することやフリーソフトウェアとしての配布へ干渉することを阻止するために彼が同研究所を辞めた日でもある。ストールマンが選んだGNUという名称には様々な言葉遊びが含まれており、その中には'という歌も含まれている。 GNUの目標は、完全にフリーソフトウェアで構成されるオペレーティングシステムを実現することであった。ストールマンは1960年代や1970年代のコンピュータユーザーのように、ユーザーを自由にしたいと考えていた。その自由とは、使っているソフトウェアのソースコードを使って研究できる自由であり、ソフトウェアを他の人々と共有できる自由であり、ソフトウェアを修正できる自由であり、修正版を配布できる自由である。この哲学は後にGNU宣言として1985年3月に公表された〔。 GNU宣言の中でストールマンは「基本的カーネルは存在するが、Unixをエミュレートするにはより多くの機能が必要だ」としている。ここでストールマンが想定したカーネルは、マサチューセッツ工科大学が開発したRPC型カーネルである。これは作者がフリーソフトウェアとして配布しており、Version 7 Unixと互換性があった。そして1986年12月、開発者らはこのカーネルに修正を加える作業を開始しようとした。しかし、開発者らはこれが出発点としてはふさわしくないと判断した。何故ならTRIXは「不明確で高価な68000マシン」でしか動作せず、使用するにはまず他のアーキテクチャへの移植が必須だったからである。 ストールマンはIncompatible Timesharing System (ITS) に関わっていた。ITSはPDP-10コンピュータアーキテクチャ用にアセンブリ言語で書かれた初期のオペレーティングシステムだが、PDP-10自体が開発・製造されなくなったために消えていった。このためストールマンは移植性のあるソフトウェアが必要だと考えていた〔。そのため、GNUの開発にはシステムプログラミング言語としてCとLISPを使用し、さらにGNUをUNIX互換にする決定がなされた。当時UNIXは既にプロプライエタリなオペレーティングシステムとして広く使われていた。UNIXの設計はモジュール性が高く、部分ごとに再実装することが可能だった〔。 GNUに必要なソフトウェアの大部分は一から書かれたが、TeX組版システムやX Window System〔、さらにMachマイクロカーネルといった共有可能なサードパーティーフリーソフトウェアコンポーネントは既存のものを流用した。なおMachは(GNUの公式カーネルである)GNU Hurdの、GNU Machコアの基礎を形成している。前述したサードパーティーコンポーネントを除くGNUのコードの大部分はボランティアが書いたものであり、具体的には個人が余暇時間内や会社の業務内で書いた部分、および教育機関や非営利団体が書いた部分で構成されている。1985年10月、ストールマンはフリーソフトウェア財団 (FSF) を創設した。1980年代後半から1990年代にはFSFがソフトウェア開発者を雇い、GNUで必要となるソフトウェア作成を行わせた。 GNUプロジェクトの初期の計画では、BSD 4.4-Liteのカーネルを採用することになっていた。しかし、バークレーのプログラマの協力が得られなかったため、ストールマンは1988年にカーネギーメロン大学が開発したMachカーネルを採用することにした。ただし、MachにはAT&T由来のコードが使われていたため、それを取り除いてフリーソフトウェアとして使えるようになったのは1990年である。HurdのアーキテクトだったThomas Bushnellは後に、BSDカーネルの採用を見送ったことでプロジェクトは大きく後退しており、そういう意味でもBSDカーネルを採用すべきだったと述べている。 カーネルの設計は、GNUの中でもUNIXから最も大きく異なる部分である。GNUのカーネルはマルチサーバ型マイクロカーネルであり、従来のUNIXカーネルの持つ機能をサーバと呼ばれる複数のプログラムで構成している。Machのマイクロカーネルは非常に低レベルのカーネル機能しか提供していないため、GNUプロジェクトではカーネルの上位レベルの部分を一種のユーザープログラムの集合体として開発しなければならなかった。この集合体を当初Alixと呼んでいたが、Thomas BushnellはHurdと呼ぶことを好み、Alixの名はそのサブコンポーネントに移され、最終的には使われなくなった〔About the GNU Project - GNU Project - Free Software Foundation (FSF) 〕。その後、Hurdの開発は技術的問題がいくつも発生し、なかなか進展しない状況になった。 GNUが有名になるにつれて、GNUに興味を持つ企業が現れはじめた。それらの企業は開発援助をしたり、GNUのソフトウェアや技術サポートを組み合わせて商売するようになっていった。その中で最も成功した企業としてはシグナスソリューションズが知られている〔(同社は現在、レッドハットの一部となっている〔Red Hat buys software firm, shuffles CEO - CNET News 〕)。 1992年、最重要コンポーネントであるカーネルのGNU Hurdを除く全てのコンポーネントが完成した。1991年にはリーナス・トーバルズが独自にLinuxカーネルの開発を始めており、1992年にはLinuxのバージョン0.12がGNU General Public Licenseライセンスでリリースされ、この最後の空白を埋めた。LinuxとGNUを組み合わせることで、世界初の完全にフリーソフトウェアで構成されたオペレーティングシステムとなった。LinuxカーネルはGNUプロジェクトの一部ではないが、その開発にはGCCなどのGNU製プログラミングツールが使われている〔What would you like to see most in minix? Linus Benedict Torvalds (Aug 26 1991, 2:12 am) - comp.os.minix | Google Groups〕。 2002年にストールマンはGNU/Hurdのリリースについて楽観的声明を発表したが、開発は2016年現在も続いている。Hurdの最新リリースはバージョン0.7である。動作はそれなりに安定しており、重要なアプリケーションを使うのでなければ十分使えるレベルである。という歌も含まれている。 GNUの目標は、完全にフリーソフトウェアで構成されるオペレーティングシステムを実現することであった。ストールマンは1960年代や1970年代のコンピュータユーザーのように、ユーザーを自由にしたいと考えていた。その自由とは、使っているソフトウェアのソースコードを使って研究できる自由であり、ソフトウェアを他の人々と共有できる自由であり、ソフトウェアを修正できる自由であり、修正版を配布できる自由である。この哲学は後にGNU宣言として1985年3月に公表された〔。 GNU宣言の中でストールマンは「基本的カーネルは存在するが、Unixをエミュレートするにはより多くの機能が必要だ」としている。ここでストールマンが想定したカーネルは、マサチューセッツ工科大学が開発したRPC型カーネルである。これは作者がフリーソフトウェアとして配布しており、Version 7 Unixと互換性があった。そして1986年12月、開発者らはこのカーネルに修正を加える作業を開始しようとした。しかし、開発者らはこれが出発点としてはふさわしくないと判断した。何故ならTRIXは「不明確で高価な68000マシン」でしか動作せず、使用するにはまず他のアーキテクチャへの移植が必須だったからである。 ストールマンはIncompatible Timesharing System (ITS) に関わっていた。ITSはPDP-10コンピュータアーキテクチャ用にアセンブリ言語で書かれた初期のオペレーティングシステムだが、PDP-10自体が開発・製造されなくなったために消えていった。このためストールマンは移植性のあるソフトウェアが必要だと考えていた〔。そのため、GNUの開発にはシステムプログラミング言語としてCとLISPを使用し、さらにGNUをUNIX互換にする決定がなされた。当時UNIXは既にプロプライエタリなオペレーティングシステムとして広く使われていた。UNIXの設計はモジュール性が高く、部分ごとに再実装することが可能だった〔。 GNUに必要なソフトウェアの大部分は一から書かれたが、TeX組版システムやX Window System〔、さらにMachマイクロカーネルといった共有可能なサードパーティーフリーソフトウェアコンポーネントは既存のものを流用した。なおMachは(GNUの公式カーネルである)GNU Hurdの、GNU Machコアの基礎を形成している。前述したサードパーティーコンポーネントを除くGNUのコードの大部分はボランティアが書いたものであり、具体的には個人が余暇時間内や会社の業務内で書いた部分、および教育機関や非営利団体が書いた部分で構成されている。1985年10月、ストールマンはフリーソフトウェア財団 (FSF) を創設した。1980年代後半から1990年代にはFSFがソフトウェア開発者を雇い、GNUで必要となるソフトウェア作成を行わせた。 GNUプロジェクトの初期の計画では、BSD 4.4-Liteのカーネルを採用することになっていた。しかし、バークレーのプログラマの協力が得られなかったため、ストールマンは1988年にカーネギーメロン大学が開発したMachカーネルを採用することにした。ただし、MachにはAT&T由来のコードが使われていたため、それを取り除いてフリーソフトウェアとして使えるようになったのは1990年である。HurdのアーキテクトだったThomas Bushnellは後に、BSDカーネルの採用を見送ったことでプロジェクトは大きく後退しており、そういう意味でもBSDカーネルを採用すべきだったと述べている。 カーネルの設計は、GNUの中でもUNIXから最も大きく異なる部分である。GNUのカーネルはマルチサーバ型マイクロカーネルであり、従来のUNIXカーネルの持つ機能をサーバと呼ばれる複数のプログラムで構成している。Machのマイクロカーネルは非常に低レベルのカーネル機能しか提供していないため、GNUプロジェクトではカーネルの上位レベルの部分を一種のユーザープログラムの集合体として開発しなければならなかった。この集合体を当初Alixと呼んでいたが、Thomas BushnellはHurdと呼ぶことを好み、Alixの名はそのサブコンポーネントに移され、最終的には使われなくなった〔About the GNU Project - GNU Project - Free Software Foundation (FSF) 〕。その後、Hurdの開発は技術的問題がいくつも発生し、なかなか進展しない状況になった。 GNUが有名になるにつれて、GNUに興味を持つ企業が現れはじめた。それらの企業は開発援助をしたり、GNUのソフトウェアや技術サポートを組み合わせて商売するようになっていった。その中で最も成功した企業としてはシグナスソリューションズが知られている〔(同社は現在、レッドハットの一部となっている〔Red Hat buys software firm, shuffles CEO - CNET News 〕)。 1992年、最重要コンポーネントであるカーネルのGNU Hurdを除く全てのコンポーネントが完成した。1991年にはリーナス・トーバルズが独自にLinuxカーネルの開発を始めており、1992年にはLinuxのバージョン0.12がGNU General Public Licenseライセンスでリリースされ、この最後の空白を埋めた。LinuxとGNUを組み合わせることで、世界初の完全にフリーソフトウェアで構成されたオペレーティングシステムとなった。LinuxカーネルはGNUプロジェクトの一部ではないが、その開発にはGCCなどのGNU製プログラミングツールが使われている〔What would you like to see most in minix? Linus Benedict Torvalds (Aug 26 1991, 2:12 am) - comp.os.minix | Google Groups〕。 2002年にストールマンはGNU/Hurdのリリースについて楽観的声明を発表したが、開発は2016年現在も続いている。Hurdの最新リリースはバージョン0.7である。動作はそれなりに安定しており、重要なアプリケーションを使うのでなければ十分使えるレベルである。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「GNU」の詳細全文を読む スポンサード リンク
|