Vor LibreOffice gab es OpenOffice, und vor OpenOffice gab es StarOffice…
LibreOffice ist das Nachfolgeprojekt von OpenOffice(.org), das wiederum auf StarOffice basierte, einer proprietären Office-Suite, die in den 1990er Jahren entwickelt wurde. Erfahren Sie hier mehr über die Geschichte! Und hören wir von Stefan Soyka, der von 1990 bis 1992 an StarOffice gearbeitet hat…
Wann sind Sie zu Star Division gekommen und woran haben Sie gearbeitet?
Im Frühjahr 1990 kam ich aus Berlin nach Hamburg, um gemeinsam mit meinem Freund und Kommilitonen Stefan für Marco Börries in seinem Star Lab zu arbeiten. Wir stiegen beide mehr oder weniger zur gleichen Zeit in das Projekt ein und hatten denselben Vornamen, was anfangs für einige Verwirrung sorgte.
Die Situation in Hamburg bedarf einer Erklärung, wenn man neu hier ist. Die Writer-Anwendung, die die Grundlage für das bildet, was wir heute verwenden, ist nicht der erste Star Writer – aber heutzutage wird sie oft als Star Writer 6 oder Star Writer Graphic bezeichnet. Marcos Firma Star Division mit Sitz im ländlichen Lüneburg unweit von Hamburg hatte mit beachtlichem Erfolg eine Textverarbeitungsanwendung mit dem gleichen Namen entwickelt und verkauft, die eine MS-DOS-Anwendung auf Basis eines selbst entwickelten Grafik-Frameworks war. Ein Team von freiberuflichen Programmierern arbeitete unter der Leitung von Sven-Ola Tücke daran.
Das war übrigens auch das Tool, mit dem wir die ersten Entwürfe für die Spezifikationen geschrieben haben.
Der alte Star Writer hatte eine solide Fangemeinde und verkaufte sich auch nach der Gründung von Star Lab in Hamburg recht gut. Man kann also mit Fug und Recht sagen, dass das Geld, das wir in Hamburg verbrannt haben, in Lüneburg verdient wurde.
Marco hatte jedoch das richtige Gespür dafür, dass grafische Benutzeroberflächen bereits existierten und an Fahrt gewannen. Die Zukunft (also die Zeit, in der wir jetzt leben) würde den Anwendungen gehören, die auf den damals wichtigsten grafischen Benutzeroberflächenplattformen liefen, nämlich Microsoft Windows, dem X Window System und macOS. Natürlich gab es Stimmen, die argumentierten, dass grafische Benutzeroberflächen nur die Produktivität beeinträchtigten und echte Profis immer die Befehlszeile verwenden würden. Das mag heute etwas komisch klingen, aber ich habe mir das zu Herzen genommen.
Als ich dort ankam, war die Entwicklung der Kompatibilitätsschicht namens Star View, die eine portable Programmierung sowohl von Betriebssystemfunktionen als auch von grafischen Benutzeroberflächen ermöglichte, bereits weit fortgeschritten. Es gab jedoch noch keine Anwendung. Da ich an einem C++/X Window System-Projekt zum ODA-Standard (ISO 8613, Open Document Architecture) gearbeitet hatte, verfügte ich über einige Vorkenntnisse und bildete zusammen mit einigen anderen den Kern des Star Writer-Projektteams.
Erzählen Sie uns etwas über den damaligen Standort des Büros und das Team!
Die Büros von Star Lab befanden sich damals in einem recht modernen Gebäude am Heidenkampsweg in der Nähe des Berliner Tors in Hamburg. Ich erinnere mich an die benachbarte Tankstelle; viele von uns waren damals starke Raucher, und ich ging manchmal nachts dorthin, um mir die nächste Packung zu holen.
Dirk Bartels leitete den täglichen Betrieb. Er hatte eine Softwarefirma in Berlin und erwartete sich Vorteile aus der Star View-Portabilitätsschicht für seine eigenen Produkte. Seine persönliche Sekretärin war Marita, wenn ich mich recht erinnere, eine nette junge Frau, ich glaube, die einzige im Projekt zu dieser Zeit. Als ich zum Team stieß, arbeiteten dort etwa zwanzig Leute, einschließlich der Verwaltungsangestellten.
Andreas, ein gutmütiger Typ mit starken Sommersprossen, leitete das Star View-Projekt. Fast die gesamte Programmierung, zumindest für die Microsoft-Plattform, wurde jedoch von Thomas erledigt – einem sehr jungen Mann, der unglaublich gut organisiert und produktiv war, der Art von Programmierer, der einen Bildschirm voller Anweisungen schreibt, die sofort fehlerfrei kompiliert werden. Er lebte praktisch im Büro. Die Personalausstattung für diese Plattform war gut; die anderen Plattformen hatten weniger Entwickler. Ich erinnere mich an Dirk, einen schüchternen jungen Mann, der die Macintosh-Portierung übernahm. Eines Tages zeigte er uns, dass alle Ausgaben auf dem Kopf standen. Es stellte sich heraus, dass der Macintosh einen anderen Y-Ursprung als die Microsoft-Plattform verwendet (oben links, glaube ich). Das bereitete ihm sicherlich einige Kopfschmerzen.
Michael, ein Freiberufler aus Lüneburg, besuchte Star Lab manchmal in seinem winzigen Mazda MX-5 der ersten Generation, in den er kaum hineinpasste. Er war der einzige Ingenieur, der sowohl am „klassischen“ Star Writer mit Sven-Ola Tücke als auch an Star Lab mitgearbeitet hat. Er führte die erste Star Basic-Makrosprache ein. Für die Windows-Plattform hätte es sich gelohnt, über eine Star Writer-Anwendungsprogrammierschnittstelle oder ein Komponentenobjektmodell (damals OLE, das aber 1991 mit Word und Excel gerade erst aufkam) nachzudenken, aber da Portabilität oberste Priorität hatte, kam es nicht dazu.
Das Team war zu dieser Zeit zumindest eurozentrisch – die meisten Mitarbeiter kamen aus der näheren Umgebung. Ein weiterer großartiger Entwickler im Star View-Team war jedoch Eddy McGreal, ein Ire, den ich kürzlich zufällig bei einer von ihm gehaltenen Software-Produktpräsentation gesehen habe. Er kann einfach nicht aufhören zu programmieren.
Armin hielt das Geschäft in Ordnung. Er arbeitete auch an der Internationalisierung. Als er heiratete, lud er alle Freunde ein, um mit ihm zu feiern. Es war in einer kleinen Stadt in den Mooren, ich erinnere mich nicht mehr an den Namen, aber wir hatten eine tolle Zeit. Als wir am Morgen nach Hamburg zurückfuhren, war zumindest der Fahrer hoffentlich mehr oder weniger nüchtern.
Im Star Writer-Team war Jürgen der produktivste Programmierer, etwa zwei Meter groß und mit einem traurigen Gesichtsausdruck. Handballspielen war seine oberste Priorität, wenn er nicht gerade programmierte. Er leistete unglaubliche Arbeit hinter den Kulissen, wie zum Beispiel das Importieren exotischer Dateien aus anderen Textverarbeitungsprogrammen, und beschwerte sich nie oder verpasste eine Frist. Ich glaube, wir haben ihm nie genug Anerkennung für das gezollt, was er erreicht hat.
Trotz all der guten Arbeit erfüllte das Star Writer-Projekt zu meiner Zeit dort nicht die Erwartungen. Später habe ich viel darüber nachgedacht, warum wir am Anfang nicht erfolgreicher waren, denn für mich fühlte es sich wie eine verpasste Chance an. Es lag nicht an mangelnder Ambition: Es gibt Ordner voller großartiger Konzepte und komplexer Spezifikationen. Aber ich glaube, keiner von uns hatte einen guten Plan, wie man diese enorme, komplexe Aufgabe am besten angehen sollte.
Wie sahen damals die Tools und der Entwicklungsprozess aus?
Das objektorientierte Programmierparadigma hatte sich zum ersten C++-Standard und zu entsprechenden Implementierungen weiterentwickelt. Bevor ich nach Hamburg kam, wurde zumindest auf Sun-Workstations ein Präkompilierer verwendet, um Standard-K&R-C-Code zu generieren, der in den plattformnativen C-Compiler eingespeist wurde. Das Ergebnis war nicht immer vorhersehbar oder fehlerfrei, aber glücklicherweise hatten wir bei Star Division den Ein-Schritt-Microsoft-C++-Compiler, sodass wir in dieser Hinsicht einen Schritt voraus waren.
Star View war jedoch eine riesige Bibliothek, und der Microsoft-Linker hatte Schwierigkeiten (und benötigte viel Zeit), um die statische Verknüpfung durchzuführen. Als es zum Code-Freeze kam, also zur Integration der stabilen Versionen aller Projekte, benutzte Stefan eine Eieruhr, damit er den Zeitpunkt, zu dem der Linker fertig war, nicht verpasste, um zu sehen, ob es Probleme mit der Verknüpfung gab oder nicht. Das dauerte so lange, dass man es leicht vergessen konnte. Wenn es fehlschlug, mussten Korrekturen vorgenommen und eine weitere Runde durchgeführt werden. Der gesamte Prozess nahm viel Zeit in Anspruch, bis Stefan eines Tages herausfand, dass jemand das Problem mit dem Microsoft-Linker angegangen war und eine bessere Implementierung veröffentlicht hatte, die die Aufgabe in einem Bruchteil der Zeit erledigte.
Ein weiteres Paradigma, das damals aufkam, war das Model-View-Controller (MVC)-Muster. Kurz gesagt bedeutet es: Was man sieht, ist nur eine flüchtige Transformation des Modells. Der Controller, wie jemand, der Text in die Anwendung eingibt, oder ein Berichtsgenerator, der Tabellendaten in ein Dokument ausgibt, verändert das Modell, das wiederum von Zeit zu Zeit die Ansicht aktualisiert.
Viele Projektbeteiligte und sogar Mitglieder der Geschäftsleitung hatten Probleme mit diesem Verfahren, da es eine einfache Sache unnötig kompliziert zu machen schien. Das Argument lautete in etwa: „Dies soll ein WYSIWYG-Textverarbeitungsprogramm sein, und wir brauchen nichts weiter als das, was der Benutzer auf dem Bildschirm sieht, also speichern wir das.“ Niemand wollte ein Dokument anders als zuvor sehen, wenn er oder sie es erneut öffnete – vielleicht auf einem anderen Rechner, auf dem Schriftarten fehlten oder die Anzeige eine andere Auflösung hatte. Es gab viel zu erklären, und es gab keinen Beweis dafür, dass eines der beiden Konzepte überlegen war. Außerdem konnte niemand aus eigener Erfahrung zuverlässig sagen, was die Übernahme des MVC-Musters für eine Textverarbeitungsanwendung in der Praxis bedeutete und wie der Code aussehen würde.
Dann entwickelte sich der Unicode-Standard weiter und es begann eine kontroverse Debatte darüber, was das für unsere Pläne bedeutete. Was nur 16-Bit-Unicode betraf, waren zwei Aspekte beunruhigend: Das gleiche Dokument würde doppelt so viel Speicher benötigen wie 8-Bit-Zeichen (wir hatten damals noch kein Konzept für die Speicherverwaltung und speicherten das gesamte Dokument ständig im RAM, was natürlich noch überarbeitet werden musste). Zu dieser Zeit verwendete das Modell zeichenbegrenzte C-Zeichenfolgen für Textabsätze, um die Verwendung der Standard-C-Zeichenfolgenbibliotheken zu vereinfachen.
Was Unicode betrifft, müssten wir uns davon verabschieden und die benötigten Funktionen neu schreiben. Wahrscheinlich war noch nicht allen klar, dass C-Strings ohnehin nicht den Anforderungen von Textattributen und Formatierungen entsprechen würden.
UTF-8-Strings hatten hingegen den Nachteil, dass es kompliziert war, herauszufinden, wie viele Zeichenpositionen die Ausgabe beanspruchen würde. Das Erstellen von Teilstrings aus UTF-8-Strings ist ebenfalls eine heikle Angelegenheit, da der String nicht an beliebiger Stelle geschnitten werden kann, ohne ungültige UTF-8-Zeichenfolgen zu erzeugen.
Die meisten Entwickler, die später an StarOffice arbeiten, werden sicherlich überrascht sein, welche grundlegenden Überlegungen uns zu Beginn bewegten, aber Mann, das war alles eine ernste Angelegenheit.
Verwenden Sie LibreOffice heute noch und haben Sie Kontakt zu ehemaligen Mitarbeitern von Star Division?
Leider habe ich keinen Kontakt mehr zu meinen ehemaligen Kollegen. Ich habe Star Division etwas frustriert verlassen, weil es so lange gedauert hat, bis die guten Konzepte umgesetzt wurden, und auch, weil ich das Gefühl hatte, nicht der Richtige zu sein, um sie voranzutreiben. Aber ich hatte auch eine schwangere Freundin (jetzt meine Frau) in Berlin, was ein noch besserer Grund war, mich zu verabschieden.
Ehrlich gesagt war ich erleichtert und erstaunt, als ich das erste Produkt sah. Damals war es noch nicht kostenlos. Ich glaube nicht, dass es sich für Marco wirklich gelohnt hat, bevor es an Sun Microsystems ging – jedenfalls gab es keinen kostenlosen Download. Mit meinem Xyxel-Modem mit 14.400 Baud hat es sowieso lange gedauert. Ich habe aber von Zeit zu Zeit Versionen auf CDs von meinem Freund Stefan bekommen, der noch bei dem Projekt dabei war.
Anfangs war ich mit der Anwendung nicht so zufrieden, da es sich damals um einen monolithischen „Desktop“ handelte, der alle Anwendungen (wie Writer, Calc, Impress und Draw, glaube ich) enthielt und auf meinem Rechner ewig zum Laden brauchte. Ich hätte mir mehr Zusammenarbeit gewünscht: Damals hätte das einen E-Mail-Client und einen Kalender bedeutet.
Manchmal dachte ich mir: „Wenn ich mich entscheiden müsste …“, aber am Ende seufzte ich nur: „Dann gäbe es bis heute keinen Star Writer.“ Tatsächlich wäre es eine weitere interessante Geschichte, welche Veränderungen nötig waren, um das Projekt schließlich zu verwirklichen.
Ich hatte selbst nie Microsoft Office (ich mag Microsoft Publisher wegen der darin enthaltenen Themen und Grafiken, aber irgendwie war Pokémon Druckstudio ein akzeptabler Ersatz). Ich musste jedoch eine Microsoft-Lizenz für meine Kinder kaufen, da die Lehrer nicht damit rechneten, dass jemand keinen Zugang zu Microsoft Office haben könnte, und ich zögerte, die schulische Laufbahn meines Kindes deswegen zu beenden.
Ich benutze LibreOffice jetzt fast täglich. Es hat alles, was ich brauche, und wahrscheinlich noch viel mehr.
Ich verwende LibreOffice für meine tägliche Korrespondenz und seltener zum Erstellen von PDF-Dateien zum Drucken. Ich habe eine Reihe nützlicher Star Basic-Makros und eine gute Dokumentvorlage, aus der ich alle Formatierungen lade, um im Handumdrehen ein ansprechendes Buch im A5-Format aus einer Textdatei oder einer Website zu erstellen. Das Erstellen von PDF-Dateien ist in LibreOffice sehr einfach, dennoch verfügt es über einige ungewöhnliche Funktionen, die manchmal sehr nützlich sind, wie beispielsweise die Option, auch leere Seiten zu exportieren (die normalerweise weggelassen würden). Glauben Sie mir, Sie möchten nicht ohne die leeren Seiten drucken.
Die E-Books, die ich aus demselben Dokument erstelle (Drucken ist etwas aus der Mode gekommen), sind schnörkellos (sie könnten es natürlich sein), aber sie sind angenehm zu lesen. Ich gebe zu, dass ich es sehr praktisch finde, sie in mein Kindle-Konto zu laden, von wo aus ich sie auf jedem Gerät lesen kann, das mir zur Verfügung steht.
Nun, ich bin kein junger Mann mehr, das sage ich lieber selbst, bevor es jemand anderes tut, und das Programmieren, um Benutzern mehr Möglichkeiten zu geben (mit mehr Glück in späteren Projekten), ist bis heute meine Leidenschaft. Das StarOffice-Projekt hat mich mehr oder (manchmal) weniger die ganze Zeit begleitet, ein bisschen wie ein Kind, das ich in jungen Jahren zur Adoption freigegeben habe.
The Document Foundation sagt: Vielen Dank an Stefan für die Einblicke in die Anfänge von StarOffice – und wir freuen uns zu hören, dass er auch heute noch LibreOffice nutzt!