Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Aktueller Überblick über freie Software und ihre Macher

Projekteküche

Martin Loschwitz

Ähnlich wie Köche arbeiten auch Softwareautoren an immer neuen Kreationen für die Benutzer. Wir picken die Leckerbissen heraus. Diesmal: Free Priority, das Windows-NT-kompatible Betriebssystem React OS, "Software in the Public Interest" sowie Ärger bei GNU Hurd. Die Feinschmecker bekommen Apfelplattenkuchen.

What's cooking? Wir servieren diesmal Free Priority, mit dem Mitarbeiter pädagogischer Einrichtungen ihre Arbeit effizient organisieren. Das Betriebssystem React OS tritt an, eines der ganz großen Desktopsysteme zu werden. Außerdem stellen wir "Software in the Public Interest" vor und berichten über den Rauswurf des Hurd-Maintainers Thomas Bushnell. Als Leckerbissen gibt es Apfelplattenkuchen, den Christoph Krol auf [www.linux-community.de] vorgestellt hat (siehe[15]).

Abbildung 1: Die Website des Windows-NT-kompatiblen React OS beweist: Der Taschenrechner von Windows 2000 lässt sich mit dem System bereits nutzen.

Free Priority

Bei einem pädagogischen Team, zum Beispiel in einem Behindertenheim, ist es wichtig, die Arbeit der einzelnen Teammitglieder an einer zentralen Stelle zu dokumentieren. Das KDE-Programm Free Priority[1] von Olaf Radicke ist genau für diesen Zweck gedacht. Es soll helfen die Arbeit pädagogischer Teams effektiv zu organisieren, um Zeit zu sparen.

Gepackt bringen die Sourcen von Free Priority gut 2 MByte auf die Waage - ein Zeichen dafür, dass der Funktionsumfang des Programms sehr groß ist. Das Ziel von Free Priority ist klar definiert: Die Oberfläche soll so einfach wie möglich und gut dokumentiert sein.

Für Anfänger ist es daher tatsächlich möglich, das Programm zu benutzen, ohne die Dokumentation intensiv studiert zu haben. Free Priority signalisiert dem Benutzer durch farbige Buttons, welchen Dialog er als nächsten aufrufen muss. Grüne Schaltflächen kann er getrost anklicken, weil sie lediglich zu Informationsboxen führen; rote Schaltflächen dagegen beenden zum Beispiel das Programm. Die Farben sind zwar nicht glücklich gewählt - besonders das Rot wirkt sehr grell und die schwarze Schrift ist nur schlecht erkennbar - dennoch erfüllen sie ihren Zweck.

Beim ersten Start präsentiert sich Free Priority wie in Abbildung 2 zu sehen. Als Erstes muss der Benutzer ein so genanntes Dachprojekt einrichten. Dort speichert Free Priority generelle Informationen wie die Liste der Mitarbeiter oder die Adresse der entsprechenden pädagogischen Einrichtung. Außerdem gibt der Benutzer hier optional eine kurze Beschreibung der Einrichtung, die Vorgehensweise der Teams sowie eine Bewertung einzelner Projekte ein.

Abbildung 2: Das Programm Free Priority hilft pädagogischen Teams dabei, ihre Arbeit zu organisieren. Die Oberfläche ist sehr intuitiv gestaltet.

Danach erstellt er unterhalb des Dachprojekts die eigentlichen Projekte. Ein Klick auf »Projekte« öffnet den entsprechenden Dialog, in dem der gelbe Button »Neues Projekt anlegen« sofort auffällt. Der anschließende Dialog bietet die Möglichkeit, bestimmte Parameter des neuen Projekts wie den Titel oder den Leiter zu definieren. Ein Klick auf »Speichern« hält alles fest.

Aufgaben verwalten

Projekte öffnen alle Anwender mit einem Klick auf »Projekte« im Hauptmenü und dann auf den entsprechenden Projektnamen. Hier lassen sich zwei wesentliche Aufgaben erledigen: Erstens verfasst ein Mitarbeiter einen Kommentar oder einen Bericht über seine Arbeit. Ein Mitarbeiter der Nachtschicht hinterlässt zum Beispiel eine Nachricht für die Frühschicht.

Zweitens fügen die Mitarbeiter in diesem Projektfenster Aufgaben hinzu, die es zu erledigen gilt. Stellt ein Mitarbeiter beispielsweise fest, dass ein bestimmtes Medikament oder ein Hygieneartikel knapp wird, hält er dies hier fest. Eine eventuell vorhandene Aufgabenliste bekommt jeder Mitarbeiter per Klick auf den »Button Aufgaben« im Hauptfenster des Programms zu sehen.

