SSD Nodes Learn 🎉 VPS $5.50/月〜
ガイド Matt Connor著者 Matt Connor ・更新日 2026-08-13

UnixとLinuxの歴史を1969年から現在まで解説

Unixは1969年にBell Labsで始まり、AT&Tのライセンス、BSD、1992年の訴訟を経てLinuxへ。なぜサーバーでBSDではなくLinuxが選ばれたのかを説明します。

Unix と Linux の歴史を簡単に説明します

Unix と Linux の歴史は、ソースコードの所有を誰に認めるかをめぐる長い論争です。Unix は 1969 年に Bell Labs で始まりました。Linux は 1991 年に Helsinki で始まり、Unix の元のコードを一切共有していません。両者の間で受け継がれたのは、設計と公開されたインターフェースです。そこには、ファイル、プロセス、パイプ、小さなプログラムを組み合わせるシェルが含まれます。Unix は 1970 年代に大学へ広まりました。1956 年の独占禁止法上の和解により、AT&T (American Telephone and Telegraph) はソフトウェアを販売できなかったため、Bell Labs は代わりにソースコードを低価格でライセンスしたからです。Unix は AT&T 以外の誰にも所有されないまま、あらゆる場所で使われるようになりました。その後のライセンスをめぐる争いによって、サーバーラックに導入される free Unix-like system が決まりました。

1969: 予備の PDP-7 と、定着したアイデア

Bell Labs は 1969 年に Multics プロジェクトから撤退しました。Multics(multiplexed information and computing service)は、MIT と General Electric と共同開発していた大規模なタイムシェアリングシステムです。しかし Labs は、完成させるには規模が大きすぎると判断しました。Ken Thompson は気に入ったアイデアを残し、それ以外を捨て、払い下げの PDP-7 ミニコンピューター上に小規模なタイムシェアリングシステムを書きました。Dennis Ritchie も加わりました。Unix という名前は、Multics を揶揄した冗談でした。

1970 年、このシステムは PDP-11 に移植されました。Labs が特許部門のタイピスト向けに購入したマシンです。オペレーティングシステムよりも、テキスト処理ツールのほうが予算を確保しやすかったためです。このマシンのコアメモリは 24 KB で、システムとユーザープログラムで分けて使用していました。この予算上の偶然により、1971 年 11 月付けの最初の Unix マニュアルは、整形済み文書の集合になりました。そして、そのため現在でも man 5 crontab と入力します。このマニュアルのセクション番号は、現在のマニュアルのセクション番号でもあります。

2 つの変更によって、この設計は定着しました。1973 年の Version 3 では、Doug McIlroy がプログラムを末端から末端まで接続できるべきだと何年も主張していたため、パイプが導入されました。Thompson は | 演算子を追加し、1 つのプログラムの出力を次のプログラムの入力にできるようにしました。その後、1973 年の後半に Version 4 は C で書き直されました。移植性のある言語で書かれたオペレーティングシステムは、開発対象ではなかったハードウェアへ移行できます。これが、Unix が最初に動作したどのマシンよりも長く存続した理由です。

Unix が広まった理由: AT&T は販売を認められていなかった

1956 年の同意判決により、AT&T に対する独占禁止法訴訟が決着しました。AT&T は電話事業の独占を維持する代わりに、制限を受け入れました。電気通信以外の事業には進出しないという制限です。ソフトウェアもその対象でした。そのため、大学が Unix を求めても、Bell Labs は製品として販売できませんでした。サポートも保証も付けず、わずかな料金でソースをライセンスしました。

その影響は大きく、AT&T が意図したものとは異なる結果になりました。1975 年にリリースされた Sixth Edition Unix は、完全なソースコードとともに、数百のコンピューターサイエンス学科に広まりました。University of New South Wales の John Lions は、そのカーネルソースに行ごとの解説を付けて印刷し、それを教材にして教えました。ある世代の学生は、実際のオペレーティングシステムを読むことで、その仕組みを学びました。

