(引っ越しました。)
396334 journal yhの日記: Interviews: Theo de Raadt Responds (11) 1 日記 by yh 2003年04月28日 7時00分 (引っ越しました。)
テオ様怒る (スコア:1)
--
完全な情報開示とバージョン番号付け
by Effugas
まず最初に、OpenBSDの構築に費したあなたの労力に感謝します。OpenBSDは、
本当に良いパッケージだと思います。
OpenBSDにおけるほとんどのセキュリティ強化は、ソースコードから安全じゃ
ないライブララリ呼出しを洗いだす作業にすっぽりと覆われているわけです。
しかし、この作業はもちろんありがたいのですが、最近になって、こういった
変更は必ずしも文書化されてないし、アプリケーションやユーティリティのバー
ジョン番号に確実に反映されていないという事実が、だんだん気になり始めて
います。
バージョン番号は、コードベースの存在期間の中で特定のスナップショットを
反映するものです。それらは、安全ではない版を参照したり、特に安定版を参
照するのに用います。番号のメジャー番号は分岐を示し、マイナー番号はコー
ドの特定の状態を表します。それが、ユーザや管理者がバージョン番号を見た
時に期待するものです。バージョン管理に粒度を与えなければ、その番号を信
用する/しないの理由がなくなります。個人的にソースを検査して、最終的に
は自分流のバージョン番号を与えることになるでしょう。
あなたとチームは、コード検査の主幹です。安全な構築物用の変更コードとオ
リジナルコード(さらに敷衍すれば、あなたの安全なコードと多くの無名の配
布者による「とりあえずコンパイルできるようにした」改変物)とを区別でき
なくして名前空間を汚染するのではなくて、改変したすべてのパッケージに関
して名前の拡張をし、完全な情報開示の意図の下に、そこに含まれる妥当な変
更履歴を提供するのがスジではないでしょうか?
テオ:
OpenBSDのすべての構成要素に、二つの番号がある。一つは、どのリリースに
含まれるかを示す番号で、例えば2.8とかだ。
もう一つは、構築に使われたすべてのソースファイルが持つ番号がある。その
番号は、それらから構築されたバイナリにも含まれている。どのバージョンの
ソースファイルからそれぞれのバイナリができているかは、what(マニュアル
セクション1)コマンドを使えばわかる。
オリジナルに関しておっしゃっているが、オリジナルというのは存在しない。
OpenBSDは、独自の構成要素をもっている。あなたがどのパッケージを意図し
ているか私にはわからない。catはcatだし、ftpdはftpd、tarはtarだ。特定の
リリースに関して言えば、一つしかない。系統だったアプローチだと、他のグ
ループのやっているバージョン番号付けは、不正な場合がある。なぜなら、ラ
イブラリなどの部分全部を、一つの構図にまとめてしまっているからだ。
この間乗った飛行機の前輪が、バージョン2.7だったか2.9だったか?気にしな
いだろ?それでもだ。それが完全なことを保証するために「系統だったアプロー
チ」とやらが使われていることを気にしているわけだ。そして、OpenBSDの場
合は、それは特定のバージョンを選び、パッチを当てるということを意味する。
これ以上を望むのならば、われわれにより多くの作業をバージョン管理を費し
て、それだけシステムそれ自体にかける時間を減らすことを望んでいることに
なるんだが。