Gnash(グナッシュ)は、Adobe Flashフォーマットのコンテンツを再生できる自由ソフトウェアのメディアプレーヤーである。
歴史 Gnashは、GameSWF (ゲームスウィフ)のパブリックドメインのコードをもとにして作られている。2005年12月にGameSWFはフォークされ、GNUプロジェクトスタイルに再アレンジされた後、GnashプロジェクトとしてFirefoxプラグインの開発が開始された。
主なバージョン 0.7.1 - 2006年5月6日リリース。最初のアルファ版 0.8.0 - 2007年6月9日リリース。YouTube などのストリーミング動画に対応 0.8.2 - 2008年3月5日リリース。最初のベータ版 0.8.8 - 2010年8月22日リリース。YouTube動画の再生に100%対応。
概要 名称は、「GNU」と「Flash」から取られている。これに加えて、「プロプライエタリなソフトウェアをインストールしなければ、自分の使っているプラットフォーム上でFlashを再生できないことに対して歯ぎしり(=英語で"gnash")する」、という意も含むダブルミーニングとなっている。本来、英語のgnashは「ナッシュ」と発音されるが、GNUを「ヌー」ではなく「グヌー」と呼ぶのと同様に、Gnashは「グナッシュ」と発音される。
ライセンスはGPLであり、その開発プロジェクトはFSFの高優先自由ソフトウェアプロジェクトに挙げられている。FSFによるGPL3リリースに伴い、Gnashのライセンスはバージョン0.8.1から GPL3になった。
GnashはスタンドアロンのFlash再生ソフトとして動作する。KDEベースのものはKlashと呼ばれる。プラグインとしても使われ、FirefoxのようなMozilla系のブラウザやKonquerorで使える。
GnashはC++で実装され、Boostが利用されている。Gnashは複数のバックエンドを持っており、レンダリングには OpenGL、AGG (Anti-Grain Geometry)、Cairoなど、サウンドにはSDL、GStreamerなどから選択できる。AGGは主に組み込みシステムなどOpenGLが使用できない環境での利用を想定している。GUIとしては、GTK+や Qt、フレームバッファなどが用意されている。
今のところリリースされているのはベータ版までである。
GnashではAdobe Flash Playerが持つ機能を実装することを目標としており、SWF(バージョン7の大部分と、8と9の一部)とFLVに対応している。
Adobe Flash Playerに存在せず、Gnashに存在する機能に拡張機能がある。これはFlashの仕様に無い機能を追加するものである。拡張機能はデフォルトで無効になっており、有効にするにはユーザ設定ファイルで明示的にオンにする必要がある。
プラットフォーム Gnashは64ビット環境を含むLinux、macOS、FreeBSD、NetBSD、OpenBSD、IRIX やWindows、OS/2などで動作する。Adobe Flash PlayerのLinux版はx86互換CPUのみで動作し、PowerPCやSPARC上のLinuxやFreeBSDはサポートしない。64ビット対応のAdobe Flash PlayerについてはLinux 版がアルファ版としてあるが、安定版の Adobe Flash Player はない。
この他に、対応Flash PlayerがリリースされていないRISC OSや最新の Flash Playerがバージョン4のBeOSにもGnash が移植されている。スマートフォンやPDAなどの組み込みシステムでも動作する。
開発 アドビはFlashの仕様書を公開している。しかし、以前はFlashの再生ソフトの開発に利用することを認めていなかった。そのため、Gnashの開発メンバーは アドビのライセンスに縛られないように、それを参照せずアドビの開発ツールを利用せずに、ウェブ上に存在するFlashファイルを集めて解析するというクリーンルーム方式での開発を行っていた。しかし、2008年5月1日のライセンス変更でOpen Screen Projectが始まり、仕様書を参照しながら互換プレーヤーを作れるようになった。
脚注
関連項目 Swfdec
外部リンク
Gnash 公式サイト GNU プロジェクトにおける Gnash のサイト Gnash プロジェクト Wiki Gnash の Savannah ページ Gnash プロジェクトリーダ Rob Savoye へのインタビュー Gnash FAQ