ToolsPlus よ安らかに眠れ

 
English Page


ToolsPlus とは?

ToolsPlus とは、米 Water's Edge Software 社(代表:Steve Makohin)が開発した Mac OS 用フレームワーク・ライブラリです。弊社では、まだ Mac OS X が現れるずっと以前から Mac OS プラットフォーム上での開発を行っていましたが、いくつかの開発業務において ToolsPlus を利用しました。その1つに「はがきうぇあ」の前身である「はがきフレンド」Mac 版も含まれます。
ToolsPlus を採用するメリットとはなんだったのでしょう。Mac 用のフレームワークと言えば、Metrowerks PowerPlant や Apple 社の MacApp のような C++ フレームワークがまず思い浮かびますが、ToolsPlus はそれらとは異なります。ToolsPlus は C 言語や Pascal 言語といった手続き型言語によるプログラムにおいて、ユーザーインタフェース要素に程良いオブジェクト思考的概念を導入し、ウィンドウ管理とイベント管理をラッピングすることで、Mac のプログラム開発を効率よく行えるようにするフレームワーク・ライブラリだったのです。
当時の ToolsPlus を評する言葉として、「洗練」という表現がよく用いられていました。使ってみるとなるほど確かに、と思わせるだけのものはありました。例えるなら、すべて Mac の API を直接利用して開発する場合、家を建てるのに地ならしから始めるようなもので、ToolsPlus を利用すると既に建てられた家に内装を施すところから始めるぐらいの違いがあるかも知れません。そう、ToolsPlus を使うと「大工」が職人としての仕事を終えた状態から始まるわけです。
つまり、アプリケーション開発者はアプリケーションのロジックを設計することに、より多くの時間を割けるようになるわけです。Mac の古くからの開発者は皆自前のフレームワークを作って、それを使いまわすことで開発効率を上げてきたものです。しかし汎用性の度合いを言えば、商用の製品にはそれなりのメリットがあったのです。システムがバージョンアップを繰り返し、ユーザー環境も多様性を増していくわけですから、品質確保のために多くの労力を割いている信頼できるベンダーの製品を利用することはコストに非常に影響します。もちろんこの点ではデメリットもありますが、ここでは多くは触れないことにします。

Mac OS X への移行

ところが、 Water's Edge 社は ToolsPlus を Mac OS X に移行させることをしませんでした。その代わりにそれまでの登録ディベロッパに対して、ToolsPlus をオープンソース化して皆で Carbon 化することを呼びかけ、自社で Carbon 化しないことを表明しました。ToolsPlus を利用した資産を保有している会社の多くは、シンフォニーも含め、このときライセンス契約を交わしてソースコードを受け取ったと思います。とにかく、ToolsPlus の資産を有するディベロッパは、それらを放置するか自力で移行するかの選択を迫られたわけです。
シンフォニーでは一旦「はがきフレンド」を放置しました。急いで Mac OS X に対応させる必要はないと、その時点では判断したのでした。それを「はがきうぇあ」として公開しようという企画を立ち上げるまでしばらく時間があったので、その間に最善の移行プランを練ればいいと考えたのでした。そして「はがきうぇあ」の企画の一環として、ToolsPlus 移行用のフレームワークを Carbon API 上に開発するまで、期間として2年を超えますが、その間その資産は眠っていました。
そう、結局シンフォニーでは、ToolsPlus アプリケーションを Mac OS X で利用可能な Carbon アプリケーションへと移行させるための新しいフレームワークを開発しました。オープンソースになった ToolsPlus のソースコードは Pascal 言語で記述されていて、ライセンスには他の言語への移植が禁止されていましたので、それは一切流用していません。実際の ToolsPlus API の挙動を参考に互換性を考慮しながら、実装を行いました。その過程では、移行作業をスムーズに行うための多くのノウハウも蓄積されることとなりました。

Water's Edge 社の判断

ところで Water's Edge 社はなぜ、ToolsPlus の Carbon 化を自社で行わないという判断をしたのでしょう。これは推測に過ぎませんが、ひとつには Carbon Event Manager のコンセプトが ToolsPlus のイベント管理機構によく似ていたことがあげられそうです。また、Window Manager が Mac OS 8.5 あたりから徐々に進化していったこと、Mac OS X ではコードリソースが利用できないことなどがあげられるでしょうか。ToolsPlus のアドバンテージの多くが Carbon では既に機構として用意されているか、または別の形態に再実装することが避けられないということに Makohin 氏は早くから気が付いていたと思われます。つまり『ToolsPlus の役目は終わった』という判断がそこにあったと考えられると思います。

限定的オープンソースになった ToolsPlus

ToolsPlus がオープンソースのプロジェクトになったことは、上で触れました。しかしソースを入手可能な開発者の範囲は限定的なものです。ToolsPlus を購入し利用していたディベロッパの中で、特にこのためにライセンス契約を交わしたもののみが入手できるという形でした。Water's Edge 社はこのプロジェクトからの成果を期待していたのでしょうか。同じ開発会社として思うに、本当はそうではなくて、役目を終えた ToolsPlus からの移行が容易になるように、再利用に関する条件付きでソースを公開したのではないかと思えて仕方がありません。
ソース公開後、開発者用メーリングリストはしばらく、ソースが届いた、届かないという話題があがっていましたが、次第にトラフィックは減っていき、2003年11月に停止されました。

ToolsPlus よ安らかに眠れ

2003年12月、この文章を書くために久しぶりに Water's Edge 社ホームページにアクセスしてみたところ、かつて ToolsPlus を紹介していたトップページにはそれらの形跡はなくなっていました。会社の機能が停止したとは聞いていませんので、異なる形態で事業は継続されていると思われますが、多少寂しい気持ちになったのも事実です。
Mac OS X での開発に利用できるフレームワークは、Apple 社の Cocoa (Carbon 自体もフレームワークとして語られることもあるようです)、Metrowerks 社の PowerPlant X 。他にあるのでしょうか。Java はここでの文脈からはずれますね。シンフォニーでは Carbon を一部分ラッピングする ToolsPlus 流のレイヤーを開発することで、その上に「はがきうぇあ」他を開発しました。お世話になった ToolsPlus には、そろそろ『おやすみ』を言う時のようです。

(2004年1月7日)


Copyright (C) 2000-2004 Symphony, Inc. All Rights Reserved.