その後、ライセンスが変更されました。1979 年の Seventh Edition のライセンスは、授業でソースを使用することを禁じました。そのため、Lions の解説はコピーのコピーとして広まりました。これが、物語全体の構図です。Unix はどこにでも存在しながら、同時に自由に利用できないソフトウェアでした。そのため、誰かが加えた改良は、別の誰かが所有するプロプライエタリコードへの改良でもありました。

Berkeley: 実際に入力する Unix の構成要素

Ken Thompson は 1975 年から 1976 年の学年度を University of California, Berkeley で過ごし、非常に活発な Unix グループを残しました。Berkeley の Computer Systems Research Group(CSRG)は、現地で加えた改良をテープでリリースしました。そのテープが BSD、つまり Berkeley Software Distribution になりました。初期の作業の多くは Bill Joy が担当しました。1978 年の 1BSD に続き、1979 年には vi エディターと C shell を搭載した 2BSD をリリースしました。

C shell が !!!$ の由来です。Bash はこの構文を継承しました。そのため、40 年以上経った現在でも、二重引用符内に感嘆符を入力すると bash の履歴展開に驚く人がいるのです。

その後、DARPA(US Defense Advanced Research Projects Agency)は Berkeley に資金を提供し、新しいインターネットプロトコルを Unix に実装させました。1983 年 8 月にリリースされた 4.2BSD には、TCP/IP(transmission control protocol over internet protocol)と socket application programming interface が搭載されました。サーバー上のすべてのネットワークサービスが、現在でも socket()bind()listen()accept() の順に呼び出すのは、Berkeley が 1983 年にこれらの名前を選んだからです。

1 つの詳細が、その後 10 年間の行方を決めました。BSD のテープは完全なシステムではありませんでした。AT&T の Unix に追加する一連の改良であり、合法的に実行するには有効な AT&T のソースライセンスが必要でした。Berkeley は数年かけて、ファイル単位で AT&T の部分を独自のコードに置き換えました。その置き換えが本当に完了していたかどうかが、後に法廷で争われることになります。

1984: 分裂、その後の Unix 戦争

Bell System は 1984 年 1 月 1 日に分割され、それとともに AT&T をソフトウェア事業から締め出していた同意判決も効力を失いました。AT&T は Unix を製品として販売できるようになり、実際に販売しました。商用ソースライセンスは高額になったため、Unix は大学が学生に提供する安価なものではなくなりました。

ベンダーはすでに Unix を分岐させていました。各ワークステーション企業が自社ハードウェア向けに独自の Unix を出荷していたため、1980 年代後半には、ある Unix 向けに書かれたプログラムを別の Unix に移植する必要がありました。業界は 1988 年に 2 つの標準化陣営へ分裂しました。一方は Open Software Foundation、もう一方は Unix International です。両陣営は、どちらの Unix が本物なのかをめぐって議論しながら、互換性のないシステムを何年も出荷し続けました。

POSIX(portable operating system interface)は、この混乱の中から生まれました。IEEE 1003.1 は 1988 年に公開され、Unix 系システムが実行すべき内容を文書化しました。対象は、システムコール、シェルの動作、標準ユーティリティ、C ライブラリのインターフェースです。これは見た目以上に重要です。標準は仕様であり、ライセンスで保護されるものではないためです。その 3 年後、ある学生がその文書に基づいてカーネルを書きました。

Minix と、そこに残された空白

Andrew Tanenbaum は 1987 年、オペレーティングシステムの教科書に掲載する教育用システムとして Minix をリリースしました。Minix は小規模な Unix 系システムで、ソースコードは書籍に付属し、学生が実際に所有していた安価な PC で動作しました。教室で読んでも合法でしたが、Seventh Edition Unix ではもはやそうではありませんでした。

