Die Woche: Freiheit Marke Eigenbau

@ctmagazin | Kommentar

Für viele Anwender bedeutet Open Source nicht viel mehr als kostenlose Programme. Doch wer sich ein paar System- und Programmierkenntnisse aneignet, erlangt die Freiheit, seine Arbeitsumgebung maßschneidern zu können.

Open Source bedeutet in den Augen vieler Anwender nicht viel mehr als kostenlose Software: Man lädt sie einfach aus dem Internet herunter und installiert sie mit wenigen Mausklicks. Mit den eigentlich garantierten Freiheiten von "Free and Open Source Software" – die Programme im Quellcode zu erhalten und sie kostenlos nutzen, verändern und weitergeben zu können, wie es etwa die GPL garantiert – kann kaum noch jemand etwas anfangen. Dabei war Open Source ursprünglich mal gedacht als Chance für erfahrene Anwender, unabhängig zu werden von den Vorgaben der Software-Hersteller und Programme selbst an die eigenen Bedürfnisse anzupassen.

Doch heute ist es out, Programme selbst aus den Quellen zu übersetzen. Unter Windows müsste man sich erst Compiler und Bibliotheken in tagelanger Handarbeit nachinstallieren – diesen Aufwand betreiben nur die wenigsten. Auch die meisten Linux-Distributionen installieren standardmäßig keinen Compiler und keine Entwicklungsumgebung mehr, auch wenn die Nachinstallation deutlich leichter ist als unter Windows. So ist die Versuchung groß, einfach auf die fertigen Binärpakete zurückzugreifen, die die Projekte und Distributoren bereitstellen.

So lange man mit dem Einheitsbrei, den man hier vorgesetzt bekommt, zufrieden ist, gibt es auch kaum einen Grund dafür, die Programme etwa wie bei Gentoo Linux üblich aus den Quellen selbst zu übersetzen. Aber jeder Anwender dürfte schon erlebt haben, dass Programme mit fortschreitender Versionsnummer instabiler, langsamer oder schlechter bedienbar oder mit überflüssigen Funktionen aufgebläht wurden.

Ein Beispiel dafür ist KDE 4: Es bietet noch immer nicht den gleichen Funktionsumfang wie KDE 3, sodass viele erfahrene Linux-Benutzer die alte Version bevorzugen. Die Distributoren haben jedoch sehr schnell auf KDE 4 gewechselt und bieten das in ihren Augen veraltete KDE 3 gar nicht mehr an. Ein anderes Problem sind spezielle Anpassungen: So hat zum Beispiel Novell bei OpenSuse sämtliche Mediaplayer um die Unterstützung von Dateiformaten kastriert, bei denen Novell lizenzrechtliche Probleme vermutet – mit dem Erfolg, dass OpenSuse-Anwender nach der Installation so gut wie keine Multimedia-Inhalte aus dem Internet abspielen können. Und ob Thunderbird 3 ein so großer Fortschritt ist gegenüber seinem Vorgänger, darüber kann man streiten. Als reiner Fertig-Köstler, der nur mundgerecht aufbereitete Software nachinstallieren kann, ist man den Entscheidungen der Entwickler ausgeliefert.

Die Lösung des Problems heißt Open Source: Man lädt sich die Quellen des gewünschten Programms herunter, übersetzt es und kann es in seiner gewohnten Umgebung benutzen. Unter Windows ist das leider ein größerer Akt, aber unter Linux reichen einige Systemkenntnisse aus.

Stören einen lediglich ein paar Anpassungen des Distributors, kann man das Quelltextpaket des Programms herunterladen, die Änderungen zurücknehmen und dann ein neues Paket mit der geänderten Funktionsweise erzeugen. Bei RPM-basierten Linux-Distributionen installiert man dazu das entsprechende SRPM-Paket, bei Debian-basierten Distributionen erledigt dies das Kommando apt-get source Paketname. In beiden Fällen erhält man ein gepacktes Tar-Archiv mit den Originalquellen des Programms sowie eine Diff-Datei mit den Änderungen des Distributors. Nach Anpassen des Diffs erzeugen die Befehle rpmbuild -ba respektive dpkg-buildpackage -tc ein neues Paket Marke Eigenbau.

Die Pakete des Distributors als Ausgangsbasis zu verwenden hat den Vorteil, dass man anschließend das Eigenbau-Paket einspielen kann, ohne die Konsistenz der Paketdatenbank zu gefährden. Im Zweifel, falls die eigenen Anpassungen nichts taugten, kann man das Programm über die Paketverwaltung wieder restlos entfernen.

Will man hingegen neue oder nicht mehr unterstützte Software hinzufügen, lohnt der Aufwand, Pakete zu bauen, meist nicht. Dann sucht man sich auf der Homepage des jeweiligen Projekts das Quellarchiv des Programms, entpackt es und startet anschließend den Compiler – meist mit dem Dreierschritt ./configure; make; make install. Was sich so einfach anhört, verursacht in der Praxis mitunter einige schlaflose Nächte: Während beim Paketbau automatisch die benötigten Entwicklungspakete nachinstalliert oder zumindest deren Fehlen angemahnt werden, erhält man beim manuellen Aufruf meist nur die wenig aussagekräftige Fehlermeldung, dass irgend eine Bibliothek oder Datei fehlt. Hier bemüht man am besten die Dokumentation des Programms oder eine Suchmaschine, um die nötigen Pakete ausfindig zu machen.

Außerdem kann es bei älteren Programmen durchaus vorkommen, dass sie sich mit den aktuellen Bibliotheken der Distribution nicht mehr übersetzen lassen. Wer über grundlegende Programmierkenntnisse verfügt, braucht oft nur wenige Code-Zeilen anzupassen, alternativ muss man sich auf die Suche nach den Quellen der alten Bibliothek machen und auch diese noch übersetzen. Da Linux problemlos mit mehreren Versionen der gleichen Bibliothek nebeneinander installiert umgehen kann, lässt sich auf diese Weise auch sehr alte Software noch auf aktuellen Linux-Systemen übersetzen – sodass man nicht länger vom Diktat der Distributoren abhängig ist. (mid)

Kommentare

Kommentare lesen (39 Beiträge)

Anzeige
Anzeige