T1#regulation#research#open-source#security
1BSD 公開 ── Berkeley から始まる UNIX の系譜分岐
メタデータ
- 日付
- 年代
- 1970s
- Tier
- T1
- 参照年表
- オープンソースの歴史
- 出典数
- 04
- 関連項目
- 04
- Tags
- #regulation#research#open-source#security
1978年3月9日、 カリフォルニア大学バークレー校の大学院生 Bill Joy が編集した最初の配布テープ「First Berkeley Software Distribution(1BSD)」が世に出た。 AT&T Bell 研究所の UNIX 第6版に載せる追加物であって、 単独の OS ではない。
Joy がこれを組み上げ始めたのは 1977 年である。 Marshall Kirk McKusick の一次証言("Twenty Years of Berkeley Unix") は「1977年初頭、 Joy は Berkeley Software Distribution をまとめた」と書き、 その後1年をかけて約30本を無償で送り出したとする。 一方 1BSD の公開日として広く引かれるのは 1978年3月9日 ── この時期の BSD の日付は資料によって1年前後ずれることがあり、 「編集の開始」と「テープの発送」を切り分けて読む必要がある。
しかしこの小さなテープから、 半世紀にわたる UNIX の系譜分岐が始まる。 ── SunOS、 BSD/OS、 FreeBSD、 NetBSD、 OpenBSD、 そして macOS。 PlayStation 4 / 5 のシステムソフトウェアも、 Netflix の配信サーバも、 BSD 系から生まれている。
なぜ Berkeley で UNIX が育ったか
始まりは 1973年11月、 Purdue で開かれた SOSP(オペレーティングシステム原理シンポジウム) である。 Ken Thompson と Dennis Ritchie が最初の UNIX 論文を発表し、 会場にいたバークレー校の Bob Fabry 教授がその場でシステムの入手を決めた。 PDP-11/45 が調達され、 1974年1月に UNIX 第4版のテープが届いて大学院生 Keith Standiford が導入する。 Thompson がニュージャージーから 300 ボーのモデム越しにクラッシュダンプを遠隔デバッグしたのが、 Bell 研とバークレーの協力関係の最初の例になった。
AT&T は当時、 独占禁止法上の同意判決により計算機事業に出られず、 UNIX を教育機関向けに実費で配布する運用を取っていた。 商用バイナリではなくソースコードごと大学に降りたことが決定的だった。
1975年秋、 Thompson は母校バークレーに1年間のサバティカルで着任し、 新しい PDP-11/70 の上に UNIX 第6版を立ち上げる。 同じ秋に大学院に入ってきたのが Bill Joy と Chuck Haley だった。 二人はまず Thompson が置いていった Pascal 処理系に手を入れ、 エラー回復の良さと速さで学生の標準環境にしてしまう。 続いて ed エディタの窮屈さに耐えかね、 ロンドンの Queen Mary College の George Coulouris から入手した em を土台に、 行単位エディタ ex を作った。
1BSD の中身
1BSD は単一の OS ではなく、 「UNIX 第6版に対する追加物のバンドル」だった。 McKusick の記述によれば中身は素っ気ない ── Pascal 処理系と、 その Pascal ソースの目立たないサブディレクトリに紛れ込ませた ex エディタ。 それだけである。 Pascal の誤り回復機構が評判を呼び、 「コピーが欲しい」という要望が集まったのが配布のきっかけだった。
配布は無償で、 Joy 自身が「配布係」として発送も電話応対も引き受けた。 受け取った大学・研究所は自分のサイトでさらに改造してテープを送り返してくる。 「読み書き両方向の配布」という運用が、 自然発生的に始まっていた。
なお csh と termcap は 1BSD には入っていない。 画面制御可能な ADM-3a 端末が届いてから Joy が vi を書き、 端末ごとの差異を吸収するために termcap が生まれる ── これらが載るのは次の 2BSD である。
4BSD・TCP/IP・そして商用化
その後の主要マイルストーン:
- 2BSD(1979年5月) ── vi と C シェル、 termcap。 約75本を発送
- 3BSD(1979年12月) ── VAX 対応、 仮想記憶。 約100本
- 4BSD(1980年10月) ── DARPA との18か月契約の成果。 ジョブ制御、 自動再起動、 1K ブロック ファイルシステム。 約150本
- 4.1BSD(1981年6月) ── 性能批判に応えたカーネル調整版
- 4.2BSD(1983年) ── TCP/IP、 ソケット API、 高速ファイルシステム(FFS)
- 4.3BSD(1986年)、 4.3BSD-Reno(1990年初頭)
- Networking Release 1(1989年)/Net/2(1991年6月) ── AT&T 由来コードを除いた自由再配布可能版
CSRG(Computer Systems Research Group)が発足するのは 1980年である。 DARPA が研究拠点の計算機環境を UNIX に統一する方針を採り、 Bob Fabry が 1980年4月からの18か月契約を取り付けた際に立ち上げた組織で、 1BSD・2BSD・3BSD はそれ以前 ── Joy がほぼ一人で回していた時期の産物だった。
TCP/IP がバークレーの手で実用水準に載ったのは 4BSD ではなく 4.1a(1982年、 学内配布)から 4.2BSD(1983年)にかけてである。 BBN の Rob Gurwitz が実装した初期版を Joy が取り込んで性能を詰め、 Joy と Sam Leffler が「複数のネットワーク プロトコルを同時に扱える」内部構造へ設計し直した。 同時期に McKusick が高速ファイルシステムを、 Joy がプロセス間通信(ソケット) を仕上げている。 なお NFS は Sun が後年開発したもので 4.2BSD の成果ではない(バークレーの木に入るのは 4.3BSD-Reno 以降)。 rcp・rsh・rlogin・rwho といった「r コマンド」群が生まれたのもこの時期だった。
USL v. BSDi 訴訟 ── OSS 文化の通過儀礼
Net/2 は 1991年6月から 1,000 ドルの手数料で配布され、 数百の個人・組織が受け取った。 足りない6つのカーネル ファイルを Bill Jolitz が書き足して 386/BSD を無償公開したのが半年後。 一方、 CSRG メンバーらが興した会社 BSDi は 1992年1月、 ソース込みのシステムを 995 ドルで売り出す ── 「System V のソース+バイナリに比べて99%引き」という広告と、 1-800-ITS-Unix という電話番号つきで。
AT&T の子会社 USL(UNIX System Laboratories) はまず番号と表示の差し止めを求め、 続いて 1992年、 ニュージャージー州連邦地裁に提訴した。 主張は著作権侵害、 営業秘密の不正使用、 契約違反、 商標の希釈である。 判事 Dickinson R. Debevoise は 1992年12月に差し止めの審理を行い、 約6週間後に40ページの意見で差し止めを退け、 訴えの大半を却下した。 カリフォルニア大学はただちに州裁判所へ反訴 ── System V に取り込まれた BSD コードへの謝辞義務を USL が果たしていない、 という内容だった。
1993年に USL は Novell に買収され、 「法廷ではなく市場で競いたい」という CEO Ray Noorda の意向で和解が進む。 決着は 1994年初頭。 内容は次のとおりで、 バークレー側の実質的な勝利だった。
- Net/2 を構成する 18,000 ファイルのうち削除されたのは3つ。 他のいくつかに軽微な修正
- 約70ファイルに USL の著作権表示を加える。 ただしそれらも自由な再配布は続けられる
- USL は 4.4BSD-Lite の利用者・配布者を訴えない
これを受けて 1994年6月に 4.4BSD-Lite が公開され、 BSDi・NetBSD・FreeBSD は揃ってこれを土台に作り直した。 1995年6月の 4.4BSD-Lite Release 2 を最後に CSRG は解散する。
この訴訟は OSS コミュニティに二つの教訓を残した。 第一に、 コードの起源を明示し、 ライセンスで権利関係を担保する文化の必要性。 第二に、 大企業の法務リスクから自由な開発を守るには、 コミュニティ的に運営される複数の派生プロジェクト(FreeBSD、 NetBSD、 OpenBSD のように)が並立する構造が強いという発見だった。 そして訴訟が続いた数年のあいだに Linux カーネルが伸びたことも、 しばしば指摘される。
いま BSD が動いている場所
1BSD の遺伝子が今どこにあるか:
- macOS / iOS / iPadOS / watchOS / tvOS / visionOS: 基盤の Darwin は Mach マイクロカーネルと BSD 由来のコードを組み合わせた XNU カーネルを持ち、 userland と TCP/IP スタックも BSD 系
- PlayStation 4 / 5: FreeBSD ベースのシステムソフトウェア
- Netflix の配信エッジ: FreeBSD で高速 TCP を実装
- Junos(Juniper Networks のルータ OS): FreeBSD ベース
- WhatsApp のサーバ: 少人数のチームが FreeBSD 上の Erlang で数億ユーザ規模を捌いたことで知られる
- Linux ディストリビューション: McKusick 自身が指摘するとおり、 同梱ユーティリティの約半分は BSD 由来である
約30本のテープで配られた小さな追加物の束が、 半世紀後の世界の通信・メディア・ゲーミングのインフラに残っている。 「コードを共有する」という最初期の実践として、 1BSD は GNU・Linux・Apache・Git に先行する OSS 系譜の起点である。
よくある質問
- 1BSD は OS なのか
- いいえ。AT&T Bell 研究所の UNIX 第6版に載せる追加物であって、単独の OS ではありません。中身は Pascal 処理系と、その Pascal ソースの下に置かれた ex エディタでした。
- 1BSD は何本配られたのか
- 1年かけておよそ30本です。テープで配布されました。
出典
最終更新: