Aus Linux-Magazin 04/2009

Konzept freier Programme auf dem Prüfstand

© raven, Fotolia.com

Am Anfang einer GPL-Software steht ein Entwickler mit seiner Passion, kein Geschäftsführer mit seinem Businessplan. Die Praxis zeigt, dass Software zu verschenken keine ruinöse Vertriebsform ist und dass Spezialisten von dem freien Entwicklungsprinzip beflügelt werden. Zwei Beispiele.

Festplattenspiegelung über das Netzwerk – das hörte sich anno 1999 für den Informatik-Studenten Philipp Reisner (Abbildung 1) eher langweilig an. Er war an der Technischen Universität Wien auf der Suche nach einem Diplomarbeitsthema. “Auf der Busfahrt nach Hause ist mir gedämmert, dass dieses Thema für viele Server wichtig ist”, erinnert er sich an die Zeit des beginnenden Hochgeschwindigkeits-Internets. Also entstand DRBD [1], das für den Datengleichstand auf Festplatten über ein TCP/IP-Netzwerk sorgt (siehe Kasten “Distributed Replicated Block Device”). Ansatzpunkte gab es nur wenige, sagt Reisner heute: “Mit der Entwicklung habe ich so ziemlich auf der grünen Wiese begonnen.”

Abbildung 1: Die GPL-Software DRBD geht zurück auf den Österreicher Philipp Reisner, der damit erstmals Festplatten über das Netzwerk spiegelte.

Abbildung 1: Die GPL-Software DRBD geht zurück auf den Österreicher Philipp Reisner, der damit erstmals Festplatten über das Netzwerk spiegelte.

Eigene Firma nötig

Den Sourcecode hat Reisner ein Jahr später veröffentlicht. Bald wandten sich Firmen an ihn. Noch bevor das Studium abgeschlossen war, liefen für den Diplomanden wegen DRBD bereits Bewerbungsgespräche. Als Angestellter in Wien führte er das GPL-Projekt weiter, konnte allerdings die vermehrten Anfragen von Unternehmen nicht entgegennehmen. “Die schickten einen 40-seitigen Vertrag, und hier war niemand, der das unterschreiben konnte”, so Reisner, “ich habe ihn noch nicht mal verstanden.” Also gründete er im Jahr 2001 das Systemhaus Linbit GmbH, das auch Support für DRBD anbot.

Hohe Hürde

Reisners heutiger Chefentwickler war das erste Community-Mitglied, das nach einiger Zeit Code zu DRBD beisteuerte. Die Anwender waren zahlreicher als die Entwickler, denn die Einstiegsschwelle für DRBD liege recht hoch, sagt Reisner. Anscheinend lohnt sich die Mühe: “Viele Open-Source-Unternehmen verwenden die Community als Brutstätte für ihre Mitarbeiter”, weiß der Firmengründer. DRBD ließ er quelloffen [2] – allerdings nicht, ohne auch einmal das konventionelle Lizenzierungsmodell zu versuchen.

Konventionalität versuchen

Das kam, als ein Kunde eine umfangreiche Erweiterung für DRBD bestellte. Reisner vertrieb anschließend die erweiterte Version als die geschlossene Lösung DRBD+. Für die GPL-Version gab es in der Folge einige Beschränkungen, zum Beispiel eine Obergrenze der zu verwaltenden Speicherkapazität. Aber Support und Schulung blieben lukrativer als der Lizenzverkauf: “Wenn man das Hauptgeschäft am Support aufhängt, bin ich heute der Überzeugung, dass die duale Lizenz nichts bringt”, lernte Reisner.

Die eigenen Erfahrungen im Supportgeschäft machten ihn zum Anhänger von Transparenz, verrät er dem Linux-Magazin: “Das größte Bauchweh haben wir bei Projekten, die zum Beispiel Oracle statt Postgres benutzen.” Ein Dienstleister sei bei einem Fehler in einer geschlossenen Software vom Support des Anbieters abhängig, die Problemlösung steht dann nicht in seiner Macht. Fehler in einer freien Software könne er jedoch selbst beheben – und erntet dafür auch noch Dank, so der Firmengründer.

