次世代 fml への道

fml8 プロジェクトは fml4 を「1 から書き直す次世代 fml プロジェクト」です。 fml4 と fml8 の関係は sendmail と postfix のような関係というアナロジーが適切です。

fml8 は fml4 までに至る約 10 年の経験ふまえ、 現代的観点から fml4 の”機能”を再構想/再実装する試みです。

(1)「作者自身」が (2)「同じもの(もしくは非常に互換性の高いもの)を一から書き直す」 試みは初めてなのではないかと思います。 条件(1)(2)の片方だけであれば、今までもいろいろとありました。 その一番すぐれた事例が Postfix でしょう。

fml8 には、 デザインを一から考え直すことに加え、 fml4 の機能や変数群の整理整頓といった要素もあります。

たとえば fml4 を使っていて気になる点の一つは 「特定のホストで、ディスクの上にメンバーファイルを書く」 というデザインです。 これは fml4 の最初から継承されてきている基本構造です。 [1]

しかしながら、RDBMS との連携や冗長化構成を考えると問題があります。 「NFS の時はどうする?」 「トラブルチケットシステムと連動したい場合は?」 「SQL サーバとも連動したいですね?」 などなど…

また、構造論ではなく単に自分で欲しい機能があります。fml 自体が簡易版 bug tracking system を提供して欲しいし、 bug tracking system もサーチエンジンもできるだけメールと連動していろいろして欲しい。 cvs ログとも連動して欲しい。 SPAM は隔離しろ。

最初にするべきことは 4.0 の機能とそのデザインについての再検討です。 たとえば、次のような項目が考えられます。

これらについての意見を募集したいと思いますが、 漠然と議論してもしょうがないので、 議論の叩き台として動くものを作って動かしています。 それが fml8 です。

http://www.fml.org/software/fml8/

ftp://ftp.fml.org/pub/fml8/

最初の試金石バージョンは

fml 1.2 相当の最低限の機能
+ makefml (CUI + CGI) が加わったもの
+ 自動スレッド追跡システム
+ 自動 HTML 化機構
が動くことになるでしょう (これらの機能はすでに数年来動作し続け、複数の環境で動作確認がされています)。

Notes

[1]

fml4 設計当時のターゲットマシンは 4.3 BSD (SONY NeWS)で、 CPU は MIPS3000 が最先端だった時代でした。

IBM 互換 PC (i386 〜 i486)が普及してきたのは、もう少し後です。 初代の ftp.fml.org (当時は phys.titech.ac.jp ドメイン)が i486 でした。

ワークステーションが 200 万、IBM PCが 40 万くらいした時代の話です。

もちろん当時もホームディレクトリで NFS は使っていましたが、 「MLサーバを動かすならデータの保存対象はローカルディスクのみ」 という判断をしました。 まして LDAP や RDBMS なんて必要がなかったし、 分散して動かすほどマシンが手元にありません(苦笑)。

ただ、初期段階で想定外のものに対して拡張対応をするのは、 やはり、いろいろな無理があるものです ← ここ 20 年の含蓄を含んだセリフ。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.