BSDが築いたインターネット ― その功績(後編)

Code That Built the Internet: The Impact of the BSD Operating System, Part 2

このシリーズの第1回では、BSDとインターネットとの密接な関係について紹介しました。最終回となる今回は、BSDが生み出した代表的な技術や、その影響についてさらに詳しく見ていきます。

デジタル通信で最も重要な手段

現在では、友人や同僚、そして世界中の人々と情報を共有するための手段は数多く存在します。従来のSMS(ショートメッセージ)に加え、チャットツールやさまざまなコラボレーションプラットフォームが登場し、仕事の効率化やAIによる業務支援まで行われています。

しかし、デジタルコンピューティングの歴史の大半において、人々がほぼ全面的に依存していたのは電子メールでした。電子メールは、インターネットよりも早い1965年に考案されています。現在でも、多くのオンラインサービスでは、登録やログイン時にメールアドレスが必要です。これは、電子メールが世界共通で一意な識別子として機能しているという前提があるためです。

では、BSDは電子メールの発展にどのような貢献をしたのでしょうか。

インターネットで最終的に標準となったSimple Mail Transfer Protocol(SMTP)が登場する以前には、数多くのメール転送プロトコルが存在していました。

SMTPは、その名のとおり非常にシンプルなプロトコルです。FTPやTelnet、そして後に登場したHTTPと同じ設計思想を受け継ぎ、すべてがプレーンテキストで構成されています。そのため、アプリケーションの開発やデータ転送、トラブルシューティングが容易になります。メールは送信者などの情報を含むヘッダー行で始まり、その後に本文(ユーザーのメッセージ)が続きます。

しかし、メールソフトウェアの開発は決して簡単ではありませんでした。当時は数多くの異なるメールシステムが存在し、それらを相互にやり取りできるようにする必要があったからです。

Eric Allmanによるsendmailは、1979年に「delivermail」という名称で初めて公開されました。これは、SMTPが1982年8月にRFCとして正式に定義される以前のことです。

メール形式を解析するだけでも非常に困難な作業でした。多くのメール形式は、IPプロトコルスタックやDomain Name System(DNS)が登場する以前から存在しており、それぞれ独自のメール配送方式を採用していました。例えば、当時広く利用されていたUUCPでは、「バングパス(bang path)」と呼ばれる方式で、ホスト名を感嘆符(!)で区切って配送経路を表していました。

sendmailは、これらすべてに対応していました。

解析処理の複雑さに加え、設定ファイルも非常に簡潔な書式で記述されていました。これは1980年代のメモリやディスク容量の制約を考慮した設計でした。そのため、一般的なsendmailの設定ファイルは、まるで暗号化されたスパイ文書のように見えるほど難解です。

そして、その簡潔すぎる設定形式とは対照的に、公式ドキュメントは非常に膨大でした。O’Reilly社の名著『sendmail』(初版はAllman自身が執筆)は版を重ねるごとに内容が増え、最終的には1,300ページを超える大著となりました。それでも長年にわたり、システム管理者にとって必携の一冊でした。

私が確認できたsendmailの普及率に関する統計は1996年のものですが、その時点で到達可能なSMTPサーバーの約80%がsendmailを利用しており、他のメールサーバーソフトウェアを大きく引き離していました。

また、sendmailがコンピューター史に果たしたもう一つの重要な役割についても触れておかなければなりません。それは、インターネット全体を対象とした最初の大規模サイバー攻撃を引き起こすきっかけとなったことです。

その理由は、sendmailには長年にわたり既知のセキュリティ脆弱性が存在していたためです。この脆弱性を含む機能は無効化できましたが、多くの管理者はその対応を行いませんでした。確かに目立たない脆弱性ではありましたが、その存在は以前から知られていたにもかかわらず、修正されていませんでした。

sendmailは名目上はオープンソースでしたが、現代の多くのフリーソフトウェアプロジェクトのようにコミュニティ主体で開発されていたわけではありません。BSDの多くのコンポーネントと同様に、ごく少人数の開発チームによって管理されていました。

1980年代後半、私はMASSCOMPというUnixベンダーで働いていました。そこは比較的自由な社風で、社員は興味のある話題について会社全体にメールを送ることがよくありました。

あるメールでは、1人のプログラマーが日頃の不満を一気に書き連ねていました。さまざまなツールへの不満、プロジェクト運営への不満、会社の方針への不満を述べた最後に、冗談交じりでこう締めくくっていました。

