Das neue Jahr hatte mit dem guten Vorsatz begonnen öfter mal kleinere Artikel zu schreiben und wie das mit guten Vorsätzen so ist, waren sie dann auch schon kurze später wieder vergessen und man war wieder im alten Trott gefangen.
Dass ich nicht nur Müßiggang betreibe, sondern einfach nur das Schreiben mit ein paar Aufgaben für Debian getauscht habe, will ich mit diesem kleinen Bericht zur aktuellen Version von MediathekView beweisen, dem Betrachter für die Mediatheken des deutschsprachigen Fernsehens.
Eine neue Version
Die neue Version 3.2 von MediathekView erschien vor zwei Tagen und brachte vor allem als neues Feature eine "Blacklist", mit der es möglich ist Sendungen und Abonnements herauszufiltern, die man nicht angezeigt bekommen möchte. Das ist vor allem für viele Trailer nützlich, deren Datum in der Zukunft liegt und die trotzdem bisher in der allgemeinen Übersicht angezeigt wurden.
Ebenso auffällig ist die neue Filteransicht, die sich z.B. durch Drücken von F8 aus- und einschalten lässt. Nun lässt sich die gesamte Filmliste, wie in der Adressleiste von Webbrowsern gewohnt, schon durch die Eingabe von einzelnen Buchstaben durchsuchen. Außerdem wurde mit der neuen Version eine optische Auffrischungskur eingeleitet, so dass sich das Design nun mehr an MacOSX orientiert.
Alles Aqua?
Murren und Knurren oder doch eher Jubel? Ich bin anfangs skeptisch gewesen, da die Veränderungen hauptsächlich für Mac-Benutzer zu sehen sind, jedoch werden davon langfristig alle profitieren, da ein neuer Entwickler zum Projekt hinzugestoßen ist, der die UI für alle verbessern möchte.
Obwohl ich die Entwicklung von MediathekView regelmäßig verfolge und auch im dortigen Forum aktiv bin, hat mich der Umfang der Veränderungen "unter der Haube" doch überrascht. Mir ist erst letzte Woche bewusst geworden, dass einige neue Abhängigkeiten, sprich Java-Bibliotheken, hinzugekommen sind. Das ist nichts Schlechtes, sondern erspart viel Entwicklungszeit, da man das Rad nicht wieder neu erfinden muss. Problematisch für mich als Betreuer des Pakets wurde es nur, als ich feststellte, dass noch niemand JIDE Common Layer (jide-oss) für Debian gepackt hatte.
Die Firma Jidesoft hat vor sechs Jahren Teile ihres ehemals proprietären Rahmenwerks für Java-Swing-Komponenten unter eine freie Lizenz gestellt und bietet mehr als 30 Komponenten und Werkzeuge an, damit komplexe Java-Anwendungen erstellt werden können. Das Angebot reicht von Buttons und Schiebereglern, über die Taschenrechnerkomponente, über Funktionen die Systeminformationen abgreifen bis hin zum Autocompletion-Feature und der SearchBar.
Als erstes stellte ich dann fest, dass die Lizenz nicht GPL-3 war, obwohl im Git-Repo von MV so ausgewiesen, sondern tatsächlich GPL-2 mit Classpath Exception. Eigentlich egal, GPL ist GPL, oder? Leider nein. GPL-3 und GPL-2 sind nicht kompatibel. Nach einiger Diskussion im Forum kamen wir jedoch zur Überzeugung, dass uns (mich) der Zusatz "mit Classpath Exception" rettet, weil es dadurch möglich wird MediathekView rechtmäßig gegen diese Bibliothek zu linken. Ansonsten hätte das Programm nicht in Debian erscheinen können. Umgehen lässt sich das Lizenz-Dilemma mit der GPL, indem man den Nutzern die Möglichkeit gibt, auch jede spätere Version der GPL nutzen zu dürfen. Das muss aber explizit in der Lizenz erwähnt sein, war aber hier nicht der Fall.
Ursprünglich sollte dem Programm auch nur die Jar-Datei von jide-oss beiliegen, also der schon übersetzte Bytecode der Bibliothek. Das widerspricht jedoch auch Debians Gesellschaftsvertrag, wir brauchen den Quellcode, so dass in der neuen Version auch dieser MediathekView beizufügen wäre. Der "saubere" Weg besteht jedoch darin Bibliotheken in separate Pakete auszulagern und extra zu packen. Im Klartext: Ich hatte mich gerade freiwillig als Maintainer für ein weiteres Javapaket gemeldet. 😉
Das neue Paket habe ich vergangene Woche auf der Mailingliste debian-java vorgestellt und kurz darauf auch darum gebeten dieses neue Paket in das Archiv hochzuladen. Natürlich kann das noch eine Weile dauern. Selbst wenn es augenblicklich passieren würde, müsste es erst mal durch die sogenannte Warteschlange für neue Pakete und von den FTP-Mastern gesichtet werden.
Ich erspare euch an dieser Stelle die Geschichte davon, wie ich den Code von Jide-OSS nach potentiellen Lizenzproblemen gescannt habe. Neben der allgemeinen Lizenz, GPL-2 with classpath exception, stehen Teile des Codes nämlich noch unter der BSD-, LGPL-2.1-, Apache-1.1- und Zlib-Lizenz.
Kurzum es wird wegen dieser neuen Bibliothek etwas länger bis zum Debian-Release dauern, jedoch verpasst ihr nicht allzu viel, wenn ihr noch Version 3.1 benutzt.
Wer mit Git nicht auf Kriegsfuß steht kann sich libjide-oss-java und MediathekView direkt aus dem Git-Repository herunterladen.
git://anonscm.debian.org/pkg-java/libjide-oss-java.git
git://anonscm.debian.org/collab-maint/mediathekview.git
Für alle, die nicht warten wollen, lassen sich Pakete hier herunterladen. Der Link verschwindet nach dem offiziellen Release wieder.
Installation
Installieren lässt sich MediathekView 3.2.1 dann mit
dpkg -i mediathekview_3.2.1-1_all.deb libjide-oss-java_3.5.3+dfsg-1_all.deb aptitude install libmac-widgets-java libswingx-java libjgoodies-forms-java libcommons-compress-java libcommons-lang3-java