# Gnash (Software)

Gnash (zusammengesetzt aus GNU und Flash) ist eine freie Software zur Wiedergabe von Flash-Dateien, die als Teil des GNU-Projekts entwickelt wird.
Gnash ist eines der Projekte, die für die Free Software Foundation eine hohe Priorität haben, da es einen Bereich abdeckt, in dem derzeit noch oftmals proprietäre Software benutzt werden muss. Ziel ist es, eine freie Alternative zum Marktführer Adobe Flash zu etablieren. Bis Juli 2010 wurde die Entwicklung von dem kommerziellen Sponsor Lulu.com unterstützt.
Zurzeit sind Versionen für GNU/Linux und BSD verfügbar. Portierungen auf Microsoft Windows (bisher nur experimentell und sehr fehlerbehaftet vorhanden) und Solaris sind vorgesehen. Des Weiteren gibt es auch Portierungen auf OS/2, Syllable und Haiku – derzeit allerdings ohne Browser-Plugin – sowie AmigaOS und RISC OS.

## Funktionen

Flash-Dateien lassen sich mit Gnash einzeln, unabhängig von einem Webbrowser abspielen. Durch ein ebenfalls verfügbares Plug-in lassen sich auch in Webseiten eingebettete Flash-Dateien mit Webbrowsern wie Firefox, SeaMonkey oder Konqueror betrachten. Der Quellcode ist durch das GameSWF-Erbe in C++ geschrieben. Gnashs ActionScript-Klassen können durch Programmbibliotheken (unter anderem zum Beispiel MySQL-Unterstützung oder Dateisystemzugriff) erweitert werden, womit es sich auch von der Flash-Referenzimplementierung absetzt.
* Unterstützung von SWF v8: Möglichkeit, die meisten aktuellen Flash-Filme abzuspielen; allerdings sind Neuerungen in SWF 7+ nur geringfügig implementiert
* Unterstützung von Streaming (Abspielen des Films während der Übertragung)
* XML-Nachrichten-Server: Gnash unterstützt das XML-basierte Nachrichtensystem.
* Unterstützung von Flash Video (Abhängigkeit der verwendeten Flash-Version)
Ebenso wie der Adobe Flash Player speichert auch Gnash Flash-Cookies ab.

## Technik

Die Wiedergabe der Grafiken erfolgt per Software-Rendering über Anti-Grain Geometry oder Hardware-beschleunigt über die Grafikschnittstelle OpenGL. Auch Cairo wird teilweise unterstützt.

## Geschichte

Die Erstellung freier Wiedergabesoftware für Flash ist schon seit einiger Zeit ein Projekt von hoher Priorität beim GNU-Projekt. Vor der Gründung des Gnash-Projektes erbat das GNU-Projekt Hilfskräfte für GPLFlash. Anfang 2006 ist die Mehrheit der vormaligen GPLFlash-Entwickler zum Gnash-Projekt gewechselt. Die bestehende GPLFlash-Codebasis wird auf die Unterstützung eingebetteter Systeme ausgerichtet.
Gnash basiert auf GameSWF, einem anderen quelloffenen und gemeinfreien Flash-Player von Thatcher Ulrich, der aber seit einiger Zeit nicht mehr weiterentwickelt wird. Der damalige GameSWF-Entwickler Rob Savoye spaltete im Dezember 2005 Gnash ab. Als GNU-Projekt wird es unter der GPL weiterentwickelt, wobei für GameSWF relevante Entwicklungen wieder gemeinfrei gemacht werden, um sie dem Originalprojekt verfügbar zu machen.
Ab Version 0.8.2 hat Gnash das Beta-Stadium erreicht, unterstützt aber noch nicht alle Merkmale des Flash-Formates.
Die Version 0.8.8 ist am 22. August 2010 erschienen. Mit dieser Version sollte Gnash, laut der Entwickler, mit allen YouTube-Videos funktionieren.
Die letzte Version ist offiziell mit 0.8.10 am 26. Februar 2012 erschienen. Gnash wird derzeit nicht weiterentwickelt, da Flash-Inhalte mittlerweile durch HTML5 ersetzt wurden. Der Quellcode lässt sich jedoch weiter über das offizielle Git-Repository abrufen.