Aus Linux-Magazin 08/2007

Aktueller Überblick über freie Software und ihre Macher

Sowohl Flash als auch Java sind so weit verbreitet, dass niemand auf Dauer ganz um sie herumkommt. Ärgerlich ist allerdings, dass beide Technologien proprietären Lizenzen unterliegen – doch die Community ist schon dabei, Abhilfe zu schaffen.

Das Flash-Plugin gilt als populärste Browser-Erweiterung unter Nutzern aller Betriebssysteme. Über 98 Prozent der Webbrowser haben es zumindest nach Angaben des Flash-Entwicklers Adobe installiert [1]. Einige der beliebtesten Webseiten machen von Flash regen Gebrauch, um Videos, Musik und interaktive Animationen darzustellen – beispielsweise Youtube und Myspace, um nur zwei Shootingstars zu nennen.

GNU + Flash = Gnash

Die blitzartige Verbreitung von Flash zwingt Verfechter freier Software, entweder auf die Angebote zahlreicher Webseiten zu verzichten oder in Sachen Freiheit Kompromisse einzugehen. Das Flash-Plugin ist zwar kostenlos, das Recht zur Verbreitung und den Quellcode behält Adobe aber für sich. Dieser Zustand ist für das GNU-Projekt nicht hinnehmbar, deshalb arbeitet es seit fast zwei Jahren daran, GNU und Flash zusammenzubringen. Das Ergebnis hört auf den Namen Gnash [2].

Es handelt sich bei Gnash allerdings nicht um eine reine Neuentwicklung. Der zugrunde liegende Code stammt von Game SWF [3] von Thatcher Ulrich. Der Entwickler aus Botswana verfolgt mit Game SWF allerdings ein anderes Ziel als Gnash: Er möchte das SWF-Format verwenden, um Spiele ohne viel Aufwand mit einer ansprechenden Oberfläche auszustatten. Game-SWF-Mitentwickler Rob Savoye [4] kam schließlich auf die Idee, auch ein freies Browser-Plugin zu entwickeln. Die in SWF bereits geleistete Arbeit als Basis für Gnash zu nutzen, bot sich an. Beide Projekte befinden sich noch in einem frühen Alphastadium; allerdings ist Gnash nun in einer dritten Ausgabe erschienen, die mit deutlichen Fortschritten aufwartet.

SWF 7 beinahe vollständig

Die Gnash-Version 0.8.0 unterstützt einen Großteil der Funktionen von Version 7 des SWF-Formats und ist bereits in der Lage, die mit Flash dargestellten Videos von Youtube (siehe Abbildung 1) und Lulu.tv darzustellen. Auf diese beiden Seiten hatten die Programmierer bei der Entwicklung der neuen Gnash-Version den Schwerpunkt gelegt.

Abbildung 1: Der freie Flash-Player Gnash zeigt in der neuen Version Youtube-Videos an. Kleinere Darstellungsfehler in der Kontrollleiste sind noch zu beheben.

Abbildung 1: Der freie Flash-Player Gnash zeigt in der neuen Version Youtube-Videos an. Kleinere Darstellungsfehler in der Kontrollleiste sind noch zu beheben.

Gnash 0.8.0 funktioniert für eine Alphaversion bemerkenswert gut. Im Kurztest zeigten sich, wie in Abbildung 1 zu sehen ist, nur kleinere Darstellungsfehler in der Kontrollleiste. Das Vor- und Zurückspulen des Videostreams ist anders als beim Adobe-Flash-Plugin noch nicht möglich. Auch Webcam- oder Mikrofonunterstützung oder Accessibility-Features bietet Gnash nicht.

Für die meisten Benutzer wiegt ein anderes Problem wohl schwerer: Inzwischen hat Adobe das SWF-Format schon bis Version 9 weiterentwickelt. Zwar verwenden viele populäre Webseiten nach wie vor Flash 7, doch werden wohl immer mehr Seiten umsteigen. Wenn Gnash die SWF-Version 9 nicht in absehbarer beherrscht, kann es dem Nischendasein kaum entkommen.

In anderer Hinsicht hat Gnash gegenüber Adobe die Nase vorn. Gnash gibt es nicht nur als Browser-Plugin, zum Projekt gehört auch ein Standalone-Flash-Player (Abbildung 2). Heruntergeladene oder selbst produzierte SWF-Filme und -Animationen lassen sich damit abspielen, ohne sie erst in eine Seite einbetten zu müssen.

Abbildung 2: Nicht nur als Browser-Plugin, sondern auch als eigenständige Anwendung spielt Gnash Flash-Animationen ab.

Abbildung 2: Nicht nur als Browser-Plugin, sondern auch als eigenständige Anwendung spielt Gnash Flash-Animationen ab.

Frei versus proprietär II

Die Programmiersprache Java der Firma Sun hat auf Grund ihrer technischen Möglichkeiten viele Anhänger, denn sie kombiniert Elemente verschiedener Sprachen wie etwa Smalltalk und C++. Aber als größter Vorteil gilt, dass Java die Entwicklung plattformunabhängiger Software relativ einfach macht. Die Java Virtual Machine (JVM) zeichnet für das Ausführen von Java-Programmen verantwortlich. Gibt es die JVM für ein Betriebssystem, funktioniert auf diesem gewöhnlich auch Java-Software.

