Gnash

Gnash(グナッシュ) は、Adobe Flash フォーマットのコンテンツを再生できるフリーのメディアプレーヤーである。
歴史.
Gnash は、GameSWF (ゲームスウィフ) のパブリックドメインのコードをもとにして作られている。2005年12月に GameSWF はフォークされ、GNUプロジェクトスタイルに再アレンジされた後、Gnash プロジェクトとして Firefox プラグインの開発が開始された。
概要.
名称は、「GNU」と「Flash」から取られている。これに加えて、「プロプライエタリなソフトウェアをインストールしなければ、自分の使っているプラットフォーム上でFlashを再生できないことに対して歯ぎしり（＝英語で"gnash"）する」、という意も含まれ、ダブルミーニングとなっている。本来、英語の gnash は「ナッシュ」と発音されるが、GNU を「ヌー」ではなく「グヌー」と呼ぶのと同様に、Gnash は「グナッシュ」と発音される。
ライセンスは GPL であり、その開発プロジェクトは FSF の高優先フリーソフトウェアプロジェクトに挙げられている。FSF による GPL 3 リリースに伴い、Gnash のライセンスはバージョン 0.8.1 から GPL 3 になった。
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 が始まり、仕様書を参照しながら互換プレーヤーを作れるようになった。