Minix は、書籍で説明できる規模にする必要があったため、意図的に小さく保たれました。Tanenbaum は、Minix を実運用向けのシステムにするパッチを受け入れませんでした。ライセンスも自由ではありませんでした。書籍を購入する必要があり、変更した Minix を再配布するかどうかを自分で決めることもできませんでした。そのため 1991 年には、学生は動作する Unix 系カーネルを読むことはできても、その上に将来も残るものを構築することはできませんでした。

カーネル以外をそろえていたGNU

Richard Stallmanは、完全に自由なUnix系システムを目指し、1983年9月にGNUプロジェクトを発表しました。1991年までにGNUは、カーネルを取り巻く主要な構成要素の大半を開発していました。GCCコンパイラー、GNU Cライブラリ、バイナリユーティリティ、そしてBrian Foxが1989年に作成したシェルであり、現在もサーバーがユーザーのログイン時に起動するbashです。GNUカーネルであるHurdだけは、完成がたびたび先送りされていました。

GNU General Public License version 2は1991年6月に公開されました。その規定は簡潔です。コードを使用・変更できますが、その結果を配布する場合は、同じ条件でソースコードも配布しなければなりません。この規定が、2 sections後にこの物語の転換点になります。

1991年8月: comp.os.minix への投稿

1991年8月25日、ヘルシンキの学生が Usenet の comp.os.minix グループに投稿しました。

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.

Version 0.01 は1991年9月にリリースされました。Unix とも Minix ともコードを共有していませんでした。これは 386 向けの新しいカーネルで、Minix マシン上で開発され、POSIX インターフェースに基づいて記述され、すでに存在していた GNU ツールと組み合わせて使われました。Tanenbaum は1992年1月、モノリシックカーネルは時代遅れの設計だと Torvalds に伝えました。設計についての指摘には確かな根拠がありましたが、Torvalds が答えていたのは別の問いでした。つまり、学生が所有する安価な1台のコンピューター上で、何がうまく動作するかという問いです。

1992年2月、Version 0.12 は GPL の下で再ライセンスされました。Torvalds は後に、これが自身の最良の判断だったと述べています。元の Linux ライセンスでは金銭の授受が禁止されていたため、その後に登場した CD ベンダーやサポート企業の活動が妨げられていたでしょう。GPL は商用利用を認める一方で、配布される変更をすべて同じ共有ツリーに戻すことを求めました。

訴訟:1992 年 4 月から 1994 年 2 月まで

Berkeley は 1991 年 6 月に Networking Release 2 (Net/2) をリリースしました。これは、AT&T 由来のファイルを除いた、ほぼ完全な BSD システムでした。ただし、kernel ファイルが 6 個欠けていました。Bill と Lynne Jolitz はその代替実装を作成し、1992 年 3 月に 386BSD 0.0 を、続いて 1992 年 7 月 14 日に 386BSD 0.1 をリリースしました。Linux がまだ趣味の kernel だった時期に、386 向けの無料で完全かつ成熟した BSD が登場したのです。Berkeley Software Design, Inc. (BSDi) は、サポート付きの商用ビルド BSD/386 を販売し、電話番号 1-800-ITS-UNIX を広告に掲載しました。

1992 年 4 月、当時 Unix を所有していた AT&T の子会社 Unix System Laboratories (USL) は、営業秘密と Unix の商標をめぐり、ニュージャージー州の連邦裁判所で BSDi を提訴しました。その後、訴状が改訂され、University of California の Regents も被告に加えられました。University は 1993 年に California で反訴し、AT&T が自社のライセンスで求められていた表示を付けずに、Berkeley のコードを System V に含めて出荷したと主張しました。

法的な争点は 1993 年に崩れ始めました。Judge Dickinson Debevoise は USL による仮差し止め命令の申立てを退けました。AT&T がそのコードを著作権表示なしで何年も配布していたため、古い 32V コードに対する USL の著作権主張はおそらく無効だと判断したためです。Novell は 1993 年半ばに AT&T から USL を買収し、Novell の経営陣はこの争いを終結させたいと考えていました。訴訟は 1994 年 2 月に和解しました。Berkeley の配布物に含まれる約 18,000 個のファイルのうち、3 個が削除され、約 70 個に USL の著作権表示が追加されました。

