2002-04-14(日) 1000m + 4937歩 [長年日記]
■ Re: レビュー
昨日はShakaさんが好きなことを書けるように何も書かずにいたんだが(笑)。
■ tar.gzの圧縮ファイルを解凍するにはtar32.dllが必要ですという記述はちと短絡的。だって、世の中にはtar32.dllなんてなくてもtar.gzを展開できるWindows用のソフトなんて山ほどあるのだから。おれがWindowsで使ってるWinZipだって、何もしなくても展開できる。zoeさんも指摘しているけど、Shakaさんの言う「一般」は、Shakaさんの環境に依存しすぎていると思う。「特殊」とまでは言わないけど。
だってそんなこと言い出したら、Windows用のフリーソフトにだって「zipを展開するには××.dllが」「lzhを展開するには○○.dllが」って記述が必要になるよね。だから、注文を付けるなら各種DLLを全部添付しないアーカイバの方でしょ、と言ってるわけだ。
■ ドキュメント。各ファイルのパーミッション指定も、そんな単純に一覧にできる問題ではない。まるでイディオムのごとく使われてる「CGIは755」なんてのは、まじめに考えてみればかなりいい加減な設定だ。セキュリティのことを考えれば、httpdだけに実行できようにすべきだし(ownerをapacheに変更して744とか)。suexecが入っている環境なら700か744だろ、とか。
tDiaryに限っても、index.rbやupdate.rbがそのまま実行される場合とは限らず、単一インストールイメージで複数の日記を提供する場合にはぜんぜん違うパーミッションになる。そういう組み合わせを考えたらそんな単純なドキュメントなんて提供できない。
書けるとしたら「CGIとして実行されるのはindex.rbとupdate.rbだけです。その他のファイルはWebサーバ権限から読めるようにしておいて下さい」くらいかな。
結局、特定の環境だけを想定してよければ「てきとー」なドキュメントを書けなくはないけど、逆に混乱やセキュリティホールを引き起こすのであればない方がいい。インターネット上にCGIを使ったサービスを提供するのであれば、利用者はそれなりの勉強をするべきだし、CGIの勉強のためのドキュメントを提供するのはtDiaryの役目ではない。勉強したくない、できないカジュアルユーザ向けにはtDiary.Netというサービスを提供してるわけで、最初から自分が設置するしか手がない他の日記システムに比べたら、むしろこの方がいいと思っている。