Bereits erledigte Aufgaben werden einfach von den Anwendern abgehakt. Fast immer gibt es Aufgaben, die sich in regelmäßigen Abständen wiederholen. Die legt der Anwender beim Erstellen eines Projekts fest. Achtung: Es ist nicht möglich, nachträglich permanente Aufgaben einzutragen oder zu entfernen.

Es lohnt sich, die Aufzeichnungen über besondere Vorkommnisse oder über erledigte Arbeiten sehr genau und detailliert zu führen. Braucht man später nämlich eine Gesamtübersicht über den Status eines Projekts, erstellt die Schaltfläche »Berichte/Reports« ein entsprechendes Dokument. Free Priority beherrscht dafür die Ausgabeformate DVI, PDF, Postscript und HTML.

Das Programm verwaltet auch Termine, es startet dazu die KDE-Applikation KOrganizer[2] mit einer modifizierten Konfigurationsdatei. Wenn Buchhaltungsaufgaben anfallen, ist das auch kein Problem: Ist Gnucash[3] installiert, startet es der Anwender mit einem Klick auf »Buchhaltung«. Auch für Gnucash bringt Free Priority eine eigene Konfigurationsdatei mit.

Der Funktionsumfang von Free Priority ist weitaus größer als hier beschrieben. Alles in allem lässt sich ein sehr positives Fazit ziehen. Zwar begegnet der Benutzer unterwegs dem einen oder anderen Rechtschreibfehler bei den Bezeichnungen der Menü-Einträge (der Autor des Programms nimmt Hilfe in diesem Punkt dankend an), das schmälert den Nutzen von Free Priority aber nicht. Wer seine Teamaufgaben detailliert unter Linux dokumentieren will, sollte sich Free Priority unbedingt anschauen.

React OS

Oft haben Linux-Benutzer der Wunsch, auch Windows-Programme unter ihrem Betriebssystem zu betreiben. Meist greifen sie dann zu dem kommerziellen VMware[4], das einen kompletten Computer mit eigenem Bios emuliert, oder zu der freien Software Wine[5], mit der allerdings nicht alle Windows-Programme fehlerfrei laufen.

Einen neuen Ansatz zur Lösung dieses Problems liefert das Betriebssystem React OS[6]. Die Idee dahinter ist, ein Betriebssystem mit Binär- und Treiberkompatibilität zu Windows NT 4.0 zu schaffen. Dabei wollen die Entwickler eine Vielzahl von Schnittstellen für verschiedene APIs zur Verfügung stellen. So gibt es zum Beispiel Bestrebungen, Java-Programme direkt ausführbar zu machen. Außerdem sind Subsysteme für OS/2- und DOS-Programme geplant. Mittlerweile stellt das React-OS-Projekt auf seiner Website einen Tarball mit Sourcen des Betriebssystemkerns sowie ISO-Images zur Verfügung.

Der Weg dorthin war allerdings sehr steinig: Der Vorgänger des Projekts startete 1996 mit dem Ziel, einen freien Klon von Windows 95 zu programmieren. Folglich nannten die Schöpfer es Free Win 95. Sie räumten dem eigenen Projekt damals Ambitionen ein, irgendwann einmal multifunktional und bekannt zu werden. Soweit kam es aber nicht, es gab nie Code für den Kernel. Stattdessen verstrickten sich die Projektmitglieder in ermüdenden Diskussionen darüber, wie das Design des neuen Betriebssystems aussehen sollte. Ende 1997 war Free Win 95 faktisch tot.

Jason Filby erklärte sich schließlich damit einverstanden, neuer Koordinator des Projekts zu werden. Umgehend rief er alle, die noch auf der Free-Win-95-Mailingliste eingetragen waren, dazu auf, dem Projekt neues Leben einzuhauchen. Die Entwickler beschlossen, die Idee eines Windows-95-Derivats zu verwerfen, und erklärten dafür einen Klon von Windows NT zum Ziel. Aus Free Win 95 wurde React OS. Eine weitere Entscheidung war, sich auf das Programmieren zu konzentrieren statt endlose Diskussionen zu führen.

