このテキストは、日刊デジタルクリエイターズに寄稿したものです。
■Workforce of a Freelance(2)
OMEは何するもの?
2004/10/1配信号/新居雅行
OMEと聞いて、あれか!と思ってもらえる人も少ないと思う。もっとも、東京都のちょっと奥地にある地名かと思うかもしれないが、そうではなく、筆者を中心に展開している開発プロジェクトだ。Open Mail Environmentの略でOMEと呼んでいるのだが、当初はMac OS Mailing Environmentと言っていた。2003年の3月に現在の名前に変更している。
OMEについて、まずは紹介させていただきたい。もちろん、自分が絡むプロジェクトだけに、書く事は山ほどある。書いている暇があったらバグをつぶせとか、OMEのマニュアルを書けと言われそうだが(笑)、まあいいとしよう。単に自慢話にならないように気をつけながら、プロジェクトの中で出てきたいろいろなことを、折に触れて解説したいと思う。
●バラして組み立てる
OMEとは何か? 結論を言えば、この問いに答えられない。それを情けないと思うか、面白いと思うかは皆さん次第だ。OMEを象徴するキーワードをともかく挙げておくと、「1メール1ファイル」「オープンソース」「UNIX的?」「Mac OS Xネイティブ」…ってなところだろうか。いずれにしても、メールを送受信する世界をある種の方針のものと作り上げようというのが主旨でもある。
メールの送受信というと、簡単に思ってしまう。正直言って、自分でも当初はなめていた。しかし、送信も受信も、非常に世界が深い。とてーも深い。底はない。そして、あれこれ対応し始めるとキリがない。しかも、送信と受信って、天と地ほどとは言わないまでも、けっこう違う世界なのである。メールソフトという限りは、やはり普通に送受信できないといけない。普通に送受信ができるようになるというところに至るのに、けっこう大変だったというものあるのだが、それはOMEに限らずみんな苦労をしている。しかし、実用的なテーマとして「メール」を掲げたのは正解だったと感じている。一定の目標目指してがんばらざるを得ないからで、だからこそまとまったものが出来上がった。
「ある種の方針」というのは、つきつめれば、1つのまとまったアプリケーションを作るのが目的ではないということだ。結果的にできてしまうものはいいとしても、メールをやりとりするためのいろいろな素材を自分で組み合わせて自分の好きにして使うというのがOMEの目指すところなのである。いちおう、分かりやすいと思われる用語を使って表現すれば「コンポーネント化」ということだが、これはちょっとマーケティング用語っぽい。JavaBeansだとか、ActiveXとかいった意味でのコンポーネントよりも、考えるところは広いのである。現状のコンピュータだと、プロセス間の通信としてさまざまな手法が使えるが、たとえば、ファイル、それもテキストファイルをベースにしてアプリケーション間でデータの受け渡しができるのであれば、お互いに簡単に済ます事ができる。パフォーマンスに大きく問題が出ないのであれば、簡単なことこそ、次のステップに行くためのお手軽な近道である。また、AppleScriptのようなスクリプト環境は異なるコンポーネントをつなぐ糊の役目をするし、特定の単機能を呼び出しやすくしてあることから、各種のスクリプトを使ったつなぎもそこそこできる。あの手この手を繰り出そうというのである。
OMEはバラして使うものという見方をする人もいる。バラしというと、PowerBookを分解するように思うかもしれないが、ソフトウエアのばらしはちょっとテイストが違っていて、気分はレゴでお城を造るようなものだとも言える。いや、もっと適切に言えば、OMEというコンセプトでマクロプログラミングをしていると言えばいいだろうか。だからこそEnvironment~環境なのである。
OMEをバラして遊ぶのもいいが、それをベースにしたアプリケーションもある。アプリケーションを使う場合は、メールのリストやフォルダの分類などが普通にメールソフトのように見えるわけだが、はっきり言って、メール専用の単一アプリケーションに比べてパフォーマンスはやはり悪くなる。一方、使い勝手は悪くないわけだ。そういう使い方もOMEなのである。だったらMail.appとか使えばいいじゃないかと思うかもしれないが、OMEをベースにしたアプリケーションがあって使われている理由は、テキストファイルでメールが残っているとか、メールの作成にエディタが使えるとか、あるいはマイコセンプトなアプリケーションに利点を見いだすのか、オープンソースだからちょっと改造してみようと思わせるのか、いろいろな側面が影響しているだろう。
突き詰めれば「これ」といった状態がないのがOMEなのだ。代表的な画面を作るのにいつもどんなに悩むか…結局、Finderでメールの一覧が見える画像にいつも落ち着くが、これとて一切見ていないユーザもいると思う。OMEのユーザはさほど多くはないと思うが、たぶん、一人として同じ状態で使っているユーザはいないのじゃないかと思う。でも、OMEのファウンダとしては、それはまさに思うツボと言わしてもらいたい。
●オルタネイティブでもいいでしょ
おっと、いかん、いかん、筆者がOMEのことを語ると、かようにコンポーネント化を軸にした堅い話になってしまう。ということで、OMEでイベントなんかで集まったときには、極力、筆者でない誰かにプレゼンテーションやあるいは展示ブース対応をしてもらう。そのみんなが自分なりにOMEを説明するのを聞くのがけっこう楽しいのである。
イベントなんかでは、ステージでプレゼンテーションを行う機会をもらえたりする。そこで、集まってくれたメンバーのみんなに均等に当たるように、持ち回ってもらう。さすがにそういうことになるとみんないろいろ準備するのだが、そのときには自分の趣味がどっぷり出てくるというのが見物なのである。UNIX的をつきつめて、EmacsでOMEを使うという路線もあったし、エディタのマクロにフォーカスした話もある。ただ、昨年のMac-iTokyoのときの「OMEはトルコライスだ」というのはさすがに大受けしたが、これだけの説明ではなんのことかさっぱり分からないだろう。きわめて内輪受けネタである(説明すると長くなるのでこの話はいずれ…)。
一方、ブースに来た人に説明するみんなの説明を、思わず耳をそばだてて聞いてしまったりもする。なるほど、そういう風にも言えるなとか、いろいろ思う訳だが、誰がどんなに必死に説明しても、伝わならいこともあるし、誤解されることもある。ただ、やっぱりMac系のイベントよりUNIX系のイベントの方が説明は楽だねと、皆で納得した。UNIXに近い概念のものはあっても、Mac的なところからはかなり遠ざかった存在であることも事実だろう。とりあえずのOMEはMac OS Xにのみ対応なので、Macの世界のものなのだが、現実的なポジションはUNIX寄りであることは認識しているつもりである。
●1メール1ファイルの真意
1メールを1ファイルというのが、自分が考案したものというつもりはもちろんない。mh-eは歴史的な存在だし、筆者も少しは使った事がある。そして、現在でもいくつか1メール1ファイルというメールソフトはある。Windowsでは電信八号が有名だし、Mac OS XでもGyazMailがある。UNIXというかEmacs環境ではWanderlustというのがある。いずれにしても、1メール1ファイルできちんと動くというのは、きちんとしたファイルシステムがあるという前提が必要だろう。その意味では、Mac OS 9版のOMEもあるものの、9とXでは動きが全然違っている。
一般的なメールソフトは、テキストファイルの場合もあるが、ある1つのファイルにメールの内容を詰め込むのが一般的だ。そうすることで、アクセス速度を速めるのが目的としては大きいだろう。しかしながら、メールソフトが扱いたい1つの対象、つまりエンティティとして1つのメールを、ファイルなどのOSのエンティティと揃えることで、メールソフト以外の別のアプリケーションやプロセスから非常に使いやすくなるのである。つまり、OMEのメールのバックアップはFinderでCDに焼き込んでやればいいということで、OMEのデータをFinderからアクセス可能なのである。また、単独テキストファイルだから、Jeditでもmiでも、あるいはテキストエディトでも何でもいいからとりあえず開いて参照できるということだ。
もっとも突き詰めて考えれば、1メール1ファイルではだめな場合があって、すぐに分かるように、添付ファイルがあったらどうするという問題がある。そこはMac OS 9で開発しているときに「フォルダにまとめる」という手法を思いついたが、つまりはファイルシステムの1アイテムが1メールであるという点はキープできるのだ。厳密には、添付メールは1メール1ファイルではないのだが、全体的な傾向として1メールが1ファイルと言っても許してもらえる範囲だろう。
●OMEをつぶさに見るには
ざっとOMEを紹介したが(これでも、キーワードを全部説明していないので「ざっと」だ)、使った事がある人にはある程度はうなずいてもらえると思うけど、そうじゃない人に取ってはなんのこっちゃと思っていることだろう。ということで、Webサイトに来てくださいと言いたいところだが、自分で言うのもなんだがWebサイトを見て理解は相当大変だと思う。いや、かえって分からないと思うというと言い過ぎだろうか? ということで、2004年10月22、23日に大阪産業創造会館で開催される「オープンソース関西2004」にOMEは昨年に続いてブースを出展するので、ぜひともそこで実物を見てほしい。そこで見る実物がどんなものになるか分からないし、すでに述べたように誰が説明するかでポイントが違うというスリリングなコミュニティだが、百聞は一見にしかずということで、現物を確かめに来て、あれができないのか、これができないのかと是非とも質問を浴びせてほしいと思っている。ただし、お手柔らかに。
【にい・まさゆき】msyk@msyk.net
トレーナー、コンサルタント、デベロッパー、そしてライターと、あれこれこなすフリーランス。大学の講義を持っているが、後期だけなので、9月末~1月上旬という1年のうちの4分の1あまりの期間だけなのだけど、今年も始まったという感じ。講義自体、コンピュータを利用した演習なので、講義運営もXOOPSを始めいろいろな素材を使ってやろうと思っている。