Im Auftrag der stepping stone GmbH hat Puzzle einen Open Source Client für Online Backups entwickelt. Die Software läuft unter Linux, Windows und MacOS und ist auf SourceForge.net unter der GPLv2 veröffentlicht.
Die Ausgangslage
Hunderte Online Backup Lösungen versprechen, Daten kostengünstig und sorgenfrei im Internet zu sichern. Google liefert zum Begriff Online Backup über 13 Millionen Treffer. Aber gibt es auch Open Source Produkte, die von den bekannten Vorteilen offener Lizenzen profitieren? Ein Open Source Backup Client wäre das ideale Werkzeug für Anbieter von Online Backup Angeboten.
Der Auftrag
Die Firma stepping stone, welche stark auf Open Source setzt, stellte sich obige Frage im Rahmen ihrer Dienstleistungen. Die Kunden von stepping stone können mit rsync, dem derzeit wohl effizientesten Datenübertragungstool, ihre Daten auf Servern von stepping stone sichern. Wer bereits mit rsync gearbeitet hat, kennt dessen Komplexität. Das folgende Beispiel zeigt einen Befehl zum sichern des Benutzerverzeichnisses:
rsync -ilrtvxHS8 –specials –no-p –no-g –chmod=u=rwX,g-rwx,o-rwx—exclude ’*~’—delete –progress /home/user user@server:destination
Zu komplex denkt sich da nicht nur der Laie. stepping stone wünschte sich ein kleines und feines Programm mit grafischer Benutzeroberfläche, welches dem Benutzer erlaubt, rsync mit wenigen Klicks zu bedienen. Das Programm soll auf allen gängigen Betriebssystemen mit dem jeweils passenden Look & Feel laufen und nebst den Daten auch alle Berechtigungen sichern. Da stepping stone die dazugehörigen Dienste verkaufen will und nicht das Produkt, sollte die Lösung unter einer offenen Lizenz veröffentlicht werden sein. Puzzle ITC als Open Source Spezialist wurde schliesslich beauftragt, diese Wünsche umzusetzen.
Die Lösung
Das Entwicklerteam von Puzzle ITC analysierte die Anforderungen und evaluierte die dafür geeignetesten Technologien, Frameworks sowie die passende Programmiersprache. Folgendes gelangte zum Einsatz:
- C++ als Programmiersprache
- GCC für die Übersetzung des C++ Quelltextes
- MinGW für die Übersetzung des C++ Quelltextes unter Windows
- Qt als plattformunabhängige Klassenbibliothek
- CMake als plattformunabhängiges Übersetzungswerkzeug
- rsync für die inkrementelle Datenübertragung
- setfacl, getfacl, setacl zur Sicherung der Berechtigungen
- Putty für die verschlüsselte Übertragung der Daten
- cron und schtasks um wiederkehrende Backups automatisch auszuführen
Abgesehen vom Windows Scheduler wurden ausschliesslich Open Source Tools eingesetzt.
Puzzle ITC übernahm nebst der Entwicklung auch alle Tätigkeiten rund um die Veröffentlichung des Produktes als Open Source Software. Dazu gehören folgende Punkte:
- Überprüfen der Lizenzbedingungen
- Veröffentlichung von Anpassungen existierender Open Source Software
- Antrag zur Veröffentlichung auf SourceForge.net
- Beantragen und konfigurieren von Projektressourcen (Fehlerverwaltungssystem, Mailingliste, Quelltextverwaltung)
- Quelltext veröffentlichen
- Neue Software ankündigen (z.B. auf Freshmeat)
Die Software, welche inzwischen den Namen Sepiola trägt, wurde schliesslich unter der GPL Version 2 freigegeben. Sie läuft auf den Betriebssystemen Linux, Mac OS X und Windows.
Technische Hürden
Bei der Entwicklung der Software mussten mehrere technische Herausforderungen gemeistert werden. So lief das Unix-Programm rsync unter Windows nur in einer Unix Emulationssoftware wie Cygwin. Um diese Abhängigkeit zu umgehen und Konflikte mit einer allenfalls vorhandenen Cygwin Umgebung zu vermeiden, hat das Entwicklerteam von Puzzle ITC die benötigten Funktionalitäten von rsync auf Windows portiert. Diese Patches werden an die Open Source Community zurück gegeben. (Weitere Informationen zum Open Source Engagement von Puzzle)
Die Zukunft
Sepiola ist ein Musterbeispiel für im Auftrag realisierte Open Source Software. Zusätzlich zu Contributions aus der Community wird stepping stone auch künftig ein Budget für die Weiterentwicklung von Sepiola bereitstellen. So soll in einem nächsten Schritt die Benutzerführung überarbeitet werden.
Links
Kontakt
Bei Fragen zum Projekt wenden Sie sich bitte an Mark Waber. Bei technischen Fragen steht Ihnen auch Daniel Tschan gerne zur Verfügung.

Sepiola

