Gnashに注力するFree Software Foundation

Gnashは、Adobe(および同社に買収されたMacromedia)のShockwave Flash(SWF)ファイルを再生できるフリーのプレーヤだ。Gnashの開発者Rob Savoye氏が、Free Software Foundation(FSF)の要請を受けてプロジェクトを立ち上げたのは昨年の秋である。

米コロラド州を拠点にコンサルタント活動を行うSavoye氏は、FSFの声がかかる以前から、Flashプレーヤの実装を丹念に調べていた。組み込み可能なプレーヤを手がける顧客の依頼を受けてのことだ。swfdecがActionScriptに対応しておらず、GPLFlashのコードが根本的に書き直されていることを知った彼は、Flashに対応していたゲーム開発用ライブラリgameswfに取り組むことを決めた。gameswfは、ActionScriptに対応し、Flash 7の仕様の大半を実装するなど機能も充実していた。

Electronic Frontier Foundationの創立者で、GNUへの貢献度も高いJohn Gilmore氏は、脚光を浴びた数々のGNUプロジェクトに数年間参加してきたSavoye氏の経歴を知って、gameswfのFlash仕様の実装をWebブラウザMozilla Firefoxのプラグインにできないかと持ちかけた。2005年春のことだ。

やがて、ハリケーン「カトリーナ」の直撃により、Savoye氏は数ヶ月間仕事を離れ、メキシコ湾岸地域の救済活動に加わる。仕事への復帰にあたってgameswfからブラウザプラグイン用のコードを抜き出すことを決意した彼は、12月には正式にGnashプロジェクトを始動させた。

Gnashは、FSFの最重要プロジェクトの1つとして位置づけられている。フリーBIOS、ATI製ビデオカードのドライバ、JavaコンパイラのGCJなど、名だたるプロジェクトと同じ扱いだ。FSFでは、こうした少数の最重要プロジェクトを「(フリーソフトにとっての)死活的ニーズ」と捉えている。代わりになるものが他にはないからだ。

Flashの仕様は「オープン」または「フリー」である、という記述をときどき見かける。Macromedia ― とその跡を受けたAdobe ― が、ソフトウェア開発キット(SDK)を無償で提供しているからであろう。しかし、これは間違いである。このSDKのライセンスでは、代替Flashプレーヤの開発が明示的に禁止されている。Adobeが認めているのは、サードパーティのソフトウェアによるFlash互換のコンテンツ作成だけである。したがって、あらゆるフリーFlashプレーヤは、SWFフォーマットをリバースエンジニアリングによって解読しなければならない。

ここ数ヶ月間、FSFはフリーのFlashプレーヤ開発を公然と推進している。反保守的なOSやアーキテクチャのプラグインとしての利用以外に、携帯型メディアプレーヤやセットトップボックスのような組み込み機器のFlash対応化の動きも活発になりつつある。FSFによるGnashの正式採用が決まれば、より多くのプログラマが集まって開発ペースが向上する、というのがSavoye氏のねらいだ。

現在、Gnashはスタンドアロンのアプリケーションとして動作し、Flash 7のほぼすべての機能が実装されている。プロジェクトでは、必要な残り作業を確認するためのテストケースが作成されている。このテストケースはFlashの他の実装にとっても貴重になるだろう、とSavoye氏は期待している。

このスタンドアロンのプレーヤをMozilla Firefoxのプラグインにするのは、もっと難しい、とSavoye氏は言う。確かに、ブラウザの「拡張機能」を手がける開発者には詳細情報が提供されている。しかし、Savoye氏によると「プラグイン」開発者向けのドキュメントはほとんど存在しないという。

現行のプラグインの開発版リリース(バージョン0.7)は、OpenGLのグラフィックを利用している。Savoye氏も認めているとおり、この解決策には問題が多い。ただし、あくまで一時的なものだ。彼がGnashメーリングリストに投稿した非公式なロードマップによると、当面の目標はこのプラグインを機能させることであり、バックエンドであるOpenGLの置き換えはその後に検討されることになっている。

興味のあるユーザは、今すぐCVSをチェックすることができる。あるいは次の開発版リリースを待つのもいいだろう。Savoye氏は、プロジェクトの支援に関心を持つすべての人に、Gnashメーリングリストへの参加、またはプレーヤの試用とバグ報告を呼びかけている。

原文