&fml4; と &fml8; の相違 本章では、&fml4; と &fml8; の相違点について解説します。 &fml4; と &fml8; の違い: イメージ &fml4; vs &fml8; は sendmail vs postfix に相当します。 作者の視点から見れば、これがもっとも短い説明と考えています。 &fml4; と &fml8; の違い: ライセンス &fml8; の開発ポリシーは 「利用できるものは、なるたけ外部から輸入する」というものなので、 利用しているライブラリのライセンスは多岐にわたります。 ただし、リポジトリは、ライセンスごとに別のディレクトリが作られています。 そのため、開発をはじめる前の切り分けは容易です。 &fml4; は、ほとんどのコード(.plのもの)が独自に書かれています。 これらのライセンスは GNU Public License です。 jcode.pl は例外です、 詳しくは jcode.plの先頭部分のライセンスを参照して下さい。 また、perl module (.pm) も使われており、 それはソースツリーの module/の下に入っています。 この下のライセンスは各モジュール依存です。 そして、ソースツリーの上で、これらのファイル群は奇麗に並んでいません。 &fml8; では、 ソースツリーのトップディレクトリで、 プロジェクトもしくはライセンスごとに分類わけされています。 たとえば &fml8; 用に書かれたコードは fml/ 以下にあり、 ライセンスは Perl と同じです。 同様に cpan/ や gnu/ ディレクトリもあります。 その名の通りです。img/ は BSD ライセンス準拠です。 詳しくは、それぞれのライセンスを読んで下さい。 ディレクトリごとに分かれているため、 特定のライセンスのコードを排除することも容易です。 &fml8; は、インストール時に、これらすべてをインストールするため、 インストールした先ではライセンスが入り乱れますので注意して下さい。 ライセンスをクリアにしたい場合は、 ソースコード側の変更が必要です。 必要な代替モジュールを用意し、 インストーラの設定を変えて出荷してください。 &fml4; と &fml8; の違い: コマンドメールやエラーメッセージ コマンドメールやエラーメールといったメールでの返事の際には、 元メールの Accept-Language などを参考に言語の自動選択が行なわれます。 詳しくは を参照して下さい。 ファイルやメッセージを送り返す際の基本形式は MIME/Multipart です。 &fml4; の設計された時代は Unix が普通でしたが、 その後のインターネットの発展は、さまざまな OS や環境を登場させてきました。 インターネットの転送能力も桁違いに高速・大容量化しました。 4〜5 倍くらい効率が悪いとは思いますが、 標準化されている MIME/Multipart 以外を使うと 「読めない」ユーザが続出するでしょう。 ユーザからのクレーム対応のほうが負担といえます。よって &fml4; にあった tar.gz や zip 形式などを実装する予定はありません。 &fml4; と &fml8; の違い: コマンドラインでの操作 (makefml) makefml とシンタックスの異なる fml というコマンドがあります。 makefml コマンド ML名 オプション fml ML名 コマンド オプション 違いは引数の順番です。 ML名とコマンドの順番が違うだけで、 実行される内容は、まったく一緒です。 動作時の表示の仕方も異なります。&fml8; のほうが Unix 的です。 &fml4; のコマンドは、可能なかぎり処理の様子を表示し、 最後に処理の変更点を表示するようになっています。 逆に、&fml8; のコマンドは、できるだけ静かに動きます。 逆に、makefml/fml を他のスクリプトから呼び出す場合には、 コンピュータ処理向きの出力をさせるようにすることが出来ます。 これは、けっこう出力されるものが多く、うるさい感じです。 これは、そのほうが Unix 風だということと、 必ずしも操作対象がファイルとは限らないため、 差分が表示できるわけではないためです。 makefml から実行される各コマンドの相違点は以下の通りです。 &fml4; と &fml8; の違い: CUI (makefml もしくは fml コマンド) 内容 fml4 fml8 &table.changes.cui;
&fml4; と &fml8; の違い: GUI (CGI) &fml4; の場合、インストール後に、 あらためて GUI が使う .cgi スクリプトの生成や apache のセットアップをする必要があります。 &fml8; では、newml 実行時に、GUI のスクリプトも自動的に生成されます。 これは下準備をするだけです。 実際に WWW インターフェイスを使う際には apache の設定変更が別途必要で、これは &fml4; と一緒です。 知らぬまに、 インターネットから勝手に GUI でいろいろできるようになっていたら、 びっくりするでしょうから、これは良いですよね? インターフェイスの相違は、かなりあります。 &fml4; は、わりと伝統的なベタベタな作りですが、 &fml8; はテーブルベースのものになっています。 大変ておくれな実装です(w)が、 普通は、みなさん自分でウエブインターフェイスは実装すると思います。 あくまでも、こういう風に下請けを呼ぶという見本程度 見本だと言っているので、 もはや、この課題を実装することはない…気がします。 課題としては、 GUI の見栄え(スキン)を選べるようにするなども考えなくてはいけないでしょう。 一応、今、実行ファイル名ごとに異なる複数のスキンがあるのですが、 動的に切替えることが現状出来ません (出来てないことはないのですが、現状、そのスキン設定を保存してないので、 次回アクセスすると元に戻ってしまいます;-)。 いや、部分的に出来るかな?いずれにせよ、ここは中途半端です。 に思っていただければと。 ファイル名のルール ファイル名の命名ルールについては を参照して下さい。 &fml4; から &fml8; に移行する際には、 自動変換ツールが頑張って、 よろしくファイル名の変更をする手はずになっています。 手作業で変換することは、まずないとおもいますが、 以下に &fml4; と &fml8; のファイル名ルールの差分を述べます。 MLのディレクトリ構成をを見る際に役に立つと思います。 受信者とメンバーリストを別々に管理するという方針は変わりませんが、 ファイル名は異なります。 ファイル名は基本的に「ベースとなるファイル名-役割」です。 役割がデフォルトの「単なるユーザ」であれば省略可です。 actives は recipients となり、ファイルの意味が明瞭になりました。 一方、members はそのままです。 members-admin は、そのままです。 仮想的に recipients-admin ファイルもありますが、いまは使われてはいません。 etc/passwd は etc/passwd-admin になり、フォーマットも若干変わりました。