Dann wurde es erst einmal still um React OS. Nicht etwa, weil die Teammitglieder all die guten Vorsätze wieder über Bord geworfen hatten. Vielmehr beschäftigten sie sich nun intensiv damit, einen Kernel und die wichtigsten Treiber zu entwerfen. Erschwerend kam hinzu, dass nur wenige der Entwickler in der React-OS-Gruppe wussten, wie man Kernelcode überhaupt entwirft. So kam es, dass die ersten Codezeilen von React OS ein Verdienst weniger Programmierer waren. Die Gruppe der Kernel-Hacker vergrößerte sich jedoch, nachdem Basishardware wie IDE-Controller und Tastatur funktionierten.

Erste Fortschritte

Einer der größten Erfolge der React-OS-Entwicklungsgeschichte ist zweifellos die Portierung der GNU Compiler Collection. Seither ist es möglich, neue Versionen von React OS mit React OS selbst zu kompilieren. Auch andere aus der Linux-Welt bekannte Programme lassen sich bereits mit React OS benutzen. Der Midnight Commander ist eines der prominenten Beispiele. Aber auch kleinere Windows-Programme laufen bereits auf dem System. So gelang es den Entwicklern, den Windows-2000-Taschenrechner mit Hilfe einer vom Wine-Projekt ausgeliehenen »shell32.dll« zu betreiben (siehe Abbildung 1).

Die Roadmap, die das Projekt aufgestellt hat, macht Appetit auf mehr. So soll bis April 2004 endlich eine funktionierende Netzwerkschnittstelle existieren. Zur Zeit gibt es zwar schon Netzwerk-Code, er ist aber kaum brauchbar, weil an vielen Stellen noch große Lücken klaffen. Außerdem soll das GUI funktional werden, es enthält Programme wie einen Taskmanager, einen Explorer und einen Taschenrechner.

Bis Oktober 2004 wollen die Entwickler weitere Erfolge erzielen: Open Office, Mozilla und Direct X sollen funktionieren und Support für USB und NTFS soll auch in den Kernel integriert sein. Abzuwarten bleibt, ob React OS es schafft, endlich eine freie NTFS-Implementation zu erstellen, die Daten nicht nur lesen, sondern auch schreiben kann. Anfang 2005 soll React OS dann problemlos für jedermann als Plattform für den Desktop nutzbar sein.

Wer das System bereits jetzt ausprobieren möchte, findet auf[7] die erforderlichen Tools. Dabei ist allerdings ein Stolperstein zu beachten: React OS lässt sich zur Zeit nur in FAT-16- und FAT-32-Partitionen installieren; das Setup-Programm kann zwar Partitionen mit FAT 32 formatieren, es überprüft vorher jedoch nicht, ob sich auf der ausgewählten Partition bereits Daten befinden. Der Benutzer läuft somit Gefahr, alle vorhandenen Daten zu löschen, wenn er versehentlich die falsche Partition auswählt. Wer eine detaillierte Installationsanleitung benötigt, findet einen Link auf der Download-Seite[7].

Dieses Projekt ist ein sehr interessanter Ansatz, um die Vorteile freier Linux-Software mit Windows-Programmen zu verbinden. Sollte React OS im Jahr 2005 auch nur halbwegs so ausgereift sein, wie es die Entwickler in ihrer Roadmap festgelegt haben, wird es den Markt der Betriebssysteme sicherlich um eine interessante Alternative erweitern.

Software in the Public Interest

Freie Softwareprojekte wie Debian haben ein grundsätzliches Problem: Sie sind keine Personen im juristischen Sinne. So können sie beispielsweise keine absatzfähigen Spendenquittungen ausstellen, die für viele Leute Voraussetzung für eine Spende sind. Dieses Problem erkannten im Jahr 1997 auch die Macher hinter dem Debian-Projekt. Sie kamen auf die Idee, eine Organisation zu gründen, die in den Vereinigten Staaten von Amerika als gemeinnützig anerkannt und damit von den Steuern auf Einnahmen befreit sein sollte.

Und so kam es, dass die damaligen Oberhäupter des Debian-Projekts unter Führung von Bruce Perens am zehnten Juni 1997 die Gründungsurkunde für "Software in the Public Interest" (SPI) in Händen hielten (siehe Abbildung 3). Im Jahr 1999 erkannte auch der Internal Revenue Service der USA schließlich an, dass es sich bei SPI um eine Not-for-Profit-Organisation handelt, die von der Steuer auf Spenden und sonstige Einnahmen befreit ist.

Abbildung 3: Gründungsurkunde der Not-for-Profit-Organisation "Software in the Public Interest" (SPI). Sie ist eine der großen Organisationen, die freie Software aktiv unterstützen. Seit 1999 ist SPI in den USA als gemeinnützig anerkannt und somit von Steuern auf ihre Einnahmen befreit.

