Wer via Netzwerk gemeinsam einen Text bearbeiten möchte, findet mit Gobby das am besten geeignete Programm. Es erfüllt diese Aufgabe mit Bravour und macht Lust auf künftige Versionen.
Hilfreiche Kollegen: Weil der Brief bis Feierabend fertig werden muss, haben sie sich hinter dem Schreibtisch zusammengedrängelt, linsen über die Schulter auf den Bildschirm und weisen allesamt gleichzeitig auf Schreibfehler, unschöne Formulierungen und ähnliches hin. Nett gemeint – aber darf ich erstmal meinen Satz zu Ende schreiben, und dann bitte einer nach dem anderen!
Zum Glück gibt es angenehmere Methoden, gemeinsam an einem Text zu arbeiten. Mit Hilfe des “kollaborativen” Texteditors Gobby [1] (Abbildung 1) arbeiten mehrere Personen gleichzeitig an einem Dokument, ohne sich in die Quere zu kommen. Via Netzwerk erscheinen die Texte auf dem eigenen Bildschirm, und jeder kann nach Herzenslust daran herumtüfteln. Verschiedene Farben markieren die Beiträge der einzelnen Benutzer, in einem Chat-Bereich diskutieren die Sitzungsteilnehmer.

Abbildung 1: Die Beiträge verschiedener Sitzungsteilnehmer markiert Gobby mit unterschiedlichen Farben.
Klassisches Konzept
Gobby funktioniert nach dem bewährten Client/Server-Konzept: Die Benutzer installieren das Programm lokal auf ihrem Rechner; einer der Clients fungiert zugleich als Server, bei dem sich die anderen Teilnehmer anmelden. Das Betriebssystem stellt dabei kaum eine Grenze dar, denn Gobby gibt es nicht nur für Linux, sondern auch für Windows und Mac OS.
Der Verbindungsaufbau klappt denkbar einfach: Dank Zeroconf-Unterstützung [2] findet Gobby im lokalen Netz vorhandene Server automatisch und bietet sie zum Login per Mausklick an. Funktioniert dies nicht – etwa bei einer Verbindung via Internet – müssen Sie die Adresse des Servers kennen und manuell eingeben. Nur die Windows-Version von Gobby kennt bislang keine Zeroconf-Unterstützung.
Via Internet mit Abstrichen
Bei der Zusammenarbeit über das Internet zeigt sich ein Problem, das Gobby mit allen Anwendungen teilt: Häufig stehen einer reibungslosen Verbindung NAT-Router entgegen, die von außen eingehende Verbindungsanfragen zu Rechnern im internen Netz in der Regel ablehnen. Hinzu kommt, dass sich die Internetadresse gewöhnlich mit jeder Einwahl ändert, so dass der Server-Betreiber diese jedes Mal den anderen Teilnehmern mitteilen muss.
Eine Patentlösung gibt es für die genannten Probleme nicht. Eine beständige Internetadresse stellen Dienste wie DynIP [3] und DynDNS [4] zur Verfügung. Um einen Server in einem internen Netz hinter einem NAT-Router zu betreiben, konfigurieren Sie diesen so, dass er den verwendeten Port – der Gobby-Standard-Port ist 6522 – weiterleitet.
Steht Ihnen ein Internetserver mit fester IP-Adresse zur Verfügung, liefert das Gobby-Projekt eine elegantere Lösung mit. Das Programm Sobby, ein so genannter dedizierter Server, stellt eine Server-Komponente zur Verfügung, die Verbindungen von Gobby-Clients entgegen nimmt und verwaltet – ohne grafische Oberfläche.
Installation
Benutzer von Ubuntu und Debian installieren Gobby in Version 0.4.1 über die Paketverwaltung oder mit dem Befehl apt-get install gobby. Ubuntu-Anwender aktivieren dazu das Repository Universe. Auch Fedora-Benutzer gelangen mit Hilfe des Kommandos yum install gobby bequem an Gobby 0.4.1, wenn sie die Paketquelle Fedora Extras einbinden. Bei Gentoo löst emerge gobby den Installationsvorgang aus. Anwender von Open Suse 10.2 (Gobby 0.4.1) und Suse Linux 10.1 (Gobby 0.3.0) installieren über YaST die im nächsten Kapitel erwähnten Pakete. Anschließend spielen sie mit Root-Rechten und dem Befehl rpm -Uhv *.rpm die auf der Heft-DVD befindlichen RPM-Pakete ein.
Gobby Marke Eigenbau
Wer eine andere Linux-Distribution verwendet oder einfach die aktuelle Version 0.4.4 bevorzugt, muss selbst zum Compiler greifen. Auf der Heft-CD finden Sie die Archive net6-1.3.5.tar.gz, obby-0.4.4.tar.gz, gobby-0.4.4.tar.gz und sobby-0.4.3.tar.gz, letzteres enthält ausschließlich den dedizierten Server.
Gobby zu kompilieren setzt die vorherige Installation einiger Entwicklerpakete voraus. Neben den üblichen Voraussetzungen wie C- und C++-Compiler (gcc, g++) sowie Make benötigt die Gobby-Übersetzung die Entwicklerversionen – also mit der Endung -dev (Debian) oder -devel (RPM-basierte Distributionen) – von Libsigc++, Gtkmm, Libxml++, Gtksourceview, GnuTLS und Gtk. Wer die automatische Netzwerkkonfiguration verwenden möchte, installiert auch die Zeroconf-Bibliothek.
Die Gobby-Entwickler setzen außerdem auf den Cross-Compiler Mingw; das entsprechende Paket heißt je nach Distribution mingw oder mingw32. Es empfiehlt sich darüber hinaus die Installation von Gettext. Damit erhalten Sie neben der englischen Oberfläche auch zahlreiche Übersetzungen, darunter eine deutschsprachige. Die aufgeführten Bibliotheken und Programme gehören zum Umfang aller größeren Distributionen.
Der Weg zum selbst kompilierten Gobby beginnt beim Paket Net6, das sich um die Netzwerkkommunikation zwischen den Gobby-Clients und dem Server kümmert. Nach dem Entpacken von tar -xzf net6-1.3.5.tar.gz und dem Wechsel ins neue Verzeichnis net6-1.3.5 sorgen die Kommandos ./configure, make und make install für die Übersetzung und Installation der Net6-Bibliothek.
Nach Net6 folgt Obby. Diese Bibliothek hält zeitgleich bearbeitete Dokumente synchron. Sie übersetzen und installieren das Archiv auch hier nach dem Entpacken über ./configure, make und make install.
Nun ist Gobby selbst an der Reihe, das Sie auf dem eben genannten Weg übersetzen. Wer außerdem den dedizierten Server verwenden möchte, knöpft sich anschließend Sobby auf die gleiche Weise vor.
Sitzung starten
Nach der je nach Distribution nicht ganz umstandslosen Installation erfolgt nun der Programmstart über das Kommando gobby. Im Hauptfenster gibt es zunächst die Möglichkeit, eine eigene Sitzung zu eröffnen (Abbildung 2) oder einer existierenden Sitzung beizutreten (Abbildung 3). Die zuständigen Buttons heißen treffend Sitzung eröffnen… und Sitzung beitreten…. Einer Zusammenarbeit zwischen Gobby-Clients in den Versionen 0.4.1 und 0.4.4 steht übrigens ebensowenig etwas im Wege wie der Kollaboration über Betriebssystemgrenzen hinweg. Lediglich Gobby 0.3 muss aufgrund eines veränderten Netzwerkprotokolls draußen bleiben; erst in der aktuellen Version findet der Datentransfer verschlüsselt statt.

