Windows環境下でMacのAPIによるコーディングを可能にするCocotron

開発者Christopher Lloyd氏に映画『バック・トゥ・ザ・フューチャー』のことを尋ねても無駄である。この映画で天才科学者ドクに扮した俳優とは同姓同名の別人だからだ。この記事の主役であるLloyd氏がマッド・サイエンティストぶりを発揮した対象は、Macプラットフォームのアプリケーション・プログラミング・インタフェース(API)Cocoaであり、彼はその成果をオープンソースのCocotronプロジェクトを通じて公開している。Cocotronにより、開発者たちはMacのCocoaアプリケーションをWindows用にクロスコンパイルすることができ、ひいてはLinuxでもCocoaアプリの利用が可能になる。

Lloyd氏とCocoaとの関係の発端は実はCocoaそのものよりも古く、彼がNeXTSTEPオペレーティングシステム用にメインフレーム・アプリを書いていた頃にまでさかのぼる。そしてOpenStepの仕様が登場したときには、NeXTSTEPのコードを移行するための互換性ラッパーの必要性を悟って自分でそのラッパーを書き上げたのだという。Lloyd氏は次のように言う。「かつてもそうだったが私は今でもObjective-Cを愛用している。その頃はJavaの勢いが非常に強く、当時OpenStepはObjective-Cに対応した数少ない環境の1つだった」。NeXTのOpenStepはMac OS XのRhapsodyへと発展し、やがてRhapsodyはCocoaとなる。

その間ずっとLloyd氏はこの変遷を追跡し、その内容を自らのプロジェクトに追加していたのだ。昨年12月、彼はプロジェクトをCocotronと名付け、MITライセンスの下で公開した。「MITライセンスを選んだのは正解だと思う。クローズドソースのシステムで使うことができ、非公開のソースと組み合わせれば変更内容の配布をまったく行う必要がない。今はMac上でCocoaを使うことに満足しているがそのうちWindowsでも使ってみたいという人には、Cocotronがその良いきっかけになるだろう」(Lloyd氏)

現行リリースには、重要な2つのAppleフレームワーク、FoundationAppKitが実装されている。CocotronのWebサイトでは、Cocotron Developer Tools(CDT)というパッケージの配布も行われている。このCDTには、gcc、GNUユーティリティの一部、Windows向けのMinGWユーティリティが含まれている。これらはすべてAppleのXCode開発環境用にバンドルされているものだ。CDTを利用すれば、Mac用の既存のCocoaアプリをWindows用にクロスコンパイルするためのXCode環境をセットアップすることができる。

より多くのプログラマにCocotronをアピールするために、Lloyd氏はまずWindowsシステムをターゲットに決めた。CocotronのAppKit実装のプラットフォーム固有部分は依然としてLinux対応が遅れているが、この状況はプロジェクトを知る開発者とコードへの貢献が増えるにつれて改善されるだろう、とLloyd氏は期待する。

なかには、すでにCocotronの存在に気付き、Lloyd氏がなぜGNUstepプロジェクトに加わらずに独りでやり遂げることにしたのかを知りたがっている人々もいる。その答えとなる理由は2つある。

1つは、GNUstepのコードがGNUプロジェクトの一部としてGPLおよびLGPLの下でライセンスされていることだ。Lloyd氏は自らのプロジェクトを営利目的の開発者にとっても魅力的なものにしたいと考えている。そのため、彼はCocotronにMITライセンスを選び、その結果GNUプロジェクトとのコードの共有はできなくなっている。

もう1つは、確かにAppleのCocoaに対する一部の変更に追随してはいるが、GNUstepの本来の目標はOpenStep仕様の実装にあることだ。一方のCocotronは、可能な限りCocoaに近づけるために存在する。

いずれにせよ、Lloyd氏を突き動かす行動指針が、CocotronをMac OS XとWindowsの両プログラマの架け橋にすることにあるのは明らかだ。「もっと興味があるのは、Cocoaを親しみやすいテクノロジにすることだ。Macの問題の1つは、Windowsから移植されたソフトウェアのダメさ加減にある。この状況を変えることができ、Cocoaの利用者がCocotronを使ってWindows向けに移植を行うようになれば、回りくどい方法ではあるがMacとCocoaはもっと満足のいくテクノロジになるはずだ」(Lloyd氏)

現段階でのCocotronの完成度はまだまだだ。事実、LinuxやWindowsへのアプリ移植に関心のあるMac開発者に伝えたいことはないですかとLloyd氏に尋ねたところ、彼はためらうことなくGNUstepの利用を勧めていた。

しかし、結成されたばかりのSupreme Cocotron Committee(Cocotron最高委員会、Lloyd氏による呼称)が、クロスプラットフォームの開発者に役立つようにと、Cocotronフレームワークに欠けている部分の実現に注力している。短期的には、Lloyd氏は自らの労力を現存するオープンソースのMac用開発ツールをCocoaに移植することに注ぎ込んでいる。また、この活動はバグを取り除く優れた方法であり、欠如した部分を埋める良い動機付けになるとも述べている。しかし長期的に彼が期待しているのは、今のところMac OS X用のソフトウェアだけを開発しているCocoa開発者たちがCocotronプロジェクトを活用して新しいプラットフォームへの道を切り開くことだ。

NewsForge.com 原文