Berkeley は 1994 年 6 月に 4.4BSD-Lite を出荷し、法的な問題のない状態になりました。係争中だった Net/2 コードを基盤として 1993 年に設立された FreeBSD と NetBSD は、その後、新しい基盤上でシステムを再構築する必要があり、その作業には 1994 年の残りの大半を要しました。Linux 1.0 は、その再構築の最中である 1994 年 3 月にリリースされました。

Linux がサーバーを担い、BSD ではなかったのはなぜですか?

訴訟はよく挙げられる答えであり、実際に理由の 1 つです。1992 年 4 月から 1994 年 2 月までの間、製品に使う無償の Unix を選ぶ人は、AT&T の弁護士が主張する係争中の権利と、誰からも訴えられるおそれのないフィンランド人学生のカーネルを比較する必要がありました。これは、Web が登場し、最初の Linux ディストリビューションが登場した時期と重なります。Slackware は 1993 年 7 月、Debian は 1993 年 8 月、その後に Red Hat と SUSE が登場しました。

裁判以外にも、同じくらい重要な要因が 4 つありました。

  • ハードウェア。Linux は最初のコードから普及価格帯の 386 PC を対象にしており、それが安価になったハードウェアでした。BSD の中心は VAX とワークステーションであり、386 への移植は 2 人による外部の取り組みでした。
  • ライセンス。GPL では、変更したカーネルを提供する企業に変更内容の公開を求めるため、ベンダーの作業が 1 つのツリーに還元されました。BSD ライセンスでは、企業が変更内容を非公開にできます。実際に変更を非公開にした企業もありました。
  • 開発モデル。Torvalds は外部の開発者からパッチを迅速に取り込み、継続的にリリースしました。386BSD のリリースは十分に遅かったため、独自のユーザーが 1993 年に NetBSD と FreeBSD へ 2 回フォークし、1995 年には OpenBSD へ再びフォークしました。
  • 勢い。開発者は、すでに他の開発者が集まっているシステムに集まります。ドライバーも、最も多くのユーザーがいるシステム向けに作られます。

技術的な問いについては、正確に見ておく必要があります。1994 年の BSD は、まとまりのあるベースシステム、文書化された開発の歴史、そして Linux が追いつくまで何年もかかったネットワークコードを備えた、より完成度の高いシステムでした。1994 年に Linux が BSD より優れていたから選ばれたわけではありません。利用可能で、法的な制約がなく、すでに所有しているハードウェアで動作し、毎週のように改善されていたから選ばれたのです。

BSD が維持したものと、現在の稼働場所

BSD は存続しました。失ったのは、標準的な選択肢としての地位です。そのことを最も明確に示す証拠は、使用中のマシンにあります。OpenBSD プロジェクトは 1999 年に OpenSSH を開発しました。現在出荷されているほぼすべての Linux システムで SSH サーバーとして使われています。そのため、学ぶ価値のある SSH key の運用習慣は、両方の系統で同じです。

Netflix は FreeBSD アプライアンスから動画を配信しています。Juniper のルーターで動作するオペレーティングシステム Junos は、基盤に FreeBSD を使用しています。PlayStation のシステムソフトウェアも FreeBSD に由来します。Apple の macOS と iOS には、カーネルと userland の広い範囲に BSD のコードが組み込まれています。BSD が共有サーバー向けコードツリーを失う要因となった寛容なライセンスは、BSD の名前を示さない多くのハードウェアに BSD のコードを組み込む結果にもなりました。

現在選ぶ場合、問題は歴史ではなく実用性です。サーバーとして Linux と FreeBSD を比較することでは、ZFS、jails、ports tree、そしてサードパーティ製ソフトウェアがどの程度 Linux を前提としているかが重要になります。サーバーとしての FreeBSD 15は、博物館の展示物ではなく、現在も保守されているシステムです。また、Linux と Windows Server の比較は別の問題であり、答えはアプリケーションスタックによって異なります。

