summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/ja/linux-and-gnu.html
blob: 3bb71703983a74738f88264f8c4d55280f147518 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!--#set var="ENGLISH_PAGE" value="/gnu/linux-and-gnu.en.html" -->

<!--#include virtual="/server/header.ja.html" -->
<!-- Parent-Version: 1.90 -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>LinuxとGNU - GNU プロジェクト - フリーソフトウェアファウンデーション</title>
<meta http-equiv="Keywords" content="GNU, FSF, フリーソフトウェアファウンデーション, Linux, Emacs, GCC, Unix, 自由ソフトウェア,
オペレーティング・システム, GNUカーネル, HURD, GNU HURD, Hurd" />
<meta http-equiv="Description" content="1983年から、Unixスタイルの自由なオペレーティングシステムGNUを開発し、コンピュータの利用者が自らが使うソフトウェアを共有し改良する自由を有するよう、活動しています。" />

<!--#include virtual="/gnu/po/linux-and-gnu.translist" -->
<!--#include virtual="/server/banner.ja.html" -->
<h2>LinuxとGNUシステム</h2>

<p><strong><a href="http://www.stallman.org/">リチャード・ストールマン</a></strong>著</p>

<div class="announcement">
  <blockquote><p>さらに詳しい情報は<a href="/gnu/gnu-linux-faq.html">GNU/LinuxのFAQ</a> と <a
href="/gnu/why-gnu-linux.html">なんでGNU/Linux?</a>もご覧ください。</p>
  </blockquote>
</div>

<p>
多くのコンピュータ利用者は、毎日<a
href="/philosophy/categories.html#TheGNUsystem">GNUシステム</a>の変更版を使っていますが、気がついていません。ひょんなことから今日広く使われているGNUの版は、&ldquo;Linux&rdquo;としばしば呼ばれ、多くの利用者は、それが基本的には<a
href="/gnu/gnu-history.html">GNUプロジェクト</a>で開発されたGNUシステムであることを<a
href="/gnu/gnu-users-never-heard-of-gnu.html">知りません</a>。</p>

<p>
たしかに、Linuxというものは存在し、人びとはそれを使っています。ただし、それは単に使っているシステムの一部です。Linuxはカーネルです:
システムの中のプログラムで、ほかのプログラムの実行のためにマシンのリソースを割り当てます。カーネルは、オペレーティング・システムの重要な部分ですが、それだけでは役に立ちません。カーネルは完全なオペレーティング・システム全体のコンテクストで初めて機能します。Linuxは通常GNUオペレーティング・システムと組み合わせて使われます。システム全体は基本的にはGNUであり、それにLinuxが加えられたものです。いわゆる&ldquo;Linux&rdquo;ディストリビューションは、すべて、本当はGNU/Linuxのディストリビューションなのです。</p>

<p>
カーネルとしてのLinuxと、こちらもまた&ldquo;Linux&rdquo;と呼んでいるシステム全体との区別を、多くの利用者は、分かっていないのです。名称のあいまいな使い方は理解を促進しません。そのような利用者は、リーナス・トーバルズがオペレーティング・システム全体を1991年に少しの助けとともに開発したと、しばしば考えています。</p>

<p>
ふつう、プログラマたちはLinuxはカーネルであると知っています。しかし、システム全体もまた&ldquo;Linux&rdquo;と呼ばれていることをふつうに聞いているので、カーネルからシステム全体が名づけられるのにふさわしい歴史をしばしば想像してしまいます。たとえば、リーナス・トーバルズがカーネルLinuxを書き上げて、その利用者がLinuxと一緒に動く他の自由ソフトウェアを探し回ってみたところ、(どういうわけか)Unixライクなシステムを作るのに必要なものはすでにほぼすべてそろっていた、というようなことを多くは信じています。</p>

<p>
かれらが見つけたのは偶然の産物ではありません。それはまだ完全ではないGNUシステムだったのです。追加することで完全なシステムを構成するのに十分なだけの<a
href="/philosophy/free-sw.html">自由ソフトウェア</a>が入手可能だったのは、GNUプロジェクトが1984年以来、そうした完全なシステムを作るべく作業してきたからでした。<a
href="/gnu/manifesto.html">GNU宣言</a>によって、GNUと呼ばれる自由のUnixライクなシステムを開発するという目標が打ち出されました。また、GNUプロジェクトの<a
href="/gnu/initial-announcement.html">最初の声明</a>において、GNUシステムの原案の一部が概説されています。Linuxが開始されるまでに、GNUはほぼ完成していたのです。</p>

