卜部です。

Yukihiro Matsumoto さんは書きました:
> |確認したいのですがまつもとさんの中では開発と保守ってのは渾然一体なのですね?
> |俺(や、おそらく多くの職業プログラマはそうだと思いますが)はその二つは一応
> |線を引いて考えているので。
>
> わりとそういう傾向はあります。で、「線を引いて考える人」にとっ
> て、こういう場合の保守ってのはどういうアクションを意味するん
> でしょうね。
>   

最良の結果を求めることではなくて最悪の結果を回避することだと思います。
つまりセキュリティ意識の弱いプログラマ/ユーザから順に切り捨てていくよう
なのは最悪です。

> |trunkでセーフレベルを考え直すとか言ってたのはもっとがらっと変えるんだと
> |思ってたんですが、セーフレベルの本質に踏み込んだ改善はなされないつもりな
> |んですか。だとしたらあんまり意味ないなあ。
>
> 前回のメール[ruby-dev:35293]ではtrunkについてなにも語っていま
> せん。念頭にあったのは1.8に今あるものにどう対処するか、です。
>   

ああ、そのへんが汲めてなかった。すいません。

> |なぜ、俺の提案した「trunkからは削る/1.8.7までは残す」ってのは選択肢にす
> |ら登ってないんですか?
>
> 前述のようにtrunkについて語っていないので、「trunkから削る」
> ことについては中立です。反対もしません。(まだ)積極的に賛成と
> いうわけではないですけど。「1.8.7までは残す」というのは
> 「1.8.8では削る」という意味ですから「1.8からも削っちゃう」に
> 含まれると思います。タイミングはともかく。
>   

逆に私はtrunkから削ることは提案しましたが1.8からの削除にはニュートラルで
した。

> で、この件について安全性を重視する(ので、情報を公開することさ
> えしたくない)人にとって、1.8.8が普及するまでの(結構長い)間、
> セーフレベル4を放置すると言うのは「我々が背負った業のようなも
> のなので、付き合い続けるしかありません」のヒトコトで納得でき
> ちゃう程度の危険性なんですかね。その程度なら「絶対非公開にす
> べき」とか過剰反応する必要もなさそうな気がするのですが。
>   

だれも放置するとは言ってないんですが。
1.8.6や1.8.7に含まれているセーフレベルの機能は穴が見つかれば当然塞ぎます。
業を背負ってるのはMRIの開発者である我々(=コミッタ)であって、Rubyのユー
ザー(=アプリケーションプログラマ)ではないです。

今そこにある1.8.xに関してはこれまで通り穴が見つかり次第塞いでいくしかあ
りません。それらに対する修正を公開で行うのは、要するに危機意識の低い奴か
ら死ねと通告しているようなものです。そういうのは保守とは呼びたくないで
す。言うとしたら「焼畑農業」とかが適切じゃないでしょうか。

でも正直、いくら業だからといって未来永劫続けるのがしんどいのは分かりま
す。功徳を積んだらやがて輪廻の苦を断って悟りの境地に至りたいのは分かる。
そのためのtrunkから削除提案でもあります。正直、今しんどいのはもう、受け
入れて生きていくしかないです。でも56億7千万年くらい修行した先に悟りを開
く道が残されててもいいんじゃないでしょうか。

> |まず、あまり使われてないってのは事実と反するので、全部公開して保守するの
> |だけは絶対反対です。そこは引けません。
>
> OK。卜部さんは、1.8にあるセーフレベル4の機能を全部公開して保
> 守することには絶対反対と。その主張は認識しました。
>
> で、そうだとすると、それによって達成したい安全性ってのはどの
> ようなもんなんですかね。ただちにセーフレベル4を削るわけでない
> 以上、穴は(きっと)あるわけで、この部分を使って攻撃したいと思
> う人がいるなら、別にruby-devやChangeLogから情報を得なくても、
> ソースコードを研究して攻撃手段を入手するのは(技術力さえあれ
> ば)さほど困難ではないように思います。逆に開発が公開されていて
> も、(議論に注意すれば) 技術力のないカジュアルな攻撃者に攻撃ツー
> ルを渡さない程度のことは十分できるでしょう。セーフレベル4が
> 1.8に残っている以上、開発が公開されていてもいなくても、技術
> 力のある人にとっては攻撃は可能であり、技術力のない人には攻撃
> は難しい。これはさほど変わりません。
>
> ですから、秘密にするということによって得られる「安全の増加」
> というのはわずかで、開発が面倒になる/結果の品質が低くなるデメ
> リットの方が大きいように思えるのですが。
>
> あ、あくまでもこの件に関してね。
>   

繰り返しますが、最良の結果を求めるのではなく、最悪の結果を回避することこ
そが求められているのです。既に動いているプログラムを危険に晒すことをでき
るだけ少なくすべきです。たとえごくわずかだろうが何だろうが。

-- 
Urabe Shyouhei
shyouhei / ruby-lang.org
# 前もruby-listかどこかで書いたと思いますが、仏教徒です。