Przejdź do zawartości

Gnash

Z Wikipedii, wolnej encyklopedii
Gnash
logo
Ilustracja
Autor GNU
Pierwsze wydanie 2006-05-05
Aktualna wersja testowa 0.8.10
Język programowania C++
Platforma sprzętowa POSIX
System operacyjny Linux; BSD (oraz inne)
Rodzaj odtwarzacz multimedialny
Licencja GNU General Public License
Strona internetowa

Gnash (ang. GNU Flash Player) – otwartoźródłowy projekt, którego celem jest istnienie odtwarzacza animacji i aplikacji zapisanych w formacie SWF. Jest rozwijany jako część projektu GNU i stanowi wolną alternatywę dla własnościowego odtwarzacza Adobe Flash Player. Program może działać zarówno jako samodzielna aplikacja, jak i jako wtyczka do przeglądarek internetowych obsługujących interfejs NPAPI[1][2]. W inicjatywie One Laptop per Child Gnash wykorzystywano jako domyślny odtwarzacz treści Flash w laptopach XO (wtyczka dla aktywności przeglądarki internetowej Browse)[3].

Historia

[edytuj | edytuj kod]

Kontekst i potrzeba wolnej alternatywy

[edytuj | edytuj kod]

W połowie lat 2000. format SWF i wtyczka Flash były powszechnie wykorzystywane w sieci do animacji, multimediów i uruchamiania programów w ActionScript (języku zgodnym z ECMAScript)[1]. Jednocześnie odtwarzanie tych treści w przeglądarce wymagało zainstalowania własnościowej wtyczki, co było postrzegane jako jedna z barier dla użytkowników wolnych systemów operacyjnych i urządzeń o mniej popularnych architekturach[4][5].

W materiałach opisujących genezę Gnasha wskazywano też na uwarunkowania licencyjne i brak pełnej dokumentacji potrzebnej do niezależnej implementacji odtwarzacza, co oznaczało konieczność prowadzenia inżynierii wstecznej formatu i zachowania wtyczki[4][6]. Z perspektywy FSF i projektu GNU stworzenie wolnego odtwarzacza Flash było na tyle istotne, że Gnash był wymieniany jako projekt „wysokiego priorytetu” (High Priority Project)[7].

Początki projektu

[edytuj | edytuj kod]

Projekt został ogłoszony 20 grudnia 2005 przez Johna Gilmore’a jako nowy projekt GNU, którego celem było stworzenie odtwarzacza zgodnego ze standardami Macromedia „Shockwave Flash” i zdolnego do odtwarzania plików „.swf”, zarówno jako aplikacja samodzielna, jak i wtyczka przeglądarkowa (początkowo dla Firefoksa)[8]. W tym samym komunikacie wskazano, że Gnash powstał jako rozwidlenie (fork) projektu GameSWF, którego kod został dostosowany do celu odtwarzania „filmów” Flash i rozwijany dalej na licencji GNU GPL[8].

W styczniu 2006 FSF ogłosiła włączenie Gnasha do projektu GNU jako wolnego odtwarzacza Flash (SWF) oraz wtyczki dla Firefoksa[9]. Pierwsze wydanie alpha (0.7.1) zostało udostępnione w maju 2006, m.in. z deklarowaną przenośnością na różne dystrybucje GNU/Linux i systemy BSD oraz obsługą architektur innych niż x86[10][11].

Przed uruchomieniem Gnasha istniały inne próby tworzenia wolnego odtwarzacza SWF, m.in. projekty Swfdec i GPLFlash[4]. Według relacji jednego z późniejszych deweloperów Gnasha część społeczności związanej z GPLFlash dołączyła następnie do Gnasha po ogłoszeniu oficjalnego projektu GNU[12].

Projekt został zainicjowany przez Johna Gilmore’a[8]. Głównym deweloperem jest Rob Savoye[9][6].

Rozwój i późniejsza aktywność

[edytuj | edytuj kod]

W 2006 roku Gnash był opisywany jako próba wypełnienia „jednej z ostatnich większych luk” na pulpicie GNU/Linux, wynikającej z zależności od własnościowej wtyczki Flash, przy czym projekt wówczas szybko nadrabiał zaległości funkcjonalne i przenośnościowe (m.in. uruchamianie na kolejnych systemach i architekturach)[5].

W lutym 2007, w relacji opublikowanej przez FSF, Rob Savoye informował o uruchomieniu Gnasha na laptopach XO inicjatywy One Laptop per Child jako wtyczki przeglądarkowej[13].

W kolejnych latach rozwijano m.in. obsługę wideo (w tym strumieniowanie z serwisów takich jak YouTube), a także implementację klas ActionScript 2 i części funkcji nowszych wersji SWF[6]. Ostatnie oficjalne wydanie beta opublikowane na stronie GNU ma numer 0.8.10 i datowane jest na luty 2012[14][15].

FSF informowała, że Gnash został usunięty z listy projektów priorytetowych w 2017 roku[7]. W dystrybucjach Linuksa spotykane były później przede wszystkim migawki z repozytorium projektu (np. paczki oznaczane jako 0.8.11~git20160608 w Debianie), co wskazuje na kontynuację utrzymania głównie w formie wersji rozwojowych, bez nowych wydań stabilnych na stronie GNU[16].

