前書き
はるかなる fml 5.0 への道
fml 5.0 とは fml 4.0 を一から書き直す次世代 fml プロジェクトの総称
ざっくりとしたイメージしては
4.0 と 5.0 の違いは
sendmail と postfix のような関係といえるでしょう。
です。
fml 4.0 までに至る約 10 年の経験を再実装する試みといえます。
これには何年もの歳月がかかるでしょう。
実運用には fml-devel を使わずに 4.0 stable を使って下さい。
fml-devel は開発用で、 fml-current ですらありません。
fml 5.0 への道(はるかなる道)について、
現在は次のような構想を持っています。
基本的な考え方は fml 4.0 の”機能”を再構想/再実装することです。
まず最初にしたいことは 4.0 の機能についての再検討です。
例えば、次のような項目です。
5.0 へ引き継ぐものは何か?
5.0 でもっとうまく、よりカスタマイズしやすいものに実装できないか?
もう要らないものは何か?
これらについての意見を募集したいと思っています。ですが、漠然と議論して
もしょうがないので、議論の叩き台としてある程度動くものを作りました。
ftp://ftp.fml.org/pub/fml-devel/
にあります。まだまだ 5.0 の α 版ではなく、プロトタイプですらないので、
リリースなどではありません。これは、あくまでもアイデアを表現するための
ものですが、配送プログラムとしては十分動きます。fml-devel MLをはじめ
として、いくつか運用テストに入っているものがあります。
また、チケットシステムも同様に実運用ベースでテストされています。
最初に実装するのは
fml 1.2 相当の最低限の機能に makefml が加わったもの
だろうと考えています。
fml-devel プロジェクトの構想
fml 5.0 ないしは
fml-devel
とも呼んでいる fml 5.0 プロジェクトは、
fml 4.0 の再構想(refactoring)とその実装(例)の構築
を行なっています。
http://www.fml.org/devel/
では将来の fml-current についてのデザインや実装例を紹介しています。
これは fml 5.0 のアイデアを募るための、
fml 5.0 のアルファ版のアルファ版のアルファ版
もしくは
プロトタイプ
とでもいうべきものです。ですが、すでに動く実装例をダウンロードできます
し、fml 1.2 相当の機能を使うこともできます。しかしながら、変数名もアー
キテクチャア
も本決まりではないので、将来変わる可能性があります。
また、多くの機能が実装されていません。これは、デザインを最初から考え直
すにあたり、アイデアや意見を募集するためにまだまだ原型にとどまっている
ためでもあります。
ものによっては fml 5.0 用に作られたモジュールを fml 4.0 へ
輸入/輸出することも検討しています。
たとえば 4.0 でも独立性の高い mead (エラーメール解析プログラム)などは
その良い例だろうし、新機能を提供するモジュールなども再輸入(輸出)可能な
ものは順次マージしていきます。
fml 4.0 と 5.0 の関係
fml-devel で作られたモジュールのマージおよび
4.0 自体のコードの保守をしつつ、
4.0 と 5.0 は並行開発されていく予定です。
そのため 4.0 系は stable に近い current という位置付けになります。
そして 4.0 の bug fix は 4.0.x (4.0.1 4.0.2 …)としてまとめられリリー
スれていく予定です。
逆に 5.0 は本当の開発用のコード( fml-current )ということになります。
-----------------------------> 5.0 (本プロジェクトの目標)
↑↓交流
1.2 〜 4.0 ------------------------------> 4.0-current
| |
4.0.1 4.0.2 .... (リリース / 4.0-stable バージョン)
実運用には fml-devel を使わずに 4.0 stable を使って下さい。
fml-devel は開発用で、 fml-current ですらありません。
fml5で既に動く機能
postfix スタイルの設定ファイル
配送、ヘッダの書き換え、(単純な)フィルタ
いくつかのユーティリティプログラム:
fmldoc fmlconf makefml fmlticket
IPv6
チケットシステム(最小限の機能、CGI 含む):
fmlticket fmlticket.cgi
抽象化 IO 層
メンバーファイルをファイル、/etc/group, NIS, MySQL
から取り出すことができます。
詳細はこちら
メーリングリスト
fml 5 の議論のためのメーリングリストを用意してあります。
登録の仕方はいつもと一緒です。
fml-devel MLへの自動登録は fml-devel-ctl@ffs.fml.org へ
subscribe の後に自分の名前をローマ字で続けたフレーズをメールの"本文"
(注意: メールの本文)に書いて送って下さい。例えば次のようになります。
To: fml-devel-ctl@ffs.fml.org
subscribe Kinomoto Sakura
このメールに対し、登録意志確認のメールが送り返されてきます。
そのメールに返事をしてください。
MLに登録されます。
fml-devel MLのログは
http://www.fml.org/mlarchives/
で公開しています。
MLに参加しないが、要望等を送りたいという場合、MLではなく
fml-request@fml.org
へメールを送って下さい。このメールは適宜 fml-devel 等に流して議論した
いと思います。他にフォワードなどされたくない場合はその旨を一筆書いてお
いて下さい。
ご意見募集中
5.0 のアイデアのついて、
ご意見・御感想をお待ち
しております。
端的にいえば 4.0 のここは受け継ぎたいが、あの機能は
どうでもよいとか、あの機能はこう実装するべきだなどといった
意見も募集しています。
§.terms;