次世代 fml プロジェクト
	http://www.fml.org/devel/fmlsrc/index.ja.html

		Copyright (C) 2001 Ken'ichi Fukamachi
		改変しない限り再配布は自由です



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-devel を使わずに 4.0 stable を使って下さい。
#    fml-devel は開発用 fml-current ですらありません。

現状動いている機能は

	fml 1.2 相当の最低限の機能
	  + postfix スタイルの設定ファイル 
	  + IPv6 
	  + チケットシステム(最小限の機能、CGI 含む)
	  + 抽象化 IO 層
		メンバーファイルをファイル、/etc/group, NIS, MySQL 
		から取り出す。
		# 3 行くらい変更すれば PostgreSQL も動くはず

程度です。ざっくりとしたイメージは sendmail と postfix のような違いか
と個人的には思っています。


○ fml 4.0 と 5.0 の関係

http://www.fml.org/devel/fmlsrc/fml/doc/purpose.ja.html 

4.0 と 5.0 はアイデアは継承していても、起源は別です。
図解すれば次のようなものといえます。

             -----------------------------> 5.0 (本プロジェクトの目標)
                       ↑↓交流
1.2  〜 4.0 ------------------------------> 4.0-current
              |      |
            4.0.1   4.0.2 .... (リリース / 4.0-stable バージョン)

今後 4.0 シリーズに投入する新機能は、原則として 5.0 ライン上で作ったも
のを逆輸入する形になるでしょう。


○ fml5で既に動く機能                             

http://www.fml.org/devel/fmlsrc/fml/doc/built_already.ja.html


これらのものは /usr/local/libexec/fml以下にインストールされます。実際には 
/usr/local/libexec/fml/loaderへのリンクです。起動される時の名前で振舞いを変
えています。 

注意: fml5ではすべてのプログラムは /usr/local/libexec/fml/loaderを経由して
起動されます。バージョン依存性を処理するために、つねにこの loaderを通して
起動していくことになっています。 
+------------------+--------------------------------------------------------+
|fml.pl            |配送処理をする。subjectを書き換える。スプールに記事とし |
|distribute        |て溜める。IPv6をしゃべる。チケット番号をふる。et. al.   |
+------------------+--------------------------------------------------------+
|command           |プログラム自体は動きますが、機能するコマンドはまだない  |
|fml.pl --ctladdr  |です。                                                  |
+------------------+--------------------------------------------------------+
|makefml           |登録と削除関係、および最低限のMLの作成だけは動きます( |
|                  |add subscribe                                           |
|                  |bye unsubscribe resign remove                           |
|                  |そして newml)。使い方は fml 4.0と一緒です。             |
|                  |% makefml add elenaアドレス                             |
|                  |% makefml bye elenaアドレス                             |
|                  |% makefml newml elena                                   |
+------------------+--------------------------------------------------------+
|makefml.cgi       |makefmlの CGIインターフェイス。うごくけど、まだプロトタ |
|                  |イプ。動く機能は makefmlと同等のものです。それは最終的  |
|                  |に makefmlと同じ関数を呼び出しているからです。          |
+------------------+--------------------------------------------------------+
|fmlconf           |変数一覧を表示します                                    |
+------------------+--------------------------------------------------------+
|fmldoc            |モジュールのマニュアルを表示する                        |
|                  |perldocへの wrapperです。                               |
+------------------+--------------------------------------------------------+
|fmlticket         |現在のチケットシステムのサマリを表示する                |
|                  |チケットの close                                        |
+------------------+--------------------------------------------------------+
|fmlticket.cgi     |fmlticketの CGI版                                       |
|                  |チケットを closeする。あるチケットに該当する記事群を表  |
|                  |示する。                                                |
+------------------+--------------------------------------------------------+
|mead              |ま〜だだよ                                              |
+------------------+--------------------------------------------------------+
|fmlserv           |ま〜だだよ                                              |
+------------------+--------------------------------------------------------+