OpenBSD
OpenBSD 7.0 FVWM環境
開発者OpenBSD プロジェクト
OSの系統BSD
開発状況開発中
ソースモデルオープンソース
最新安定版7.5 - 2024年4月5日 (43日前) (2024-04-05)[1] [±]
OpenBSD(オープンビーエスディー)は、セキュリティや正当性(correctness)などを特に重視した、BSDをベースにして開発された、オープンソースの、Unix系オペレーティングシステム (OS)。NetBSDの主要開発者のひとりであるテオ・デ・ラート(Theo de Raadt)が、1995年にNetBSDからフォークさせる形で開発が始まったものであり、BSDの子孫のひとつである。 目標としているのは「正しい思想」(correctness) と「先制的なセキュリティ」(proactive security) である。オープンソースおよびドキュメンテーションの重視、ソフトウェアライセンスに妥協しない姿勢でも知られている。テオ・デ・ラートの自宅がアルバータ州カルガリーということで、暗号の輸出制限がないカナダを開発の本拠地としている。ロゴおよびマスコットはフグのPuffy。 OpenBSDの目指す「正しい思想」には、GPLより制限の少ないBSD/ISCライセンスこそ真にフリーであるという意見や、正しく設計されたOSは移植が容易であるはずだという理念などが含まれる。もともとNetBSDから派生したため移植性は高いレベルにあったが、新しいプラットフォームへの移植のたびにコードが洗練されセキュリティの向上につながってきたとして、NetBSDとは別の観点から移植の意義を強調している。 また「先制的なセキュリティ」とは、脆弱性が発見されてから問題を修正するのではなく、問題の起こりにくい設計や徹底したコード監査によって、事前にあらゆる危険性を排除しようとすることを意味する。 そのため、通常のインストールではほとんどのサービスが起動しないようになっており、これまでに「デフォルトインストールでのリモートセキュリティホールが2つしか発見されていない」[注釈 1]ことを売り文句にしている。その2つとは、2002年に発見されたOpenSSHの桁あふれ問題[2]と、2007年に発見されたIPv6スタックのバッファオーバーフロー[3]である。 設計や仕様は文書化され、コーディングと同時にマニュアル (man) が更新されている。実態に即したマニュアルを保証することにより、管理者や開発者の無知・不注意に起因するセキュリティ問題を防止している。 他のOSでも標準的に使われているSSHの代表的実装OpenSSHの他、C言語で文字列を安全に扱うためのstrlcpyとstrlcat、IPパケットをフィルタリングするPF(パケットフィルタ)、BSD系OSで暗号化ハードウェアサポートを可能にするOpenBSD Cryptographic Framework
特徴
成果
CVSリポジトリを外部に公開したのはOpenBSDが最初だが、その後anonymous cvsはSubversionやGitなどの普及前の時期においてオープンソースプロジェクトの標準的な開発基盤となっていた。 1994年12月、NetBSDの立ち上げ時のメンバーでもあったテオ・デ・ラートは、上級開発者の地位とNetBSD中核チームメンバーという立場から退くよう要求され、ソースコードへのアクセスもできないようにされた。そうなった経緯は明らかではないが、NetBSDプロジェクトおよびメーリングリストでの性格の不一致が原因と言われている[4]。テオはそれまでも周囲と衝突の絶えない性格を批判されていた。Peter Waynerは自著Free For Allの中でテオがNetBSDを離脱する直前「何人かの人々の気持ちを逆なでしはじめた」と書いている[5]。リーナス・トーバルズはテオを「気難しい」と評している[6]。あるインタビュアーは彼と会う前に「不安だ」ともらしている[7]。しかし、そのように思わない人も多い。件のインタビュアーはテオがOpenBSDを立ち上げる際に「変化」し「チームの面倒を見ることを望んでいる」と述べた。彼が有能なプログラマであり[注釈 2]、セキュリティに関する第一人者のひとり[8]であることを否定する者はほとんどいない。各種BSD系OSのユーザー数を比較した棒グラフ。複数回答あり。2005 BSD usage survey[9] 1995年10月、テオはNetBSD 1.0からのフォークとしてOpenBSDプロジェクトを立ち上げた。最初のリリースは1996年7月のOpenBSD 1.2であり、同年10月にはOpenBSD 2.0をリリース[10]。約半年ごとに新リリースが公開され、各リリースについて1年間サポートと保守を行う。ただし、開発者はシステム全体の整合性を保つ範囲でのみコードに変更を加えなくてはならないため、常時更新されているスナップショット版も安定して動作することが期待されている。2007年11月1日に公開されたOpenBSD 4.2は直前に急逝した萩野純一郎に捧げられている[3]
歴史
2007年7月25日、OpenBSD開発者Bob BeckはOpenBSD Foundationの創設を発表した[11]。これはカナダの非営利団体で「個人や法人がOpenBSDをサポートしたい場合に対応する窓口として働く」ものである[12]。
OpenBSDがどれほど使われているかは確認が難しい。開発者側でも把握していないし統計も公表していないが、他の情報源が若干存在する。2005年9月、創設間もない BSD Certification Groupが利用状況の調査を行い、BSD系OS利用者の32.8%(4330件の回答のうち1420件)がOpenBSDを使っているという結果が得られた[9]。同調査ではFreeBSDは77%、NetBSDは16.3%であり、OpenBSDは2位だった[注釈 3]。DistroWatchというウェブサイトはLinuxコミュニティではよく知られているが、各Linuxディストリビューションと他のOSのサイトのヒット数を公表している。それによると2018年7月22日現在、OpenBSDのサイトには1日146ヒットがあり、79位となっている。ちなみにFreeBSDは1日295ヒットで33位、NetBSDは1日101ヒットで107位である。
2016年9月1日の6.0のリリースに伴いEFIブートローダーを追加し、FATまたはextファイルシステムに代わって、FFSからU-Bootヘッダなしにカーネルを読み込めるようになった[13]。 OpenBSDプロジェクトが生まれた当時は、オープンソースプロジェクトであっても、ソースのリポジトリにアクセスできるのは選ばれた少人数の開発者チームだけというのが普通だった。この方式では、外部のコントリビュータは最新の開発状況を直接知ることができないため、貢献しようとしても作業がダブってしまい無駄になることが多かった。テオ・デ・ラートはソースを誰でもいつでも読めるようにすべきだと考え、Chuck Cranorの支援を求めた[14]。Cranorは公開の匿名CVSサーバを立ち上げた。これはソフトウェア開発の世界で初の試みであり、この決断によりOpenBSDという名称が生まれ、ソースコードと文書へのアクセスをオープンにするという姿勢を表すようになった。 OpenBSDのオープン性についての方針は、ハードウェアに関しても適用される。テオは2006年12月のプレゼンテーション用スライドで、ハードウェア仕様の詳細を示す文書が公開されていなければ「開発者がドライバを書く際に間違うことが多い」とし、「(やった、動いたぞ、という)快感を味わうことは難しく、開発者によってはあきらめてしまう」と説明している[15]。更に、OpenBSDプロジェクトにとってベンダーの提供するバイナリドライバは信用できないし、「問題が生じても…修正する方法がない」ため、許容できないとした。
「オープン」という姿勢