_ そういえば、某ロードバランサ箱の中をのぞいてみたら、タダで勝手に使えるけど自由ではないライセンスの deamontools のかわりに、同じような使い勝手で BSD ライセンス類似の runit が動いててニヤリとしたな。この LB 箱が将来バージョンアップしたら、しれっと PDS 版の daemontools に置きかわってたりして。ちなみに、runit は使ったことないけど、この人が作ってる tcpserver の類似ブツ は本家より使い勝手がよくて機能も豊富。

_ これまで頑として修正版の配布を拒否してきた djb がまるっきり方向転換したのはなんでなんだろ。obsolete になったコードだから公開するという理由ではなく、将来にわたってそうするということなので、なんか思うところがあるんだと思うんだけど。djb の発言をぜんぶ追ってはいないんだけど、そのへんについて言及はあるのかしらん。

_ ダメだと思うけどね。

_ /.j のコメントでなぜかわしの 日記が触れられてたけど、そこで指摘したのは主に以下の点。

機能が足りない

パッチ地獄で安全性の検証が不十分

まともなログが取れない

_ が、それでもやっぱりダメ。よく知られているように、qmail って1通のメールに複数の受信者がいた場合、別々のメールに宛先をバラして送ってしまうわけだ。この戦略は、以前は帯域の問題で嫌がられたけど、今はウィルスやら spam やらのコンテンツフィルタのために困るんだ。巨大な添付ファイルを取引先の関係者全員で Cc するなんてのは日常茶飯事なわけで、そんなのが宛先アドレスごとに分割されて同じメールを何度も処理させるなんてのはほとんど DoS 攻撃だ。そういう送り方が禁止されているわけじゃないけど、できるだけ避けるべきだ。最近はマシンの性能も上がってるけど、フィルタが複雑なことをやってるし spam はどんどん増える一方なので、大量メールへの耐性がそれほど上がってるとはいえない。だいたい、性能が上がってるからうんぬんなんてのは、送り手が勝手に決めていい問題じゃないよね。帯域消費は送信側も影響あるけど、コンテンツフィルタの負荷は受信側だけで送る方にはペナルティがないのだ。相手を死にそうにさせてるのに自分では気がつかんのだからタチが悪い。

_ フィルタ負荷は受信側だけだけど、分割配送が送信側にデメリットになることもある。分割配送ってのはつまり大量の SMTP コネクションを張る配送方法なわけだが、最近では大手の ISP や携帯キャリアのほとんどが、押しよせる spam への対抗策として MTA への同時接続数や時間あたりの接続数に制限をかけている。つまり、qmail は 4xx で蹴られまくるわけだ。4xx で蹴られるならまだマシで、TCP 的に応答しなくなるような制限をかけるところもある。こういうところに大量に送ろうとすると並列配送数の上限いっぱいのプロセスがぜんぶタイムアウト待ちになって、それ以外の宛先へのメール配送までブロックされるという欠陥まで抱えている。今後接続レート制御は大手 ISP だけでなく小さなところでも導入は進むと思われるので、qmail が当初設計されていたころよりもこの配送方式の効率は悪化していくだろう。

_ で、 この送信戦略は qmail の設計の根本部分なので改造でどうにかなるってものじゃない。新しい MTA を作り直すのと手間は大して変わらん。個別配送のメリットはコードの単純性以外にはなく、パフォーマンスその他のメリットはないんだから、それを作り変えるというのはそもそもの設計思想自体の修正を意味する。要するに、qmail がパブリックドメインになったとしても、それを発展させる意義は薄いのだ。今度の措置で一時的に qmail が強化されて便利になることは十分ありうるけど、でもそのうちライセンスとは別の問題でどん詰まりになって衰退することになると思う。少なくとも、小規模なサイトでしか使いものにならん代物になるだろう(まあ、今でも大規模サイトでは使いものにならんが)。

_ ちなみに、上の議論はそのまますべて ML やメルマガにおける VERP にもあてはまる。ML はともかくメルマガでは巨大な添付ファイルは送らんだろうからコンテンツフィルタ負荷の問題はそれほど大きくはならないと思うけれども。