「どうしてsendmailのバグはまだ残っているんだ?」

おそらく、このバグこそが、1988年に大学院生によって悪用された脆弱性だったのでしょう。その結果、「ワーム」と呼ばれるプログラムがコンピューターからコンピューターへと自己増殖しながら感染を広げ、インターネット上の約10%のホストを停止させました。

初期のセキュリティ侵害の多くと同様、このワーム事件は、それまで抽象的・理論的な存在だった脅威を、一気に現実のものへと変えました。

その後も開発者たちは脆弱性の修正に取り組み続けています。しかし、多くの利用者はソフトウェアの更新を後回しにしてしまうため、既知の脆弱性が現在でも攻撃に悪用され続けています。

コンピューティング革新を育んだ豊かな土壌

BSDは、このシリーズで紹介したネットワーク技術以外にも、現代のオペレーティングシステムやプログラミングツールに計り知れない影響を与えています。

本シリーズで紹介しきれなかった代表的な成果には、次のようなものがあります。

  • vi:BSD、Linux、その他のUnix系OSで多くの上級ユーザーに利用されている高機能テキストエディター
  • Jails:DockerやKubernetesの基盤となるコンテナ技術の先駆け
  • Berkeley Packet Filter(BPF):カーネル内でユーザー空間プログラムを実行するための仕組み。現在ではLinuxにも移植され、多くの高度な機能で利用されている
  • termcapとcurses:プレーンテキスト画面上でグラフィカルなユーザーインターフェースを実現するCライブラリ(1980年代には画期的な技術であり、特にviの実装を支えました)
  • BSD Make:AT&T Unixのビルドシステムを全面的に作り直したもので、Linuxカーネルのビルドで使われるGNU MakeとAutoconf/Automakeとは異なる、包括的なビルド管理環境を提供しています

BSDは、Unixベース企業として歴史上最も成功し、最も大きな影響を与えた企業の一つであるSun Microsystemsの中核技術でもありました。

Sun Microsystemsは1982年にBill JoyをはじめとするBSDの主要開発者によって設立され、研究者やUnixのプロフェッショナルから最も支持されるベンダーとなりました。

同社は、その歴史の中でコンピューティングを代表する2つの重要な技術を生み出しました。それが、分散ファイルシステムのNFSと、プログラミング言語Javaです。

では、なぜBSDは世界共通のフリーOSにならなかったのでしょうか。

その経緯については、私が執筆した4部構成の記事「From Unix to Linux: Key Trends in the Evolution of Operating Systems」で詳しく解説しています。特に第3回では、BSDの普及を阻んだ要因について紹介しています。

それでもBSDは現在もさまざまな分野で活躍しています。

多くの大企業のミッションクリティカルなシステムを支え続けており、その安定性や性能を高く評価する管理者の中には、「パタゴニアにいるすべてのペンギンと引き換えでもLinuxには乗り換えない」と語る人もいます。

BSDを製品の中核技術として利用している企業には、Apple(BSDを基盤とするmacOSの中核部分を、オープンソースプロジェクト「Darwin」として公開)、Network Appliance、Netflix、Juniper Networks、New York Internet、Sheridan Computers、Beckhoff、Metify、rgNets、Cloudium、Antithesis、ecard、そしてSony PlayStationなどがあります。

なお、多くの企業は、自社製品でBSDを利用していることを公表していません。

たとえ別のオペレーティングシステムを利用している人であっても、その基盤にはBSDが残した遺産があります。

なぜなら、インターネットが今日の姿へと成熟する土台を築いたのはBSDだったからです。

《 このシリーズの第1回を読む

Author

  • Andrew Oram

    Andy is a writer and editor in the computer field. His editorial projects at O'Reilly Media ranged from a legal guide covering intellectual property to a graphic novel about teenage hackers. Andy also writes often on health IT, on policy issues related to the Internet, and on trends affecting technical innovation and its effects on society. Print publications where his work has appeared include The Economist, Communications of the ACM, Copyright World, the Journal of Information Technology & Politics, Vanguardia Dossier, and Internet Law and Business. Conferences where he has presented talks include O'Reilly's Open Source Convention, FISL (Brazil), FOSDEM (Brussels), DebConf, and LibrePlanet. Andy participates in the Association for Computing Machinery's policy organization, USTPC.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です