Solche Organisationen können in den USA auf zwei unterschiedliche Weisen geführt werden. Entweder entscheiden sich die Gründer dafür, die Mitgliedschaft in der Organisation nicht öffentlich zu machen, dann besteht sie aus einer festen Gruppe von Personen. Der Vorstand solcher Organisationen kann trotzdem beschließen, neue Mitglieder aufzunehmen. Meist wird dieser Typ der Organisation gewählt, wenn es ein definiertes Ziel gibt und die Organisation nach Erreichen dieses Ziels wieder aufgelöst werden soll.

Die andere Form der gemeinnützigen Organisation arbeitet mit einer offenen Mitgliedschaft. Sie erlaubt es jedem, Mitglied zu werden, kann dabei aber zwischen mehreren Stufen der Mitgliedschaft unterscheiden. Eine solche Organisation ist auch SPI. Sie hat zwei Mitgliedstypen: Jeder, der den Prinzipien von SPI zustimmt und sich anmeldet, kann ein Non-contributing-Mitglied werden. Im Gegensatz dazu kann Contributing-Mitglied nur werden, wer nachweist, dass er an einem von SPI unterstützten Projekt aktiv teilnimmt. Nur sie wählen regelmäßig neue Mitglieder in das Board of Directors, also den Vorstand von SPI. Dieser wählt einmal im Jahr den Präsidenten.

Die generelle Intention von SPI ist es, freie Software überall auf der Welt zu unterstützen und zu fördern. Jedes Projekt, das sich freie Software auf die Fahne geschrieben hat, kann bei SPI beantragen, ein offiziell unterstütztes Projekt zu werden. Ist solch ein Antrag genehmigt, steht dem Projekt beispielsweise die Möglichkeit offen, Finanzmittel oder Rechtsbeistand zu beantragen. Von SPI unterstützte Projekte sind neben Debian auch das Fresco-Grafiksystem[8], Gnome[9], Linux Standard Base[10], das OFTC IRC-Netzwerk[11], die Open Source Initiative[12] und der GNU Texmacs Editor[13]. Wer SPI und die damit verbundenen Projekte unterstützen will, kann neuerdings auch online spenden[14].

Ärger bei Hurd

Richard Stallman sagt man schon mal nach, er sei auf Linus Torvalds nicht besonders gut zu sprechen. Nachdem Stallman nämlich die ersten GNU-Tools fertig gestellt hatte, veröffentlichte Torvalds die ersten Versionen von Linux und erntete damit indirekt den Erfolg der GNU-Tools auch außerhalb von Universitäten. Richard Stallman selbst hatte sich den Werdegang seiner Programme wohl anders vorgestellt: Sobald der Hurd-Betriebssystem-Kernel fertig gewesen wäre, sollte dieser den Siegeszug der freien Software einleiten.

Die ganze Geschichte ist mittlerweile auch schon zehn Jahre her und Hurd hat sich seitdem beinahe zur Vaporware entwickelt. Release 1.0 haben die Entwickler inzwischen unzählige Male verschoben. Außerdem ist Hurd nicht auf dem Stand der Technik: Auch aktuelle Versionen können große Festplatten mit 160 GByte und mehr nicht effizient nutzen. Das fehlerhafte Design des Systems gestattet es nicht, mit Dateisystemen umzugehen, die größer sind als ein paar GByte. Auch aktuelle Soundkarten unterstützt Hurd nicht.

Nun können die Geschichtsschreiber ein weiteres Kapitel in der unendlichen Geschichte von Hurd eröffnen. Diesmal geht es allerdings nicht um technische Aspekte sondern um Lizenzstreitigkeiten. Das Pendant der GPL für freie Dokumentation ist die Free Documentation License (FDL). Sie ist in der Freie-Software-Szene aber sehr umstritten, besonders jener Paragraf, der es Autoren erlaubt, Passagen mit nicht-technischem Inhalt einzufügen, die später niemand mehr verändern darf.

Für viele Entwickler ist die FDL daher eine Lizenz, die nicht eindeutig frei ist. Auch innerhalb des Debian-Projekts gab es in der Vergangenheit Probleme mit Dokumentationen, die unter der FDL standen. Der Entwickler und Hauptpfleger von Hurd, Thomas Bushnell, ist einer dieser Kritiker der FDL, was ihm vor kurzem zum Verhängnis wurde: Stallman entließ Bushnell aus seiner Position als Hauptpfleger, da er sich zu häufig und zu offen gegen die FDL ausgesprochen hatte. Für einen Repräsentanten des GNU-Projekts sei dies inakzeptabel. Sofort nach Bekanntwerden dieses Schritts gab es heftige Reaktionen in der Entwicklergemeinde.