<p>
多くの自由ソフトウェアプロジェクトでは、ある特定の目的を持ったある特定のプログラムを開発するというのが目標になっています。たとえば、リーナス・トーバルズはUnixライクなカーネル(Linux)を書くことを目指していましたし、ドナルド・クヌースはテキストフォーマッタ(TeX)を書くことを目標にしていました。ボブ・シェイフラーはウィンドウシステム(Xウィンドウ・システム)の開発を目標にしました。プロジェクトからのある特定のプログラムによって、この種のプロジェクトの貢献を測るというのは自然なことです。</p>

<p>
もし、わたしたちがこのようなやり方でGNUプロジェクトの貢献を測ろうとすると、どういう結論に至るでしょうか。あるCD-ROM販売業者によると、かれらの「Linux
ディストリビューション」中では<a
href="/philosophy/categories.html#GNUsoftware">GNUソフトウェア</a>が全ソースコードの約28%という、単一の寄与としては最大で、またその中には、それ無しではシステムが成立しえない本質的かつ重要なコンポーネントが含まれていました。Linux自体は大体3%でした。(2008年において、割合は同様です。gNewSenseの&ldquo;main&rdquo;リポジトリ)で、Linuxは1.5%、GNUパッケージは15%です。)
ですから、誰がそのシステム内のプログラムを書いたかという判断基準でそのシステムの名前を一つ選ぶということであれば、もっともふさわしい選択は&ldquo;GNU&rdquo;ということになるでしょう。</p>

<p>
しかし、これは、この問題を深く考える方法ではないでしょう。GNUプロジェクトはなにか特定のソフトウェアパッケージを開発するプロジェクトではありませんでしたし、今もそうではありません。わたしたちはCコンパイラを開発しましたが、GNUプロジェクトは、<a
href="/software/gcc/">Cコンパイラの開発</a>をするプロジェクトではありませんでした。わたしたちはテキストエディタを開発しましたが、GNUプロジェクトはテキストエディタを開発するプロジェクトではなかったのです。GNUプロジェクトは、<em>完全な自由のUnixライクなシステム</em>:
GNUを開発することを目標としたのです。</p>

<p>
多くの人々がシステムの自由ソフトウェアに多大な貢献をしてきましたし、それらはみな称賛に値します。しかしそれが単なる有用なプログラムの寄せ集めではなく、<em>統合されたシステム</em>であるのは、GNUプロジェクトがそれをシステムとしてまとめ上げる目標を立てたからです。わたしたちは自由で<em>完全な</em>システムを構成するのに必要なプログラムのリストを作り、そのリストに載っているものすべてを組織的に探し、書き、あるいは書いてくれる人を探しました。わたしたちは、アセンブラやリンカといった、重要だがあまりエキサイティングではない<a
href="#unexciting">(1)</a>コンポーネントを書きました。それら無しではシステムはありえないからです。システム・コンポーネントのいくつか、プログラミング・ツールは、プログラマの間でそれ自身、人気が出ました。しかし、ツールではない<a
href="#nottools">(2)</a>たくさんのコンポーネントもわたしたちは書きました。チェスのゲーム、GNU
Chessも開発しました。完全なシステムにはゲームも必要ですから。</p>

<p>
90年代はじめまでに、わたしたちはカーネル以外のシステム全体を組み立てていました。また、Machの上で動く<a
href="/software/hurd/hurd.html">GNU
Hurd</a>というカーネルのプロジェクトをわたしたちは開始していました。このカーネルの開発の困難さは予想をはるかに超えるものでした。<a
href="/software/hurd/hurd-and-linux.html">2001年にGNU
Hurdは確かに動くようになりました</a>が、一般の使用に供するのに十分と言えるまでには、まだまだ長い道のりがあります。</p>

