Free BSD vs. Linux compared

FreeBSD は Unix 系 OS で、Research Unix としてよく知られている古い Unix ディストリビューションのイテレーション(反復法)です。 オープンソースで一般に無料で入手でき、実際には多くの Berkeley Software Distributions (略称 BSD、それゆえ OS は FreeBSD と名付けられました) のひとつに過ぎず、他の有名な版は OpenBSD、NetBSD、そして DragonFly BSD です。 BSD と同様に、Linux ディストリビューションはフリーでオープンソースです。 基本的な類似点にもかかわらず、Linux は人気において BSD を大きくしのいでおり、最近のスマートフォンの 74% 以上が Linux ベースとなっています。 BSD と Linux が研究用 Unix の反復に過ぎないのであれば、両者の違いは一体何なのでしょうか。 しかし、それらをすべてひとつの記事で読むのは、読者にとってかなり退屈なことでしょう。

しかし、Linux とは何でしょうか。

まず、多くの人が誤解しているのは、Linux はカーネルであって、オペレーティング システムではない、ということです。 つまり、OSの一部に過ぎず、OSそのものではないのです。

少しカーネルについて説明しましょう。 カーネルは、オペレーティング システムの土台となるすべてのコードを保持するため、オペレーティング システムの軸として機能します。 カーネルは、システムのハードウェアとソフトウェア コンポーネント間の相互作用を可能にし、促進し、ソフトウェア アプリケーションとの入出力要求を管理し、同様にハードウェア デバイスを処理する責任を負います。

要するに、カーネルは、そのベースとなるオペレーティング システムの最も不可欠な機能であり、したがって、システムの動作に不可欠な少数のものを除き、アプリケーションからのあらゆるアクセス要求を拒否するシステムのメモリ内の非常に保護された部分に格納されています。

カーネルが何であるかを理解したところで、次に、カーネルとしての Linux がオペレーティング システムで何を行うかを見ていきましょう。 ですから、誰かが Linux を使っていると言った場合、それは実際にはこれらのディストリビューションのうちの 1 つであると知っておいてください。 これらのディストリビューションが「Linuxベース」なのは、Linuxカーネルに基づいて構築されているからです。

BSD とは何か、そしてそれは Linux とどう違うのか。

先に述べたように、BSD の異なるディストリビューションは、すべてオペレーティング・システムです。 そしてそれは、BSD が Linux のようにカーネルであることを意味します。

しかし、物事を複雑にするために、BSD はスタンドアロンのオペレーティング・システムでもあり、Linux はそうではありません。

BSDディストリビューションでは、いくつかのプログラムがBSDカーネルに追加されます。 この組み合わせは、スタンドアロンで完全なパッケージとしてリリースされ、それをインストールすれば、すぐに使用できるようになります。 つまり、FreeBSDやOpenBSDなどのBSDディストリビューションとの違いは、カーネルオペレーティングシステムに追加されるプログラムの違いによるものです。 追加のソフトウェアパッケージをダウンロードするために、BSDユーザーは、これらのパッケージをソースの形で保持しているportsシステムを使用します。 ソースコードは、ソフトウェアが起動されるたびにシステムによってコンパイルされる。 これは、特に長くて複雑なコードを実行する場合には、面倒であることがわかりますが、BSDシステムは、プログラムがバイナリ状態でインストールされている場合、各起動時のコンパイルステップを完全にスキップすることができ、したがって、このプロセスは非常に軽減されます。

Linux は、各ディストリビューションがまったく異なるプログラムを使用しているという点で BSD と異なっており、各ディストリビューションが独自のリポジトリを持っているため、ソフトウェアパッケージの集中管理されたリポジトリを持ちません。

ライセンスにおける違い

BSD と Linux の根本的な違いのひとつは、それらのディストリビューションがリリースされる際のライセンスシステムです。

BSD の Ports リポジトリからソフトウェアをダウンロードしたり、ディストリビューションを全体としてインストールする場合、そのソフトウェアやディストリビューションを BSD ライセンスに基づいて割り当てられますが、これは BSD 開発者が採用したカスタムライセンスシステムとなっています。 BSDは現時点では完全にオープンソースでフリーですが、BSDライセンスシステムによって、開発者はBSDをクローズドソースにすることをいつでも宣言することができます。 FreeBSD のユーザとして、あなたは BSD の開発者からさらなるリリースを受ける法的な権利を持ちません。 しかし、BSD 開発者は、将来にわたってオープンソースを維持するあらゆる意図を持っていることを公表しています。