Ähnlich wie bei Adobes Flash-Player trübte jahrelang die Lizenz das Bild: Die zum Ausführen von Java-Software benötigte Laufzeitumgebung (JRE) und das Java Development Kit (JDK) waren zwar kostenlos verfügbar, aber nicht frei. Deshalb gehörte das Java Runtime Environment lange Zeit auch nicht zum Lieferumfang vollständig freier Distributionen, deren Benutzer müssen das JRE nachinstallieren, bevor sie Java-Software einsetzen können.

Jim Pick [5] aus Vancouver hat sich daher ein Herz gefasst und das Projekt Kaffe [6] gestartet, das die Java-Laufzeitumgebung nachbilden soll und unter freier Lizenz steht. Ihr Kern ist die Java Virtual Machine (JVM), was aber meist nicht ausreicht, um Java-Programme auszuführen. Dem freien Pendant fehlen neben einigen wichtigen Sicherheit-Features vor allem Java-Packages, ohne deren Klassen zahlreiche Java-Anwendungen nicht funktionieren.

Jim Pick hat zwar damit begonnen, auch diese nachzuprogrammieren, angesichts der ständigen Weiterentwicklung von Suns Java ist das Erreichen vollständiger Kompatibilität jedoch kaum absehbar. Ein ähnliches Projekt, allerdings mit dem Fokus auf der freien Umsetzung der Java-Klassen statt der Virtual Machine, verfolgt GNU Classpath [7].

Java-Programmierer und insbesondere Linux-Distributoren versuchen seit langer Zeit Sun dazu zu bewegen, die Programmiersprache zu öffnen und unter freier Lizenz zur Verfügung zu stellen. Im November 2006 versprach Sun schließlich, sich des Problems anzunehmen; die Firma will verhindern, dass Java nach und nach durch andere, freie Sprachen ersetzt wird. Anfang 2007 gab Sun das Entwicklungskit OpenJDK [8] unter der GPL-Lizenz heraus.

Allerdings ist die Veröffentlichung von OpenJDK nicht mit einer Freigabe von Java gleichzusetzen. Um aus den OpenJDK-Quellen eine vollständige Java-Umgebung zu kompilieren, benötigt man nach wie vor das unfreie offizielle Sun-JDK, aus dem OpenJDK so genannte Binary Plugs – unfreie Klassen und Zusatzpakete – kopiert. Dieser Vorgang mündet in einem Softwarepaket, das als Ganzes wiederum nicht unter freier Lizenz steht. Der Quellcode der Binary Plugs lässt sich nicht einsehen.

Eistee aus Java

Der Linux-Distributor Red Hat hat jetzt einen neuerlichen Anlauf genommen, um auf Basis von OpenJDK eine vollständig freie Java-Variante zu schaffen. Das Projekt Icedtea [9] vereint die Arbeit von OpenJDK mit GNU Classpath und Kaffe. Motivation für Red Hat ist das Bestreben, die Distribution Fedora mit einer Java-Umgebung auszustatten. Diese Variante der kommerziellen Red-Hat-Distribution besteht ausschließlich aus freier Software.

Inzwischen haben die Icedtea-Entwickler einen ersten Erfolg zu verzeichnen. Die freie Java-Umgebung lässt sich kompilieren und verwenden, ohne auf proprietäre Software zurückzugreifen. Als Ersatz für Suns Java taugt Icedtea allerdings bei Weitem noch nicht. Es fehlen die Unterstützung für kryptographische Routinen, Sound, SNMP und die grafischen Oberflächen AWT und Swing.

Dass Icedtea irgendwann einen vollständigen Ersatz bieten kann, bleibt natürlich auch hier abuwarten, denn schon kleine Inkompatibilitäten stellen die Zuverlässigkeit der Umgebung von Grund auf in Frage. Trotzdem ist die durch Red Hat vorgenommene Zusammenführung bestehender freier Java-Alternativen ein Schritt nach vorne – und wenn es nur dazu reicht, den Druck auf Sun zu erhöhen, Java ganz freizugeben.

Avocado-Brot

Egal ob beim Stöbern in der Java-Klassen-Bibliothek oder beim Browsen im Internet: Wer den kleinen Hunger zwischendurch mit einer Scheibe Brot stillt, behält immer eine Hand frei. Ein Belag aus Ei und Avocado sorgt dafür, dass das einfache Mahl trotzdem mundet.

Die Zutaten: eine halbe Avocado, ein hartgekochtes Ei, einige Blätter Kopfsalat, eine Tomate, etwas Kresse, Zitronensaft, 50g Joghurt-Salatdressing, Salz und Pfeffer, zwei Scheiben Brot (am besten Vollkorn).

Das Ei und die Tomate in Scheiben schneiden. Die geschälte Avocado in Streifen schneiden und mit Zitronensaft beträufeln. Das Salatdressing nach Bedarf pfeffern und salzen, das Brot damit bestreichen. Dann mit Ei, Tomate und Kresse belegen und erneut mit Salatdressing bestreichen. (pkr)

Infos

[1] Verbreitung von Adobes Flash-Player: [http://www.adobe.com/products/player_census/flashplayer/version_penetration.html]

[2] Gnash: [http://www.gnu.org/software/gnash]

[3] Game SWF: [http://www.tulrich.com/geekstuff/gameswf.html]

[4] Rob Savoye: [http://www.welcomehome.org/rob.html]

[5] Jim Pick: [http://jimpick.com]

[6] Kaffe: [http://www.kaffe.org]

[7] GNU Classpath: [http://www.gnu.org/software/classpath]

[8] OpenJDK: [http://openjdk.java.net]

[9] Icedtea: [http://Icedtea.classpath.org/wiki//Main_Page]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben