バークレー・ソフトウェア・ディストリビューション(BSD)の歴史は、 1970年代にカリフォルニア大学バークレー校がUnixのコピーを入手したことから始まりました。同大学の教授や学生は、このオペレーティングシステムにソフトウェアを追加し始め、BSDとして一部の大学に配布しました。当初は独自のUnixコードが含まれていたため、AT&Tのライセンスに基づいて配布する必要がありました。AT&Tから提供されたバンドルソフトウェアはその後書き換えられ、BSDライセンスの下でフリーソフトウェアとしてリリースされました。しかし、これによりUnixの開発を担当していたAT&Tの子会社であるUnix System Laboratoriesとの間で訴訟が発生しました。最終的に1990年代に、BSDの最終バージョンが独自のライセンスなしで公開され、現在もメンテナンスされている多くの派生OSが誕生しました。
1970年代のベル研究所による初期のUnix配布版には、オペレーティングシステムのソースコードが含まれており、大学の研究者がUnixを修正および拡張できるようになっていました。このオペレーティングシステムは、Unixが初めて発表されたオペレーティングシステム原理シンポジウムのプログラム委員会のメンバーであったコンピュータ科学教授ボブ・ファブリーの要請により、1974年にバークレーに導入されました。システムを実行するためにPDP-11/45が購入されましたが、予算上の理由から、このマシンはRSTSを使用していたバークレーの数学および統計グループと共有され、Unixは1日に8時間(日中または夜間)しかマシン上で実行されませんでした。翌年、Ingresデータベースプロジェクトの資金を使用して、より大型のPDP-11/70がバークレーに設置されました。[ 1 ]
また、1975年にケン・トンプソンはベル研究所から休暇を取り、客員教授としてバークレーにやってきた。彼はUnixバージョン6のインストールを手伝い、システムのPascal実装に取り組み始めた。大学院生のチャック・ヘイリーとビル・ジョイはトンプソンのPascalを改良し、改良されたテキストエディタを実装した。 [ 1 ]他の大学もバークレーのソフトウェアに興味を持ち、1977年にジョイは最初のBerkeley Software Distribution(1BSD)のコンパイルを開始し、1978年3月9日にリリースした。[ 2 ] 1BSDはそれ自体で完全なオペレーティングシステムではなく、Unixバージョン6のアドオンだった。約30部が配布された。[ 1 ]
1979 年 5 月にリリースされた Second Berkeley Software Distribution (2BSD) [ 3 ]には、 1BSD ソフトウェアの更新版に加え、Joy による 2 つの新しいプログラムが含まれていました。これらは現在も Unix システムで使用されています。viテキストエディタ ( exのビジュアル版) とC シェルです。約 75 部が Bill Joy によって配布されました。[ 1 ]さらに、 Eric Schmidtが修士論文の一環として開発したBerknetと呼ばれるネットワーク パッケージも特徴の一つで、最大 26 台のコンピュータを接続し、電子メールやファイル転送機能を提供していました。[ 4 ]
VAXシリーズのコンピュータ向けに 3BSD (下記参照) がリリースされた後も、PDP-11 向けの 2BSD の新バージョンはUSENIXを通じて引き続き発行および配布されました。たとえば、1982 年の 2.8.1BSD には、Version 7 Unixのパフォーマンス問題に対する修正がまとめられており[ 5 ]、後のリリースには、VAX ベースの BSD リリースからの変更を PDP-11 アーキテクチャに移植したものが含まれていました。1983 年の 2.9BSD には 4.1cBSD のコードが含まれており、アプリケーションとパッチのセットではなく、完全な OS (修正された V7 Unix) としてリリースされた最初のバージョンでした。
最新リリースである2.11BSD は、1991 年に初めてリリースされました。[ 6 ] 以前のリリースとは異なり、ユーティリティ プログラムのサイズがますます大きくなるため、命令/データ スペースを分割する必要がありました。21 世紀に入っても、ボランティアによるメンテナンス アップデートは継続され、パッチ#499は 2026 年 1 月 2 日にリリースされました。[ 7 ]