Das DRBD-Geschäft läuft indes so gut, dass die Firma Linbit es seit Mitte 2008 in ein Tochterunternehmen ausgelagert hat. Außerdem expandiert sie in die Vereinigten Staaten. Seit Ende 2008 ist DRBD+ auch wieder mit der GPL-Version verschmolzen.

Während sich bei DRBD eine Diplomarbeit mit Hilfe der GPL zum Businessmotor auswuchs, entwickelt der rumänische Informatiker Liviu Lalescu (siehe Abbildung 2) bislang ohne Lohn seine Stundenplansoftware FET (siehe Kasten “Free Educational Timetabling”).

    Abbildung 2: Der FET-Autor Liviu Lalescu ist C++-Programmierer, der Spaß an Algorithmen hat.    (Bild: © Foto: Adela Nedelcu)

Abbildung 2: Der FET-Autor Liviu Lalescu ist C++-Programmierer, der Spaß an Algorithmen hat. (Bild: © Foto: Adela Nedelcu)

Alltäglich und nicht trivial

Diese GPL-Software entstand im Jahr 2002 ebenfalls aus einer Abschlussarbeit, in diesem Fall einer Arbeit über Algorithmen. In FET implementierte Lalescu einen überschneidungsfreien Stundenplan aus Orten, Zeiten und Teilnehmern. An Schulen ist das eine alltägliche und nicht triviale Aufgabe. Einige Jahre nach seiner Diplomarbeit stolperte der Rumäne über neue Forschungsergebnisse, die ihn auf die Idee eines neuen, besseren Algorithmus brachten. Anwender sind heute der Meinung, FET könne bessere Stundenpläne erstellen als die kommerzielle Konkurrenz. Mit den offenen Quellen kann jeder in der Informatik versierte Lehrer Spezialbedarf implementieren, weswegen der Entwickler bei dem offenen Prinzip bleiben will.

Distributed Replicated Block
Device

Die verteilte Festplattenspiegelung DRBD arbeitet mit einem Storage-Cluster in einem TCP/IP-Netzwerk (Abbildung 3). Sie spiegelt Daten der Festplatten über das Netzwerk entweder synchron noch während des Schreibprozesses oder asynchron im Anschluss an einen Schreibvorgang. Die asynchrone Methode ermöglicht Spiegelungen auch über große Distanzen, bei denen der Weg übers Netzwerk zum Ort der Sicherung länger dauert, als die schreibende Anwendung warten kann.

Abbildung 3: Die orangen Linien zeigen, wie DRBD die Datenveränderungen des aktiven Cluster-Knotens über ein TCP/IP-Netzwerk auf die Festplatten des inaktiven Knotens spiegelt.

Abbildung 3: Die orangen Linien zeigen, wie DRBD die Datenveränderungen des aktiven Cluster-Knotens über ein TCP/IP-Netzwerk auf die Festplatten des inaktiven Knotens spiegelt.

Das C-Programm ist als Paket für verschiedene Distributionen erhältlich, in Ubuntu ist es zum Beispiel bereits enthalten. Der Quelltext findet sich auf der Firmenwebseite von Linbit [2]. Dort stellt das Unternehmen auch andere Tools unter der GPL frei, die es im Laufe der Zeit für seine Arbeit entwickelt hat.

Spaß am Algorithmus

Heute arbeitet er manchmal zwei Wochen am Stück, manchmal 14 Stunden am Tag, manchmal längere Zeit gar nicht an dem Projekt. “Am wichtigsten war der Moment der Inspiration, in dem ich den neuen Algorithmus gefunden hatte”, sagt Lalescu über seine Arbeit. “Er war kurz”, stellt er fest, “der Rest ist anstrengende Arbeit aus Implementieren, Optimieren und GUI-Schreiben.”

Klar, dass er sich mehr Leute wünscht, die Open-Source-Projekte fördern. Denn dem 29-Jährigen fällt ein entscheidender Nachteil seiner Software ein: Er verdient damit nichts und er ist nicht geregelt erwerbstätig. “Meine Familie drängt mich, die Software zu verkaufen. Sie verstehen die Idee dahinter nicht”, klagt er.

