LinuxとBSDの違いは何ですか?
Linux と BSD はどちらも自由でオープンソースの Unix 系オペレーティングシステムです。これらのオペレーティングシステムは多くの同じソフトウェアを使用しており、違いよりも共通点の方が多いのです。では、なぜ彼らは全て存在しているのでしょうか?
ここでカバーできる以上の違いがあり、特にオペレーティングシステムを構築し、それにライセンスを付与する方法についての哲学的な違いがあります。しかし、これは基本を理解するのに役立つはずです。
基本
ほとんどの人が「Linux」と呼んでいるものは、実際にはLinuxではありません。Linuxは技術的にはLinuxカーネルだけのことで、一般的なLinuxディストリビューションは多くのソフトウェアの組み合わせで構成されています。このため、Linuxは時々GNU/Linuxと呼ばれます。実際、そのLinuxの上にある同じソフトウェアの多くはBSDでも使用されているソフトウェアです。
LinuxとBSDは、どちらもUnix系のオペレーティングシステムです。Unix系オペレーティングシステムの歴史を見たときに説明したように、LinuxとBSDは異なる系譜を持っています。Linuxは、フィンランドで学生だったリーナス・トーバルズによって書かれました。BSDは「バークレーソフトウェア配布」の略で、カリフォルニア大学バークレー校で作られたBell Unixへの一連の修正から始まりました。それは最終的には完全なオペレーティングシステムに成長し、現在では複数の異なるBSDがあります。
カーネル対完全なオペレーティングシステム
公式には、Linuxは単なるカーネルです。Linuxディストリビューションは、完全なLinux OSを作成するために必要なすべてのソフトウェアを統合し、Ubuntu、Mint、Debian、Fedora、Red Hat、またはArchのようなLinuxディストリビューションにまとめる作業を行わなければなりません。さまざまなLinuxディストリビューションがあります。
対照的に、BSDはカーネルとオペレーティングシステムの両方です。例えば、FreeBSDはFreeBSDカーネルとFreeBSDオペレーティングシステムの両方を提供します。これは単一のプロジェクトとして維持されています。言い換えれば、FreeBSDをインストールしたい場合は、単にFreeBSDをインストールすればいいのです。Linuxをインストールしたい場合は、まず多くのLinuxディストリビューションから選択する必要があります。
BSDにはポートシステムが含まれています。これはソフトウェアパッケージをインストールする方法を提供します。ポートシステムはソース形式のソフトウェアを含んでいるため、コンピュータはそれらを実行する前にコンパイルする必要があります。(人気のあったGentooを使ったことがあるなら、それに似たようなものです。)しかし、パッケージはあらかじめインストールされたバイナリ形式でインストールすることもできるため、コンパイルに時間やシステムリソースを費やす必要はありません。
ライセンス供与
ライセンスは重要な違いですが、ほとんどの人にとってはそれほど問題ではないでしょう。LinuxはGNU一般公衆ライセンス、つまりGPLを使用しています。Linuxカーネルを改造して配布する場合、変更のソースコードを公開しなければなりません。
BSDはBSDライセンスを使用しています。BSDカーネルやディストリビューションを改変して配布する場合、ソースコードを公開する必要はありません。BSDコードを自由に扱うことができ、ソースコードを公開する義務はありませんが、公開したい場合はそうすることもできます。
両者はオープンソースですが、異なる方法で提供されています。時々、人々はどのライセンスが「より自由」であるかについて議論に入ります。GPLはユーザーにGPLソフトウェアのソースコードを入手できることを保証することで役立ちますが、開発者にはコードを公開することを強制するため制限を与えます。一方、BSDライセンスはユーザーがソースコードを入手できることを保証しませんが、開発者にはコードをどう扱うかを自由に選択する権利を与え、たとえそれをクローズドソースプロジェクトに変えても構いません。
BSD
これらはしばしば3つの「主要な」BSDオペレーティングシステムと考えられています。
- FreeBSD: FreeBSDは最も人気のあるBSDであり、高性能と使いやすさを目指しています。標準的なIntelおよびAMDの32ビットおよび64ビットプロセッサでうまく機能します。
- NetBSD: NetBSDはほとんどすべての環境で動作するように設計されており、より多くのアーキテクチャをサポートしています。彼らのホームページのモットーは「もちろんNetBSDは動作します」です。
- OpenBSD: OpenBSDは、最大のセキュリティを追求するために設計されており、その機能だけでなく、実装のプラクティスにも重点が置かれています。これは、銀行やその他の重要な機関が重要なシステムに使用するオペレーティングシステムとして設計されています。
他にも二つの注目すべきBSDオペレーティングシステムがあります:
- DragonFly BSD: DragonFly BSDは、マルチスレッド環境でうまく動作するオペレーティングシステムを提供することを設計目標として作成されました。例えば、複数のコンピュータのクラスターでの使用が想定されています。
- Darwin/Mac OS X: Mac OS Xは実際にはDarwinオペレーティングシステムに基づいており、それはBSDに基づいています。他のBSDとは少し異なります。低レベルのカーネルやその他のソフトウェアはオープンソースのBSDコードですが、オペレーティングシステムのほとんどはクローズドソースのMac OSコードです。Appleは低レベルのオペレーティングシステムを自分たちで作成する必要がないように、BSDの上にMac OS XとiOSを構築しました。ちょうどGoogleがLinuxの上にAndroidを構築したように。
なぜあなたはLinuxよりもBSDを選ぶのですか?
Linuxは今でもFreeBSDよりも人気があります。例えば、LinuxはFreeBSDよりも新しいハードウェアのサポートを先に受ける傾向があります。BSDにはLinuxバイナリをネイティブに実行できる互換性パッケージが用意されており、ほとんどのソフトウェアも同様に動作します。
Linuxを使ったことがあるなら、FreeBSDはあまり違和感を感じないでしょう。FreeBSDをデスクトップオペレーティングシステムとしてインストールすれば、Linuxで使われるのと同じGNOME、KDE、またはXfceデスクトップ環境が使えるほか、ほとんど同じ他のソフトウェアも利用できます。ただし、その点に達するまでは、FreeBSDは自動的にグラフィカルデスクトップをインストールしないため、最新のLinuxディストリビューションと比べて自分でなんとかしなければならないことが多いです。これはより古典的な体験です。
FreeBSDは、その信頼性と安定性のために、いくつかのサーバーオペレーティングシステムで好まれることがあります。デバイスを作成するメーカーは、Linuxの代わりにBSDをオペレーティングシステムとして選択することで、コードの修正を公開する必要がなくなる場合があります。
デスクトップPCユーザーであれば、BSDについてあまり心配する必要はありません。おそらく、優れたハードウェアサポート、簡単なインストール、一般的に現代的で最先端の特性を持つLinuxの方が好まれるでしょう。サーバーや組込みデバイスを構築している場合は、別の理由でFreeBSDを好むかもしれません。
今、デスクトップコンピュータでFreeBSDを使用している人々からコメントが寄せられる可能性がありますが、確かにそうすることもできます!しかし、UbuntuやMintのようなオペレーティングシステムは、大多数の人にとってより使いやすく、現代的です。
画像のクレジット: atzerok (Flickr)