1978 年に、バークレーにDEC VAXコンピュータが設置されました。VAX アーキテクチャへのバージョン 7 Unixの移植であるUNIX/32Vは、 Franz Lispのような大規模プログラムを実行するために必要なVAX の仮想メモリ機能を活用していませんでした。 32V のカーネルは、仮想メモリの実装を含めるためにバークレーの大学院生Özalp Babaoğluによって大幅に書き直され、新しいカーネル、2BSD ユーティリティの VAX への移植、および 32V のユーティリティを含む完全なオペレーティングシステムが 1979 年末に 3BSD としてリリースされました。 3BSD は、Virtual VAX/UNIX または VMUNIX (Virtual Memory Unix の略) とも呼ばれ、BSD カーネルイメージは通常4.4BSD までそのように呼ばれていました。/vmunix
3BSDの成功は、国防高等研究計画局(DARPA)がバークレーのコンピュータシステム研究グループ(CSRG)に資金提供することを決定した主要な要因の一つであり、CSRGは将来のDARPAのVLSIプロジェクトにおける研究のための標準的なUnixプラットフォームを開発することになった。
4BSD (1980 年 11 月) は 3BSD に比べて多くの機能強化を提供しました。特に、以前にリリースされたcshのジョブ制御、delivermail ( sendmailの祖先)、「信頼できる」シグナル、およびCursesプログラミング ライブラリが挙げられます。1985 年の BSD リリースのレビューで、John Quartermanらは次のように書いています。 [ 8 ]
4BSDは、VAXの初期の頃からSystem IIIのリリース(1979~1982年)まで、VAXのオペレーティングシステムとして選ばれていました。[...] ほとんどの組織は32Vライセンスを購入し、32Vテープを入手する手間をかけずにバークレーから4BSDを注文していました。ベルシステム内の多くのインストールでは4.1BSDが稼働しており(現在でも稼働しているものが多く、その他多くのインストールでは4.2BSDが稼働しています)。
4.1BSD (1981 年 6 月) は、当時主流だった VAX オペレーティングシステムであるVMSと比較して BSD のパフォーマンスが劣っているという批判への対応として開発されました。4.1BSD カーネルは、ビル・ジョイによって体系的に調整され、いくつかのベンチマークで VMS と同等のパフォーマンスを発揮できるようになりました。このリリースは5BSDと呼ばれる予定でしたが、AT&Tの反対により名前が変更されました。AT&T は、AT&TのUNIX System Vとの混同を恐れていました。[ 9 ]いくつかのテープが見つかっており、すべてに 4.1BSD と書かれたラベルが付いていますが、テープ間には違いがあります。[ 10 ] 4.1BSD から 4.2BSD に至るソフトウェア開発は、ARPA、注文番号 4031、契約番号 N00039-82-C-0235 などの資金提供を受けており、この契約は少なくとも 1981 年 11 月 15 日から 1983 年 9 月 30 日まで有効であった。[ 11 ] [ 12 ]
4.2BSD (1983 年 8 月) の実装には 2 年以上かかり、いくつかの大きな変更が含まれていました。公式リリースの前に 3 つの中間バージョンがありました。1982年 4 月の4.1a [ 13 ]は、 BBN の予備的なTCP/IP実装の修正バージョンを組み込んでいました。1982 年 6 月の4.1bには、 Marshall Kirk McKusickによって実装された新しいBerkeley Fast File System が含まれていました。1983年 4 月の4.1cは、4.2BSD の開発の最後の数か月間の中間リリースでした。ベル研究所に戻ると、4.1cBSD はResearch Unixの第 8 版の基礎となり、商用サポート付きバージョンはmt Xinuから入手できました。
4.2BSDの設計を導くため、DARPAのデュアン・アダムスは、バークレー大学のボブ・ファブリー、ビル・ジョイ、サム・レフラー、 BBNのアラン・ネメス、ロブ・ガーウィッツ、ベル研究所のデニス・リッチー、スタンフォード大学のキース・ランツ、カーネギーメロン大学のリック・ラシッド、 MITのバート・ハルステッド、ISIのダン・リンチ、UCLAのジェラルド・J・ポペックからなる「運営委員会」を組織した。委員会は1981年4月から1983年6月まで会合を開いた。
高速ファイルシステム以外にも、ディスククォータなど、外部の貢献者によるいくつかの機能が採用されました。Sun Microsystems はリリース前にMotorola 68000マシンでテストを行い、システムの移植性を向上させました。[ 8 ] CSRG ISO の 4.1c BSD アーティファクトには Sun のハードウェアサポートが明確に示されています。[ 14 ]
公式のBSD 4.2は1983年8月にリリースされました。これは、1982年にビル・ジョイがサン・マイクロシステムズを共同設立するために退社した後、初めてリリースされたバージョンとして注目されました。それ以降、マイク・カレルズとマーシャル・カーク・マキュージックがプロジェクトのリーダーシップを担うようになりました。また、余談ですが、このバージョンでは、ジョン・ラセターが描いたBSDのデーモンマスコットが初登場し、 USENIXが配布した印刷版マニュアルの表紙を飾りました。