<p>
幸運なことに、Linuxがあったので、わたしたちはHurdを待つ必要はありませんでした。1992年にトーバルズがLinuxを自由ソフトウェアとしてから、それはGNUシステムの最後の主要なギャップに適合したのです。そして、<a
href="http://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.01">LinuxをGNUシステムに組み合わせ</a>、完全なシステムを作ることができるようになりました:
Linuxも含んだGNUシステムのバージョンです。別の言葉で言えば、GNU/Linuxシステムです。</p>

<p>
それらを一緒に動くようにするということは、とるにたらない仕事ではありませんでした。いくつかのGNUのコンポーネント<a
href="#somecomponents">(3)</a>は、Linuxとともに動くのに相当な変更が必要となりました。ディストリビューションとして完全なシステムに統合し、「箱から出してすぐに」使えるとするのも大変な作業でした。どうシステムをインストールし、起動するかという問題を扱う必要があったからです。&mdash;
そういう段階にまだ到達していなかったので、それは、わたしたちがそれまで取り組んだことのなかった問題でした。ですから、様々なシステム・ディストリビューションを開発した人々が重要な仕事をたくさんしました。しかし、それは、ものごとの本質として、誰かによって必ずなされなければならない仕事だったのです。</p>

<p>
GNUプロジェクトは、GNU/Linuxシステムを、GNUシステム<em>それ自体</em>と同じく、支持しています。<a
href="http://fsf.org/">FSF</a>は、GNU
CライブラリのLinux関連の拡張の書き直しに資金援助し、いま、それらはうまく統合され、最新のGNU/Linuxシステムでは現在のライブラリのリリースを変更なしで利用するようになりました。FSFは、また、Debian
GNU/Linux の開発の初期段階に資金提供をしました。</p>

<p>
今日、たくさんのGNU/Linuxシステムの異なる変種(「ディストロ」としばしば呼ばれます)があります。そのほとんどが不自由なプログラムを含みます。&mdash;開発者は、むしろLinuxに関連した<a
href="/philosophy/open-source-misses-the-point.html">&ldquo;オープンソース&rdquo;の理念</a>にしたがい、GNUの<a
href="/philosophy/free-software-even-more-important.html">&ldquo;自由ソフトウェア&rdquo;の理念</a>にしたがいません。しかし、<a
href="/distros/">完全に自由なGNU/Linuxディストロ</a>もあるのです。FSFは、こういったディストリビューションのいくつかにコンピュータ設備を提供しています。</p>

<p>自由なGNU/Linuxディストリビューションを作るのは単にさまざまな不自由なプログラムを除去するだけの問題ではありません。近年では、通常の版のLinuxには不自由なプログラムも入っているからです。これらのプログラムはシステムが起動したときにI/Oデバイスにロードされることが意図され、Linuxの"ソースコード"のなかに長い数列として含まれています。自由なGNU/Linuxディストリビューションを保守するには、いまや、<a
href="http://directory.fsf.org/project/linux">自由な版のLinux</a>も保守することが必然的に伴うのです。</p>

<p>GNU/Linuxを使うかどうかは別にして、どうか&ldquo;Linux&rdquo;という名称をあいまいに使うことで一般大衆を混乱させないでください。Linuxはカーネルであり、システムに不可欠の重要なコンポーネントの一つです。全体としてのシステムはGNUシステムであり、Linuxが追加されたものなのです。この組み合わせについて語るときには、&ldquo;GNU/Linux&rdquo;と呼んでください。</p>

<p>
参照として、&ldquo;GNU/Linux&rdquo; についてリンクを張りたいときは、このページとこちら<a
href="/gnu/the-gnu-project.html">
http://www.gnu.org/gnu/the-gnu-project.html</a>が良い選択です。カーネルのLinuxについて述べ、参照としてリンクを加えたいときには、<a
href="http://foldoc.org/linux">http://foldoc.org/linux</a>が使うのに適したURLです。</p>

<h3>あとがき</h3>

<p>
GNUのほかに、別にプロジェクトがもう一つあり、Unixライクなオペレーティング・システムを独立に作り上げています。このシステムはBSDとして知られ、カリフォルニア大学バークレー校において開発されました。80年代にはこれは不自由でしたが、90年代はじめに自由となりました。今日存在する自由なオペレーティングシステム<a
href="#newersystems">(4)</a>はGNUシステムの変種か、BSDシステムの一種と考えてまず間違いありません。</p>

