CHARM Toolbox für Linux
Die CHARM Toolbox ist eine an der University of Cambridge entwickelte Anwendung zur Analyse von Bildern historischer Dokumente, insbesondere multispektraler Aufnahmen. Die Entwickler bieten sie bislang nur für Windows und macOS an. Im Rahmen dieses Projekts wurde die Toolbox für Linux angepasst. So ist ein Installationspaket für Ubuntu und verwandte Systeme entstanden, und die nötigen Änderungen wurden dem Originalprojekt zur Übernahme angeboten.
Ausgangslage
Wer unter Linux arbeitet, konnte die Toolbox bisher nur über Umwege nutzen, etwa mit dem Kompatibilitätsprogramm Wine, das Windows-Software unter Linux ausführt. Das funktioniert, ist aber umständlich und fehleranfällig. Schon die Installation scheitert an einer Sicherheitsabfrage, und ob alle Analysefunktionen zuverlässig arbeiten, bleibt unsicher. Ein Blick in den öffentlich zugänglichen Quellcode zeigte jedoch: Die Anwendung ist grundsätzlich plattformübergreifend angelegt, für Linux fehlte lediglich die passende Konfiguration.
Wie die Toolbox aufgebaut ist
Für das Verständnis der Änderungen hilft ein kurzer Blick auf den Aufbau. Die Toolbox besteht aus zwei Teilen:
- Die Benutzeroberfläche ist mit Electron umgesetzt, einer verbreiteten Technik, mit der Desktop-Programme auf Basis von Webtechnologien entstehen. Electron-Programme lassen sich grundsätzlich für alle großen Betriebssysteme bauen.
- Die eigentlichen Analysen laufen in der Programmiersprache Python. Damit Nutzerinnen und Nutzer Python nicht selbst installieren müssen, bringt die Toolbox eine eigene, vollständige Python-Umgebung mit, samt wissenschaftlicher Bibliotheken wie numpy, scipy oder OpenCV. Diese Umgebung war bislang nur in einer Windows- und einer macOS-Fassung vorgesehen.
Die Änderungen im Einzelnen
Insgesamt waren nur wenige, gezielte Anpassungen nötig, am eigentlichen Programmcode musste nichts verändert werden.
- Python für Linux hinzufügen. Ein Hilfsskript lädt beim Bauen der Anwendung die passende Python-Umgebung herunter. Dort war festgelegt, welche Version für Windows und welche für macOS verwendet wird. Ergänzt wurde ein dritter Eintrag für Linux, einschließlich einer Prüfsumme. Diese Prüfsumme ist eine Art digitaler Fingerabdruck, der sicherstellt, dass die heruntergeladene Datei unverändert und vertrauenswürdig ist.
- Einen versteckten Fehler beheben. Nach dem Bauen prüft ein Kontrollskript, ob die Python-Umgebung tatsächlich im fertigen Programm angekommen ist. Dieses Skript ging davon aus, dass jedes System, das kein Mac ist, ein Windows-Rechner sein müsse, und suchte unter Linux deshalb an der falschen Stelle. Es meldete dann, Python fehle, obwohl alles vorhanden war. Nach der Korrektur unterscheidet es nun sauber zwischen Windows einerseits sowie macOS und Linux andererseits.
- Das Installationspaket festlegen. In der Konfigurationsdatei, die bestimmt, welche Installationsdateien entstehen, wurde ein Abschnitt für Linux ergänzt. Als Format dient das
.deb-Paket, das Standardformat für Ubuntu und Debian. Damit lässt sich die Toolbox wie jedes andere Programm installieren und erscheint anschließend im Anwendungsmenü. - Einen Befehl zum Bauen ergänzen. Neben den bestehenden Befehlen für Windows und macOS gibt es nun einen eigenen Befehl, der die Linux-Version erzeugt.
- Ein Programmsymbol erstellen. Linux-Desktops erwarten das Programmsymbol in einem anderen Bildformat als Windows oder macOS. Aus dem vorhandenen Logo wurde daher eine passende PNG-Datei erzeugt.
- Linux in die automatische Veröffentlichung aufnehmen. Neue Versionen der Toolbox werden auf GitHub automatisch gebaut und veröffentlicht. Dieser Ablauf wurde um einen Linux-Schritt erweitert. Wird der Vorschlag übernommen, erscheint künftig bei jeder neuen Version automatisch auch ein Linux-Paket, ohne zusätzlichen Aufwand für das Entwicklungsteam. Die Dokumentation für Entwickler wurde entsprechend ergänzt.
Ergebnis
Die angepasste Version wurde unter Ubuntu gebaut und getestet. Die Anwendung startet, und alle mitgelieferten Python-Bibliotheken funktionieren. Das fertige Installationspaket steht in einem eigenen Release zum Download bereit. Die Änderungen wurden den Entwicklern als Pull Request übermittelt, also als Änderungsvorschlag, den sie prüfen und in das Originalprojekt übernehmen können.
- Download (inoffizieller Build): CHARM Toolbox 0.6.3 für Linux
- Originalprojekt: CHARM Toolbox auf GitHub
Einordnung
Das Projekt zeigt, wie offene Forschungssoftware von ihrer Community profitieren kann. Weil der Quellcode frei zugänglich ist, lassen sich Lücken wie eine fehlende Plattform auch von außen schließen, und die Verbesserung kommt anschließend allen zugute. Gerade in den Digital Humanities, wo Linux an Universitäten und in Rechenzentren verbreitet ist, erweitert das den Kreis möglicher Nutzerinnen und Nutzer. Zugleich macht es Forschungswerkzeuge unabhängiger von einzelnen kommerziellen Betriebssystemen.