4.3BSDは1986年6月にリリースされました。主な変更点は、4.1BSDのコードほど徹底的に最適化されていなかった4.2BSDの多くの新機能のパフォーマンスを向上させることでした。リリース前、BSDのTCP/IP実装はBBNの公式実装から大きく乖離していました。数ヶ月にわたるテストの後、DARPAは4.2BSD版の方が優れていると判断し、4.3BSDにもそのまま採用することにしました。(インターネットの歴史も参照してください。)
4.3BSD以降、BSDは老朽化したVAXプラットフォームから脱却することが決定されました。当時、Computer Consoles Inc.が開発したPower 6/32プラットフォーム(コードネーム「Tahoe」)は有望視されていましたが、その後まもなく開発者によって放棄されました。しかしながら、 4.3BSD-Tahoeへの移植(1988年6月)は、BSDにおけるマシン依存コードとマシン非依存コードの分離につながり、システムの将来的な移植性を向上させるという点で、非常に価値のあるものでした。
移植性以外にも、CSRGはOSIネットワークプロトコルスタックの実装、カーネル仮想メモリシステムの改良、そして(LBLのヴァン・ヤコブソンと共に)インターネットの成長に対応するための新しいTCP/IPアルゴリズムの開発に取り組んだ。[ 15 ]
それまで、BSDのすべてのバージョンはAT&T独自のUnixコードを組み込んでいたため、AT&Tのソフトウェアライセンスの対象となっていました。ソースコードのライセンス料が非常に高額になったため、複数の外部関係者が、AT&Tとは全く関係なく開発され、ライセンス要件の対象とならないネットワークコードの別バージョンに関心を示しました。これが、AT&Tコードのライセンスを持たないユーザーにも利用可能で、BSDライセンスの条件に基づいて自由に再配布できるNetworking Release 1(Net/1 )の開発につながり、 1989年6月にリリースされました。
4.3BSD-Reno は1990 年初頭にリリースされました。これは 4.4BSD の初期開発中の暫定リリースであり、その使用は「賭け」と見なされていたため、ネバダ州リノのギャンブルの中心地からその名前が付けられました。このリリースは明確にPOSIX準拠を目指していました。[ 15 ]新機能の中には、ゲルフ大学によるNFS実装、ステータス キー (「Ctrl-T」) 、ユタ大学の「HPBSD」ポートに由来するHP 9000シリーズのコンピュータのサポートなどがありました。[ 16 ]
2006年8月、InformationWeek誌はBSD 4.3を「これまで書かれた中で最も優れたソフトウェア」と評価した。[ 17 ]彼らは次のようにコメントした。「BSD 4.3はインターネットの最大の理論的基盤を表している。」

Net/1 の後、BSD 開発者のKeith Bostic は、 BSD システムの AT&T 以外の部分を Net/1 と同じライセンスでリリースすることを提案しました。この目的のために、彼は AT&T のコードを使わずに標準 Unix ユーティリティのほとんどを再実装するプロジェクトを開始しました。たとえば、オリジナルの Unix 版edをベースにしていたviは、 nvi (新しい vi)として書き直されました。18 か月以内に、すべての AT&T ユーティリティが置き換えられ、カーネルに残っている AT&T ファイルはごくわずかであることが判明しました。これらのファイルは削除され、その結果、1991 年 6 月にNetworking Release 2 ( Net/2 )、別名 Network(ing) 2 がリリースされました。これは、ほぼ完成しており、自由に配布できるオペレーティングシステムでした。
Net/2は、 Intel 80386アーキテクチャへのBSDの2つの移植版の基盤となった。1つはWilliam Jolitzによるフリーの386BSD、もう1つはBerkeley Software Design (BSDi)によるプロプライエタリなBSD/386(後にBSD/OSと改名)である。386BSD自体は短命に終わったが、その後すぐに開始されたNetBSDおよびFreeBSDプロジェクトの初期コードベースとなった。
BSDiは間もなく、当時System Vの著作権とUnixの商標権を保有していたAT&Tの子会社であるUnix System Laboratories (USL)との間で法的トラブルに巻き込まれた。USL対BSDiの訴訟は1992年4月に提起され、USLのソースコードに対する著作権主張の有効性が確定するまで、Net/2の配布が差し止められるという結果となった。
訴訟により、BSD のフリーソフトウェアの子孫の開発は、法的地位が問題となる間、ほぼ 2 年間遅れ、その結果、そのような法的曖昧さのないLinux カーネルに基づくシステムがより多くの支持を得ることになった。1992 年までリリースされなかったが、 386BSDの開発はLinux の開発よりも先行していた。Linus Torvalds は、当時386BSD またはGNU カーネルが利用可能であったら、おそらく Linux を作成しなかっただろうと述べている。 [ 18 ] [ 19 ]