Linux ディストリビューションは GNU 一般公衆ライセンス (GPL) でリリースされています。 このライセンス システムでは、Linux 開発者は Linux カーネルに加えられた変更の一つひとつを公開することを法的に義務づけられています。 このライセンス システムにより、本質的に、カーネル自体にどのような変更が加えられたとしても、Linux がオープン ソースのままであることが保証されます。 (ネタバレ: Software Availability)

Linux ディストリビューションについて聞くほど BSD について聞かないのはなぜだろうとずっと思っていたのなら、その理由はここにあります。 世の中にあるすべてのソフトウェアには、Linuxと互換性のあるリリースがあります。 これはFreeBSDの場合ではなく、そのためにほとんど無視されたままなのです。

Linux カーネルは、他のカーネルに比べてソフトウェアプログラムの記述や配布が簡単なので、開発者は自然に Linux リリースに向けて努力するようになります。 特に配布は、それが促進するプリインストールされたバイナリ・パッケージ・システムによって、さらに簡単になります。 Linux では、ソフトウェアパッケージは apt, yum, Pacman などのパッケージマネージャでダウンロードし、インストールすることができます。 ソフトウェアパッケージは、まず BSD のソースコードとして ports システム経由でダウンロードされます。 これらのソースコードは、起動するたびにコンパイルされます。このプロセスは、ボタンをクリックするだけでソフトウェアがインストールされる現代において、時間がかかると同時にフラストレーションの溜まるものです。 これは、開発者にとっても同様にフラストレーションの溜まる作業で、コンパイルをできるだけ早く行うために、多大な労力を費やさなければなりません。

プリコンパイルされたバイナリパッケージの導入により、 FreeBSD におけるソフトウェアの入手プロセスが大幅に緩和されましたが、 BSD にとってソフトウェアの入手性は依然として大きな問題のままです。 フリーでオープンソースであり、FreeBSD が持つすべてのものを、注意点なしに提供します。

BSD と Linux は、ライセンスとソフトウェア配布が唯一の相違点であり、相違点よりも共通点が多くあります。 それでも、類似性があるにもかかわらず、一方を使うことは、 もう一方のトレードオフになります。

一方では、FreeBSD はすべてのディストリビューションにわたってツールや依存関係のライブラリを維持しており、開発者が内容を反復して独自のアプリケーションを考え出すことを容易にしています。 これは FreeBSD が Linux に対してかなり有利な点で、 Linux に含まれる GNU スイートはこれを許さないからです。

しかし、一方でソフトウェアの互換性と可用性の欠如は、 FreeBSD での経験をひどく妨げています。 この問題は、Linux のソフトウェアを BSD ディストリビューション上で実行できるようにする Linux 互換性パッケージを使うことで解決できますが、 それでもなお、これは経験を妨げるひとつの余分なステップです。

ライセンスに関しては、Linux GPL ライセンスは BSD ライセンスよりもずっと制限的なものです。 開発者やユーザは、Linux カーネルやソースコードに対して、 それを公表することなく変更を加えることができません。 BSD のユーザにはそのような義務はありません。したがって、開発者は少なくとも BSD を試してみるべきです。 ソースコードを非公開にできることは、Linux が提供できない重要な利点です。

Linux ディストリビューションのライセンスは、システム用のアプリケーションを改良するために行われた開発がすべてユーザーに提供されることが確認されており、ユーザーにとって有利な方向に偏っています。 一方、BSD ライセンスは標準的なライセンスに近く、ユーザーは BSD を無料でインストールすることができますが、開発者がコンテンツを公開することを拘束しません。 そのソフトウェアの互換性は、私たちがそれを推奨するのに十分な理由です。 しかし、もし、あなたが製造業者であるならば、BSD はあなたにとって正しい選択でしょう。 ソフトウェアのリポジトリが一元化されており、その信頼性には定評があります。 そして、BSD ライセンスに関しては、あなたの作品をオープンソースにすることについて心配する必要はないでしょう。

Linux Kernel を選択した場合は、Ubuntu を使用することをお勧めします。 これは 6 ヶ月ごとに定期的に更新されるもので、 私の意見では、セキュリティ問題に追いつき、 ユーザを苛立たせないという素晴らしいバランスを保っています。

コメントを残す

メールアドレスが公開されることはありません。