<p>
BSDはGNUのひとつの版かどうか(GNU/Linuxのように)、と、聞かれることがままあります。BSDの開発者たちは、GNUプロジェクトの例に触発されて、かれらのコードを自由ソフトウェアとしました。GNUの活動家によって励まされてきましたが、かれらのコードにはGNUとほとんど重複するところがありません。今日のBSDシステムもいくつかのGNUプログラムを使っています。GNUシステムとその変種がいくつかのBSDソフトウェアを使っているのと同様に。しかし、全体から見れば、この二つは別々に進化してきたものです。BSDの開発者はカーネルを書き、GNUシステムに加えたわけではありません。ですから、GNU/BSDというような名前は状況に則したものではないでしょう。<a
href="#gnubsd">(5)</a></p>

<h3>注:</h3>
<ol>
<li>
<a id="unexciting"></a>エキサイティングではないが重要なコンポーネントには、GNUアセンブラ(GAS)、リンカー(GLD)
(両方とも今は<a href="/software/binutils/">GNU Binutils</a>パッケージに入っています)、<a
href="/software/tar/">GNU tar</a>、などを含め、たくさんのものが含まれます。</li>

<li>
<a id="nottools"></a>たとえば、Bourne Again SHell (BASH)、PostScriptインタプリタ<a
href="/software/ghostscript/ghostscript.html">Ghostscript</a>、<a
href="/software/libc/libc.html">GNU
Cライブラリ</a>はプログラミング・ツールではありません。GNUCash、GNOME、GNU Chessもそうではありません。</li>

<li>
<a id="somecomponents"></a>たとえば、<a href="/software/libc/libc.html">GNU
Cライブラリ</a>です。</li>

<li>
<a
id="newersystems"></a>これが書かれてから、だいたい全部が自由なウィンドウズライクなシステムが開発されましたが、技術的にはこれはまったくGNUあるいはUnixに似たものではありませんから、この問題に関係しません。Solarisのカーネルのほとんどは自由になりましたが、自由なシステムをそれから作りたいとすると、カーネルの足りない部分を置き換えるほかに、これもまた、GNUかBSDに載せる必要があるでしょう。</li>

<li>
<a id="gnubsd"></a>一方、この論説が書かれて何年かたった後、GNU
Cライブラリは、BSDカーネルのいくつかの版に移植されました。これにより、GNUシステムをBSDのカーネルと組み合わせることが簡単になりました。GNU/Linuxのように、まさにこれらはGNUの変種です。ですから、たとえば、システムのカーネルに応じて、GNU/kFreeBSDやGNU/kNetBSDのように呼ばれます。ふつうの典型的なデスクトップ利用者がGNU/LinuxとGNU/*BSDを区別することはほとんどできないでしょう。</li>

</ol>

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
 </div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.ja.html" -->
<div id="footer">
<div class="unprintable">

<p>FSFおよびGNUに関する問い合わせは<a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>までお願いします(英語)。FSFへの連絡は<a
href="/contact/">他の方法</a>もあります。リンク切れや他の修正、提案は<a
href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>までお送りください。</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and submitting translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
正確で良い品質の翻訳を提供するよう努力していますが、不完全な場合もあるかと思います。翻訳に関するコメントと提案は、<a
href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>におねがいします。</p><p>わたしたちのウェブページの翻訳の調整と提出については、<a
href="/server/standards/README.translations.html">翻訳 README</a>をご覧ください。</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 1997, 1998, 1999, 2000, 2001, 2002, 2007, 2014, 2015, 2016,
2017, 2019 Richard M. Stallman</p>

<p>このページは<a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/deed.ja">Creative
Commons Attribution-NoDerivs 4.0 International License</a>の条件で許諾されます。</p>

<!--#include virtual="/server/bottom-notes.ja.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
 </div>

<p class="unprintable"><!-- timestamp start -->
最終更新:

$Date: 2019/12/30 12:08:29 $

<!-- timestamp end -->
</p>
</div>
</div>
</body>
</html>