1992年8月に4.4BSD-Alphaがリリースされ、1993年6月には4.4BSD-EncumberedがUSLライセンス保持者のみにリリースされた。
訴訟は1994年1月に和解し、大部分はバークレーに有利な結果となった。バークレー配布版の18,000個のファイルのうち、削除する必要があったのはわずか3個で、USLの著作権表示を表示するために修正する必要があったのは70個だけだった。和解のさらなる条件として、USLは次期4.4BSDリリースでバークレー所有のコードのユーザーや配布者に対して訴訟を起こさないことになっていた。マーシャル・カーク・マキュージックはこの訴訟とその結果について次のように要約している。[ 20 ]
コードのコピーと企業秘密の窃盗が申し立てられた。実際に侵害されたコードは、2年近く特定されなかった。訴訟は、ノベルがAT&TからUSLを買収し、和解を求めたため、さらに長引く可能性があった。最終的に、配布された18,000個のファイルのうち3個が削除され、他のファイルにもいくつかの軽微な変更が加えられた。さらに、大学側は約70個のファイルにUSLの著作権表示を追加することに同意したが、その条件として、これらのファイルは引き続き自由に再配布されることとした。
1994年3月、USLソースライセンスが不要になった4.4BSD-Liteがリリースされ、オリジナルの4.4BSD-Encumberedリリースに比べて多くの変更が加えられた。
バークレー校からの最後のリリースは1995年の4.4BSD-Lite Release 2であり、その後CSRGは解散し、バークレー校でのBSDの開発は終了した。それ以来、4.4BSD-Liteを直接的または間接的にベースとしたいくつかの派生版( FreeBSD、NetBSD、OpenBSD、DragonFly BSDなど)が維持されている。
さらに、BSD ライセンスの寛容な性質により、フリーおよびプロプライエタリの両方の多くのオペレーティングシステムが BSD コードを取り込むことが可能になりました。たとえば、Microsoft Windows はTCP/IP の実装に BSD 由来のコードを使用しており[ 21 ] 、 Windows 2000以降、 BSD のコマンドラインネットワーク ツールの再コンパイル バージョンをバンドルしています[ 22 ]。また、Apple のmacOSが構築されているシステムであるDarwin は、4.4BSD-Lite2 および FreeBSD の派生です。Solaris などのさまざまな商用 Unix オペレーティングシステムにも、さまざまな量の BSD コードが含まれています。

BSDは数多くのオペレーティングシステムの基盤となってきた。今日、その中でも特に注目すべきは、FreeBSD、NetBSD、OpenBSDといった主要なオープンソースBSDだろう。これらはすべて、様々な経路を経て386BSDと4.4BSD -Liteから派生したものである。NetBSDとFreeBSDはどちらも1993年に誕生し、当初は386BSDから派生していたが、1994年に4.4BSD-Liteのコードベースに移行した。OpenBSDは1995年にNetBSDからフォークされた。Sun社のSunOSやApple社のmacOSなど、多くの商用オペレーティングシステムも、BSDまたはその派生版を部分的または全体的にベースとしている。
現在主流のBSD系オペレーティングシステムのほとんどはオープンソースであり、 BSDライセンスの下で無料でダウンロードできます。ただし、 macOSは例外です。また、 macOSとDragonFly BSDはハイブリッドカーネルを採用していますが、BSD系OSは一般的にモノリシックカーネルアーキテクチャを使用しています。様々なオープンソースBSDプロジェクトは、カーネルとユーザーランドのプログラムおよびライブラリを共同で開発し、ソースコードは単一の中央リポジトリで管理されています。
過去には、BSDはSunのSunOS、SequentのDynix、NeXTのNeXTSTEP、DECのUltrix、OSF/1 AXP(現在のTru64 UNIX )など、いくつかの独自バージョンのUnixの基盤としても使用されていました。NeXTのソフトウェアの一部は、一般市場で最も商業的に成功したBSD派生版の一つであるmacOSの基盤となりました。
BSDから派生した主要なUnixバージョンおよびUnixライクなオペレーティングシステムには、以下のようなものがある。
公式の4.1BSDリリーステープイメージは存在しなかったようです。
のサポートは4.1BSDに一時的に追加され、4.2BSDがリリースされる前に削除されました。