In der zweiten Hälfte von 2008 wurde die mehrsprachig lokalisierte Software allein von der Projektseite und ihrem Mirror [4] rund 4000-mal pro Monat heruntergeladen, beziffert Lalescu. Die meisten Anwender nutzen die Windows-Version. Die Mailingliste hat etwa 130 Empfänger und das 2008 gestartete Forum enthält konkrete Anfragen von rund 100 Stundenplanerstellern an Schulen oder Universitäten, die sich um Importformate oder Unterrichtsdifferenzierungen drehen. Viele bevorzugen die Open-Source-Software wegen der Lizenz-Ersparnis.

Free Educational
Timetabling

Über das grafische Interface (Abbildung 4) nimmt FET die Rahmendaten für den Stundenplan entgegen oder importiert wahlweise CSV-Dateien. Bedingungen wie keine Freistunden für Schüler oder eine Höchstzahl an Arbeitstagen für Teilzeitlehrer können hinzukommen. Auf Knopfdruck listet die Software nun die Konflikte auf und verteilt rivalisierende Veranstaltungen neu, zum Beispiel nach Zeit und Ort, bis die wenigsten Konflikte übrigbleiben: Das ist die Leistung von Lalescus Algorithmus.

Abbildung 4: To do: Bei der grafischen Benutzerschnittstelle freut sich der Projektinitiator Liviu Lalescu besonders über neue Mitentwickler.

Abbildung 4: To do: Bei der grafischen Benutzerschnittstelle freut sich der Projektinitiator Liviu Lalescu besonders über neue Mitentwickler.

Die fertigen Pläne gibt das in C++ geschriebene Programm im HTML- oder XML-Format aus. Linux braucht für FET C++ ab 4.3 und QT ab 4.4.3. Als Quelltext ist FET auf der Projektseite zu finden [3] und als Paket unter anderem bei Open Suse und Fedora.

In der Praxis

Was eine Software zur Stundenplanerstellung können muss, zeigt sich nur in der Praxis. Liviu Lalescu ist Informatiker und Algorithmen-Fan, aber kein Lehrer. Dafür engagiert sich der nordrhein-westfälische Realschullehrer Volker Dirr stark bei FET. Er lernte FET und Lalescu rund zwei Jahre nach dem Projektstart kennen, als an seiner Schule eine bessere Lösung zur Stundenplanerstellung gesucht war.

Der Mathe-, Physik- und Informatiklehrer fand kein freies Softwareprojekt, das die Menge der Schüler und Kurse einer echten Schule verarbeitet. Auch FET konnte das nicht. “Aber FET war das einzige Projekt, dass eine ansprechende Oberfläche hatte”, rekapituliert der Lehrer, “und Liviu hat auf Fragen immer innerhalb weniger Stunden geantwortet. Liviu und ich machten dann einen Wettbewerb, wer meinen Plan lösen kann.” Heute ist Dirr begeistert von FET: “Der Algorithmus von Liviu ist einfach super. So gute Pläne habe ich noch nie gesehen.”

Brücke zum Offiziellen

Seinen Arbeitgeber konnte der Lehrer zunächst nicht von FET überzeugen. Zum Beispiel beherrscht FET bisher nicht die für Schulen wichtige Funktion, Vertretungspläne zu erstellen. Darum hat der 33-Jährige eigene Erweiterungen geschrieben, die speziell für Deutschland praxisrelevant sind. So enthält die inoffizielle, noch experimentelle Version von FET [4] einen Im- und Exportfilter für Schild, die Schulverwaltungssoftware von Nordrhein-Westfalen. Damit fällt die separate Dateneingabe weg.

Auch einen neuen Filter zur Anbindung an die in Deutschland gebräuchliche Stundenplansoftware Willi hat Dirr beigesteuert, weil sie ein gutes Vertretungsplan-Modul enthält. Dank des Filters will seine Schule erstmals offiziell den Stundenplan mit FET erstellen.

Infos

[1] DRBD: [http://www.drbd.org]

[2] Quellcode der Linbit-Software:[http://oss.linbit.com]

[3] FET: [http://lalescu.ro/liviu/fet]

[4] FET mit Schild- und Willi-Filter:[http://www.timetabling.de]

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
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