Znaczenie Gnasha jako zamiennika wtyczki przeglądarkowej zmniejszyło się wraz z wycofywaniem technologii Flash z sieci – Adobe zakończyło wsparcie dla Flash Playera 31 grudnia 2020[17].

Szczegóły techniczne

[edytuj | edytuj kod]

Gnash do renderowania może używać AGG, Cairo lub OpenGL[2]. Do odczytu plików FLV jest używana biblioteka FFmpeg lub GStreamer[2]. W przeciwieństwie do większości projektów GNU, które są napisane w języku C, Gnash jest napisany w C++[2].

W odróżnieniu od własnościowej wtyczki Flash, dystrybuowanej na ograniczających zasadach licencyjnych (m.in. bez swobody redystrybucji przez dystrybucje), Gnash można kompilować i uruchamiać na wielu systemach i architekturach[5][18]; podkreślano m.in. uruchamianie na różnych dystrybucjach GNU/Linux i systemach BSD oraz na wybranych platformach wbudowanych[10][6]. Gnash był dostępny również jako wtyczka przeglądarkowa dla programów obsługujących NPAPI (m.in. Firefox i Konqueror)[10][2].

Obecnie Gnash obsługuje pliki SWF do wersji 7 i część cech wersji 8 i 9, przy czym SWF w wersji 10 nie jest obsługiwany[1][7]. W połowie lat 2000. deklarowano również obsługę strumieniowego wideo (m.in. z serwisów takich jak YouTube) oraz odtwarzanie plików FLV, zależne od zainstalowanych bibliotek multimedialnych[6].

Znaczenie i odbiór

[edytuj | edytuj kod]

Projekt Gnash był przedstawiany w dokumentacji Ubuntu jako jedna z wolnych alternatyw dla zamkniętoźródłowego Adobe Flash Playera; wskazywano także dostępność pakietu mozilla-plugin-gnash w repozytoriach dystrybucji[19][20]. Gnash przedstawiano jako ważny projekt służący stworzeniu wolnego odpowiednika powszechnie używanej, lecz własnościowej technologii sieciowej[7].

Ze względu na złożoność technologii Flash projekt Gnash nie oferował pełnej zgodności ze wszystkimi animacjami i aplikacjami SWF; autorzy repozytorium podkreślali, że program „nie obsługuje poprawnie każdego pliku SWF”, a wiele materiałów działa jedynie częściowo[2].

Linki zewnętrzne

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. a b c GNU Gnash - GNU Project - Free Software Foundation [online], GNU Project / Free Software Foundation, 12 października 2020 [dostęp 2026-03-05] (ang.).
  2. a b c d e f README (Gnash: the GNU SWF Player) [online], GitHub (strk/gnash) [dostęp 2026-03-05] (ang.).
  3. Gnash [online], OLPC Wiki [dostęp 2026-03-05] (ang.).
  4. a b c Nathan Willis, Free Software Foundation launches Gnash [online], Linux.com, 9 lutego 2006 [dostęp 2026-03-05] (ang.).
  5. a b c Bruce Byfield, Gnash, the free Flash player, makes progress [online], Linux.com, 28 czerwca 2006 [dostęp 2026-03-05] (ang.).
  6. a b c d e Dawid Szkudlarek, Gnash – wolny player Flash dla Linuksa [online], Ubuntu.pl, 11 sierpnia 2007 [dostęp 2026-03-05] (pol.).
  7. a b c d Matt Lee, Gnash, the free software Flash player [online], Free Software Foundation, 1 marca 2012 [dostęp 2026-03-05] (ang.).
  8. a b c John Gilmore, [Gnash] Welcome to the Gnash project! [online], Archiwum listy dyskusyjnej gnash (MARC), 20 grudnia 2005 [dostęp 2026-03-05] (ang.).
  9. a b Matt Lee, FSF Announces GNU Gnash - Flash Movie Player [online], Free Software Foundation, 10 stycznia 2006 [dostęp 2026-03-05] (ang.).
  10. a b c Matt Lee, First alpha release of Gnash [online], Free Software Foundation, 8 maja 2006 [dostęp 2026-03-05] (ang.).
  11. Index of /gnu/gnash/0.7.1 [online], ftp.gnu.org, 5 maja 2006 [dostęp 2026-03-05] (ang.).
  12. Gnash project (strk.kbt.io) [online], strk.kbt.io [dostęp 2026-03-05] (ang.).
  13. YouTube by April? Developer help needed for Gnash [online], Free Software Foundation, 20 lutego 2007 [dostęp 2026-03-05] (ang.).
  14. Download GNU Gnash [online], GNU Project / Free Software Foundation [dostęp 2026-03-05] (ang.).
  15. Rob Savoye, [Gnash] Gnash 0.8.10 released [online], Archiwum listy dyskusyjnej gnash@gnu.org, 15 lutego 2012 [dostęp 2026-03-05] (ang.).
  16. gnash - Debian Package Tracker [online], Debian [dostęp 2026-03-05] (ang.).
  17. Adobe Flash Player End of Life [online], Adobe, 13 stycznia 2021 [dostęp 2026-03-05] (ang.).
  18. RestrictedFormats/Flash [online], Ubuntu Community Help Wiki, 4 września 2017 [dostęp 2026-03-05] (ang.).
  19. MozillaTeam/QA [online], Ubuntu Wiki [dostęp 2026-03-05] (ang.).