GNU/Linux

GNU/Linuxとは



一般的に「Linux」として知られるシステムは、実際にはGNUプロジェクトによって開発された多くのソフトウェアに依存しています。具体的には、glibcやbashといった重要なライブラリやツールがGNUプロジェクトによって提供されており、これらの要素を統合したシステムを「GNU/Linux」と呼ぶべきだとGNUプロジェクトは主張しています。

呼称の由来



多くのLinuxシステムは、Linuxカーネルだけでなく、GCC、GNU BinutilsGNU Core UtilitiesなどのGNUプロジェクトの成果物を基盤として構築されています。このため、GNUプロジェクトはこれらのシステムを「GNU/Linuxシステム」と呼称することを提唱しています。しかし、Linuxカーネルの開発者であるリーナス・トーバルズは、この呼称を部分的に受け入れつつも、全てのLinuxシステムに対する包括的な名称としては反対しており、個人的には「Linux」という名称を使い続ける意向を示しています。この問題については、GNU/Linux名称論争|GNU_Linux名称論争として知られています。

他のシステムとの関係



Debianディストリビューションは、その歴史的経緯から「Debian GNU/Linux」を正式名称としており、GNUプロジェクトの立場を尊重しています。さらに、Debianプロジェクトは他のシステムにも同様の命名法を適用しており、GNU Hurdカーネルを採用した「Debian GNU/Hurd|Debian GNU_Hurd」や、FreeBSDカーネルを使用した「Debian GNU/kFreeBSD|Debian GNU_kFreeBSD」などが存在します。

一方で、GNUプロジェクトソフトウェアを全く利用していないLinuxシステムについては、Androidがしばしば例に挙げられます。しかし、GNUプロジェクトのFAQでは、Androidは一般的なLinuxシステムとは根本的に異なるとされており、そもそもAndroidをLinuxシステムと呼ぶこと自体が不適切であると述べられています。

技術的な側面



Linuxカーネルのコンパイルは、実質的にgccでのみ可能です。gcc以外のコンパイラ(特にClang)でのコンパイルも報告されていますが、本格的な取り組みはLLVMLinuxプロジェクトで進行中です。また、標準Cライブラリはカーネルとの結びつきが強く、GNU Cライブラリ(glibc)以外にもmuslなどが存在しますが、glibcが広く利用されています。

まとめ



「GNU/Linux」という呼称は、LinuxシステムがGNUプロジェクトの貢献に大きく依存しているという事実を強調するものです。この呼称を用いるかどうかは、それぞれの立場や解釈によって異なりますが、その背景にある技術的な要素や歴史的経緯を理解することは重要です。

関連項目



Linux%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3'>Linuxディストリビューション
GNU
GNUプロジェクト
Linux%E5%90%8D%E7%A7%B0%E8%AB%96%E4%BA%89'>GNU/Linux名称論争|GNU_Linux名称論争
* glibc

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。