Abbildung 3: Dank Zeroconf erkennt Gobby angebotene Sitzungen im lokalen Netz automatisch; der Beitritt erfolgt dann per Mausklick.
Sowohl beim Start einer neuen als auch beim Beitritt zu einer bestehenden Sitzung erfragt das Programm neben dem Netzwerk-Port – den Standard-Port 6522 brauchen Sie normalerweise nicht zu verändern – einen Benutzernamen und eine dazugehörige Farbe. Anhand dieser Farbe identifizieren sich die anderen Sitzungsteilnehmer gegenseitig und erkennen ihre Änderungen.
Die im internen Netz verfügbaren Gobby-Sitzungen stehen im Dialogfenster Sitzung beitreten automatisch zur Auswahl, sofern Zeroconf funktioniert. Ohne automatische Konfiguration geben Sie im Feld Host die Adresse des Servers ein, bevor Sie auf OK klicken.
Wenn Sie eine eigene Gobby-Sitzung eröffnen, geben Sie im entsprechenden Dialog auf Wunsch ein Passwort ein, das andere Benutzer kennen müssen, um teilzunehmen. Außerdem gibt es im Feld Sitzungsdatei die Möglichkeit, Aufzeichnungen vorheriger Sitzungen wieder zu öffnen. Sie enthalten im Unterschied zum reinen Textdokument nicht nur die Inhalte des Dokuments, sondern auch die Gobby-spezifischen Informationen darüber, welcher Benutzer welche Änderungen vorgenommen hat.
Dokumente
Steht die Gobby-Session, kann jeder Teilnehmer neue Dokumente anlegen oder bereits existierende Dateien öffnen. Im unteren Bereich des Gobby-Fensters, in dem auch die Kommunikation via Chat stattfindet, erscheint daraufhin eine Mitteilung an alle Benutzer. Sie enthält den Namen des Dokuments, an dem nun alle gemeinsam arbeiten können.
Der Button Dokumentenliste oder der Menüpunkt Fenster | Dokumentenliste öffnet ein Dialogfenster, das alle in der Gobby-Sitzung verfügbaren Dateien anzeigt (Abbildung 4). Ein Klick auf Abonnieren öffnet die Datei im Editor.