現在 VPS で使っている 1969 年設計

これらはどれも、利用者の大半より古いものです。

  • パイプ。who | wc -l はログイン中のユーザー数を数えます。これは、1973 年の Version 3 Unix で、あるプログラムの出力を別のプログラムの入力にできるようになったためです。
  • マニュアルのセクション。man 1 lsman 5 crontab は、1971 年 11 月版のマニュアルで採用された番号体系を使っています。
  • ファイルシステムの分割。/usr が存在するのは、1971 年にその PDP-11 の root ディスクが一杯になり、開発者がファイルを 2 台目のディスクパックへ移したためです。その後、ディストリビューションではこの分割が解消されました。Ubuntu 24.04 または Debian 13 で ls -ld /bin を実行すると、usr/bin へのシンボリックリンクが表示されます。
  • ソケット呼び出し。Berkeley は 1983 年の 4.2BSD 向けにこれらを実装しました。現在もすべてのネットワークデーモンが使っています。
  • POSIX。標準に準拠して書いた #!/bin/sh スクリプトは、Linux、FreeBSD、macOS、Solaris 上で変更せずに動作します。これらのシステムはすべて、この標準を実装しているためです。

仮想プライベートサーバーを借りてログインすると、24 KB のメモリと、サービスを提供する特許部門を備えたマシン向けに設計されたインターフェースへ入力することになります。このインターフェースが残ったのは、仕様が公開され、議論され、標準化され、その後、元のコードを見ることを許されなかった人々によってゼロから再実装されたためです。

FAQ

Linux にはオリジナルの Unix コードが含まれていますか?

いいえ。Linus Torvalds は 1991 年に、AT&T のソースコードではなく POSIX インターフェースを対象として、kernel をゼロから記述しました。Unix から受け継いだのは設計と公開インターフェースです。具体的には、ファイル、プロセス、パイプ、system call の名前などです。kernel 周辺の GNU tools も、1983 年からゼロから記述されました。この独立性があったため、BSD code をめぐる AT&T の訴訟は Linux にまったく影響しませんでした。

AT&T の BSD に対する訴訟はいつ起き、BSD を終わらせましたか?

Unix を所有していた AT&T の子会社 USL は、1992 年 4 月に BSDi を提訴し、その後、カリフォルニア大学を被告に加えました。1993 年、裁判官は仮差し止めを認めませんでした。古い 32V code に対する copyright の主張は、無効である可能性が高いと判断したためです。Novell は 1993 年半ばに USL を買収し、1994 年 2 月にこの訴訟を和解で終結させました。その際、約 18,000 ファイルのうち 3 ファイルが削除され、およそ 70 ファイルに新しい copyright 表示が付けられました。BSD が終わったわけではありません。無料の Unix を世界が選んでいた 2 年間、BSD の採用が停滞しただけです。

Linux はなぜ BSD ではなくサーバーで主流になったのですか?

理由の 1 つは法的な確実性です。1992 年から 1993 年にかけて、Linux には訴訟がなく、BSD には訴訟がありました。その他の理由は、当初から 386 を対象にしていたこと、GPL によってベンダーの変更が 1 つの tree に戻されたこと、そして 386BSD が 3 方向に fork する中でも、貢献者の関心を維持できるほど merge process が速かったことです。決定要因は技術的な優位性ではありませんでした。1994 年の時点では、BSD のほうが完成度の高い system だったためです。

FreeBSD は現在でも運用する価値がありますか?

はい。具体的な理由があります。base system に統合された ZFS、成熟した isolation model である jail、1 つの整合した unit として開発される base system、そして正確さが維持されている documentation です。代償は compatibility work です。ほとんどの third party server software、container tooling、vendor support は Linux を前提としているためです。以前からの系譜への忠誠心ではなく、storage と networking の運用上の利点がその代償に見合う場合に FreeBSD を選んでください。