プレゼンテーションの詳細に進む前に、この HOWTO で使用する用語とソフトウェアについての定義を示しておきたいと思います。
フリー・ソフトウェア(オープン・ソース・ソフトウェア)は、ソース・コードの付属したソフトウェアで、その研究、転送、改良が許されています。 「無料の」および「束縛のない」という 2 つの意味を持つ英語の free という語が使用されているのが問題です。 この文書では、本来は後者の意味であることを考慮し、「オープン・ソース」を使用します。 言論の自由の「自由」であって無料のビールの「無料」ではありません。
開発用ライセンスによって、このようなソフトウェアの使用上の制約事項はさまざまです。 最もオープンなライセンスの場合は(BSD はその 1 つです)、創作者の版権に言及するだけで、商用製品としての販売(修正の有無を問わず)を含め、サード・パーティによるコードの使用が許されています。 また、GNU Public License や GPL などのように、改良した GPL ソフトウェアを GPL ソフトウェアのようにフリーにすることを強制するライセンスもあり、そのようなプログラムを商用製品にすることは許されません。 ほかにも、芸術ライセンス(perl)、NPL ライセンス(mozilla)、QPL ライセンス(Qt)など、さまざまなライセンスが存在しますが、いずれにしろオープンであることには変わりはありません。
今日のフリー・ソフトウェアの大多数は GPL ライセンスです。ただし、BSD の世界は依然として大きな地位を占めています。雑誌などでは、次第に取り上げられることが少なくなってきてはいますが。 Linux は GPL ライセンスです。 これらの定義とライセンスの詳細については、下記のサイトを参照してください。
ライセンス(GPL および LGPL)や、フリー・ソフトウェアについてのさまざまな考察を含め、GNU プロジェクトについてのすべての情報が用意されています。
このサイトには、オープン・ソース・ソフトウェアと呼ばれる、フリー・ソフトウェアの、少し制約を伴う新しい定義が、著名な人々によって提案されています。
非常にオープンな BSD ライセンスの利点が説明されています。
まず最初に、フリー・ソフトウェアとフリーウエア を混同しないようにする必要があります。 フリーウエアは、フリー・ソフトウェアとは異なり、ソースが付属しているとは限りません。 また、フリーウエアとは異なり、フリー・ソフトウェアの入手には費用が掛かる場合があります(使用するライセンスとは矛盾しません)。 前にも触れたように、"free" という言葉が使用されているために混乱が生じるのです。 フリーウエアは無料ですが、必ずしもソースが公開されているとは限りません。 (また、シェアウエア もフリー・ソフトウェアとは関係はありません)。
Linux および FreeBSD オペレーティング・システム、Apache ウェブ・サーバー、SaMBa SMB サーバー、GNU C および C++ コンパイラなどが、重要な知名度の高いフリー・ソフトウェアの例です。 また、Internet Explorer ブラウザ、Eudora Light メール・リーダなどが、著名なフリーウエアの例です。
Linux は フリー・オペレーティング・システムで、POSIX のスーパーセットです。 "Linux" とは、そのカーネルだけを表します。 また、拡大的に、このカーネルと GNU プロジェクトのツール・セットに基づくディストリビューションの名前としても使用されます。
したがって、Linux は、コードが公開され GPL ライセンスを使用しているため、ソースを使用することができる点を除いて他のUnix システムと同じです。 すべての Unix システムと同様 Linux もマルチ・タスキング、マルチ・ユーザーです。 また、極めて移植性に富み、現時点でも、Intel(i386 から Pentium III まで)、Alpha、Motorola(680x0 および PowerPC)、Sparc、StrongArm、Mips などのプロセッサで公式に使用できます。 移植性は言うまでもなく、PalmPilot、Itanium(ex-Merced)、PA-Risc、Crusoe などでも使用または開発中です。
システムは、現時点で完全に安定し成熟しています。 Linux カーネルの "x.y.z" バージョンは、y が偶数の場合は安定した正式バージョンであることを、バグのみの修正は z で表されます。 Linux カーネルの "x.y.z" バージョンは、y が奇数の場合は開発中のバージョンで不安定な可能性があるため、開発者や興味のある人を対象としていることを表しています。
カーネルの開発により「フリーズ」がなくなると、新しい「安定」バージョン(偶数)のリリースが公表され、次の新しいバージョン(奇数)の開発に移行します。
現時点での安定バージョンは 2.4.3 です(最後の番号はバグ修正により異なる場合があります)。 また、現時点でコード・フリーズの発生する 2.4 テスト・バージョンの開発が再び開始されました。
現在、多数の Linux のプレゼンテーションが入手できます。 なかでも、ftp://ftp.lip6.fr/pub/linux/HOWTO/INFO-SHEET.html の Michael Johnson によるプレゼンテーションを参照することをお勧めします。
Linux システムには、次のような技術的特徴があります。
マルチ・タスキング−擬似並行処理による複数のプログラムの実行
マルチ・ユーザー−同一のマシン上で同時に多数のユーザーが操作できる(ライセンスの心配はありません)
移植性と相互運用性−多数のハードウェア・アーキテクチャ上で動作。 全ソースが公開されています。 Linux では、ネイティブの ext2 のほか、System V、BSD、Sun、MS-DOS、VFAT、NTFS、Mac、HPFS、EFS、ISO9660 など多数のファイル・システムをサポートしています。 ネットワークに関しては、TCP/IP v4 および v6、Appletalk、Netware(クライアントおよびサーバー)、Lan Manager SMB(クライアントおよびサーバー)、X-Window、NFS、PPP、SLIP、UUCP などのプロトコルをサポートしています。
実行アーキテクチャ−モジュラ・カーネル、任意ビルド、80x86 プロセッサのプロテクト・モードでの実行、オンデマンド・ページ・ロード、実行ファイル間での読み取り時のページ共有、ディスク上のスワップを使用した仮想メモリ、メモリ内へのダイナミック・ディスク・キャッシュの使用、ダイナミック・ライブラリ、プロセス管理、擬似端末、仮想コンソール。
セキュリティ−プロセス間のメモリ保護により、ユーザー・プログラムからシステム全体の動作を保護。 カーネルでも、ネットワーク・パケットのフィルタリングを実行。
基準と標準規格のサポート−System V および BSD エクステンション付き Posix。 COFF および ELF バイナリのサポート。 iBCS2 モジュールを通じ、SCO、SVR3/4 とのバイナリ互換。 キーボード、フォントなど、ネイティブ・ランゲージ・サポート