Abbildung 4: Die Dokumentenliste führt die von anderen Sitzungsteilnehmern geöffneten Dateien auf.
Der in Gobby eingebaute Texteditor erinnert nicht zufällig an den Standardeditor der Gnome Oberfläche GEdit, denn beide verwenden die Basisbibliothek Gtksourceview. Damit beherrscht auch der Gobby-Editor Syntaxhervorhebung für alle gängigen Programmiersprachen. Im Vergleich mit GEdit fehlt dem in Gobby eingebauten Editor allerdings die Rechtschreibprüfung. Noch schwerer wiegt das Fehlen der Undo-Funktion, um vorgenommene Änderungen rückgängig zu machen (siehe Kasten “Fehlende Undo-Funktion”).
Fehlende Undo-Funktion
In früheren Gobby-Versionen gab es bereits eine Undo-Funktion, denn die Entwickler hatten sie von Gtksourceview übernommen. Allerdings unterscheidet diese beim Einsatz in Gobby nicht zwischen den Änderungen der verschiedenen Benutzer, so dass ein Klick auf Rückgängig nicht die letzte eigene, sondern die letzte Änderungen insgesamt zurücknahm. Die Entwickler kamen zu dem Schluss, dass die Funktion so mehr schade als nütze und nahmen sie wieder aus dem Programm. Eine verbesserte Undo-Funktion steht auf der Wunschliste für künftige Gobby-Versionen. Noch scheint ihre Entwicklung aber nicht so weit fortgeschritten, dass sie mit Sicherheit in Version 0.5 einfließt.
Während der Arbeit an einem Text haben die Benutzer jederzeit die Möglichkeit, sowohl den Text selbst als auch die gesamte Sitzung zu speichern. Letzteres geschieht über den Menüpunkt Gobby | Sitzung speichern…. Der Vorteil besteht darin, dass neben dem Dateiinhalt auch die Informationen über die Sitzungsteilnehmer und ihre Änderungen erhalten bleiben. Brauchen Sie künftig nur den Text selbst, sichern Sie ihn unter Sitzung | Dokument speichern auf der Festplatte.
Konkurrenzlos
Gobby steht in der Sparte der kollaborativen Editoren weitgehend konkurrenzlos da. Vom KDE-basierten Projekt MateEdit [5] gibt es leider seit über zwei Jahren keine neue Version mehr. Bei MoonEdit [6] handelt es sich um ein zwar kostenloses, aber nicht freies Produkt. Auch hier liegt die letzte Version bereits über zwei Jahre zurück. Die Entwickler kündigten inzwischen unter dem Namen Moonedit Pro eine neue, vermutlich kostenpflichtige Version an. Lediglich Webdienste wie Google Text & Tabellen [7] stellen die Notwendigkeit einer lokal laufenden Anwendung wie Gobby in vielen Arbeitsumgebungen in Frage.
Wünschenswert wäre in einigen Fällen, dass nicht alle Sitzungsteilnehmer jedes angebotene Dokument bearbeiten und einsehen könnten. Eine feiner abgestufte Rechtevergabe wäre denkbar; wer das optional gesetzte Passwort kennt, nimmt stets als gleichberechtigter Benutzer an der Sitzung teil. Allerdings lässt sich dieses Problem auf recht einfache Weise lösen: Starten Sie gegebenenfalls eine weitere Gobby-Instanz und darin eine Sitzung auf einem anderen Port.
Die weitgehende Alternativlosigkeit zu Gobby ist kein Grund zur Klage: Das Programm lässt kaum Features vermissen, nur das Fehlen einer Undo-Funktion sowie einer integrierten Rechtschreibprüfung stört. Abgesehen davon erfüllt das Programm seine Aufgabe tadellos und läuft bereits stabil. Die Benutzung ist intuitiv, dank der Zeroconf-Unterstützung gestaltet sich auch der Verbindungsaufbau einfach. Dass Gobby unter allen gängigen Betriebssystemen funktioniert, trägt ein übriges zu einem überzeugenden Gesamtbild bei.
Glossar
-
Zeroconf
-
Diese Technologie automatisiert die Konfiguration von Rechnern in einem Netzwerk, indem sie Dienste wie freigegebene Drucker oder Dateien und Verzeichnisse sowie andere Serverdienste automatisch allen Netzwerkteilnehmern bekannt macht. Die Vergabe von Netzwerkadressen erfolgt automatisch. Appletalk von Apple und Netbios von Microsoft erfüllen diese Aufgabe unter Mac OS respektive Windows bereits jetzt, allerdings will das Zeroconf-Projekt eine gut dokumentierte und auf offenen Standards basierende Lösung entwickeln.
-
NAT-Router
-
Teilen sich mehrere Rechner in einem internen Netz (LAN) einen Internetanschluss, um mit der Außenwelt zu kommunizieren, geschieht dies gewöhnlich über einen NAT-fähigen Router (NAT = Network Address Translation). Dieser stellt die Verbindung zum Internetanbieter her und erhält von diesem eine Internetadresse. Die Rechner des internen Netzes verbinden sich wiederum mit dem NAT-Router, der ihre Anfragen ins Internet weiterleitet.
-
Cross-Compiler
-
Ein Compiler, der auf einer Plattform läuft und Programme für eine andere übersetzt. Beispielsweise erzeugt Mingw unter Linux bei Bedarf Programme, die sich unter Windows ausführen lassen.
[1] Gobby: http://gobby.0x539.de
[2] Zeroconf: http://www.zeroconf.org
[3] DynIP: http://www.dynip.com
[4] DynDNS: http://dyndns.com
[5] MatEedit: http://mateedit.sourceforge.net
[6] MoonEdit: http://www.moonedit.com
[7] Google Text & Tabellen: http://docs.google.com