Werner Koch, bekannt geworden durch GnuPG, kritisierte die Vorgehensweise Stallmans. Es sei nicht verständlich, wieso eine Gemeinschaft, die sich "freedom as in free speech" auf die Fahnen schreibt, jemandem das Vertrauen entzieht, weil er von genau diesem Recht Gebrauch macht. Ob Stallman seinen Schritt überdenken wird, scheint allerdings fraglich. Sicher hingegen scheint, dass die GNU FDL auch in Zukunft eine Menge Diskussionsstoff liefern wird.

Abbildung 4: Richard Stallman ist für seine extremen Ansichten bekannt. Vor kurzem entließ er den Hurd-Hauptpfleger Thomas Bushnell von seinem Posten.

Polnischer Apfelplattenkuchen

Zutaten: 200 g weiche Butter, 250 g Zucker, 1 Vanilleschote, 3 Eier, 4 Esslöffel, Milch, 225 g Mehl, 50 g Speisestärke, 2 Teelöffel Backpulver, je 50 g Rosinen und Korinthen, 3 Esslöffel Rum, 750 g säuerliche Äpfel (zum Beispiel Boskop), 1/2 ungespritzte Zitrone, 1/2 Teelöffel Zimtpulver, 1 Messerspitze gemahlene Nelken, 100 g gehackte Mandeln.

Zuerst die Butter mit 100 g Zucker schaumig rühren. Eier in Eigelb und Eiweiß trennen. Vanilleschote längs aufschlitzen, das Mark rauskratzen und die Hälfte davon mit dem Eigelb und der Milch unter die Buttermasse rühren. Mehl mit der Speisestärke und dem Backpulver vermengen und esslöffelweise unter den Teig ziehen.

Rosinen und Korinthen heiß waschen, trockentupfen und mit dem Rum tränken. Äpfel vierteln, schälen, vom Kerngehäuse befreien und in dünne Scheibchen schneiden. Zitrone warm waschen, die Schale über die Äpfel reiben, den Saft auspressen und mit den Rumbeeren, den Gewürzen und 50 g Zucker unter die Äpfel mischen.

Den Backofen auf 200 Grad vorheizen. Das Backblech gut mit Butter einfetten. Den Teig auf das Backblech streichen, die Apfelmasse darauf verteilen. Den Kuchen im Backofen auf der mittleren Schiene 25 Minuten backen.

Die Eiweiße mit dem übrigen Zucker und Vanillemark steif schlagen. Die Mandeln untermengen. Den Eischnee auf den Apfelkuchen streichen und den Kuchen in weiteren 20 Minuten auf der unteren Schiene fertig backen.

Das war's

Während der Kuchen im Backofen langsam Farbe bekommt, hier noch der obligatorische Aufruf: Wer ein Programm schätzt und es an dieser Stelle vorgestellt sehen möchte, schickt einfach eine E-Mail an[16]. (mwe)

Infos

[1] Free Priority: [http://www.belug.info/%7Eor/data/freepriority/html_info/]

[2] KOrganizer: [http://korganizer.kde.org/]

[3] GNUcash: [http://www.gnucash.org/]

[4] VMware: [http://www.vmware.com/]

[5] Wine: [http://www.winehq.org/]

[6] React OS: [http://www.ReactOS.com/]

[7] React-OS-Download: [http://www.ReactOS.com/content/view/full/62]

[8] Fresco: [http://www.fresco.org/]

[9] Gnome: [http://www.gnome.org/]

[10] Linux Standard Base: [http://www.linuxbase.org/]

[11] Open and Free Technology Community: [http://www.oftc.net/]

[12] Open Source Initiative: [http://www.opensource.org/]

[13] GNU Texmacs: [http://www.gnu.org/directory/GNU/GNUTeXmacs.html]

[14] Spenden an SPI: [http://www.guidestar.org/partners/networkforgood/donate.jsp?ein=11-3390208]

[15] Die Community in Weihnachtsstimmung: [http://www.linux-community.de/Neues/story?storyid=11012]

[16] Hinweise und Vorschläge: [projektekueche@linux-magazin.de]

Der Autor

Martin Loschwitz kommt aus Niederkrüchten und hilft in seiner Freizeit dabei, die Debian GNU/Linux Distribution weiterzuentwickeln.