Erfolgsgeschichte: Behebung einer Einschränkung in LibreOffice Calc

Haben Sie schon einmal den Begriff “sich selbst auf die Nerven gehen” gehört? Wiktionary beschreibt ihn als “etwas aus der Motivation heraus tun, um ein persönliches Problem zu lösen”. In der Welt der freien und quelloffenen Softwareentwicklung kommt dies häufig vor! Jeder kann zu FOSS-Projekten wie LibreOffice beitragen und helfen, sie zu verbessern.

Und genau das hat Rafael Lima mit einer langjährigen Einschränkung in LibreOffice getan. Er hat die Ärmel hochgekrempelt, sich an die Arbeit gemacht und das Problem behoben. Hier ist, was er zu sagen hat:

Bild geteilt: links: Bild Rafael Lima, rechts Text: "LibreOffice hat eine große Gemeinschaft, die neue Mitwirkende unterstützt. Es ist erstaunlich zu sehen, wie sie in der Lage sind, qualitativ hochwertige Anwnedungen zu liefern."

Es gibt eine nette Geschichte hinter der Behebung dieses Fehlers, die ich mit Ihnen teilen möchte…

Zunächst einmal ist dies der Fehler, der mich dazu gebracht hat, ein LibreOffice-Mitarbeiter zu werden.

Zum Hintergrund: Ich arbeite an einer Ingenieurschule in Brasilien, und eines der Fächer, die ich unterrichte, ist Operations Research, also muss ich oft lineare Programmierung verwenden, um, nun ja, Optimierungsprobleme zu lösen. Und da ich ein Linux-Benutzer und ein Verfechter von Open Source bin, würde ich gerne LibreOffice in meinen Vorlesungen verwenden können.

Aber als ich das erste Mal versuchte, den Solver zu verwenden (vielleicht vor 5 oder 6 Jahren), musste ich zu meiner Überraschung feststellen, dass die Solver-Einstellungen nicht in der Datei gespeichert wurden. Das war ein absoluter Showstopper, denn die Studenten mussten die Modelle in einer Tabellenkalkulation vorbereiten und mir dann zur Bewertung übergeben, aber da es nicht möglich war, die Solver-Einstellungen zu speichern, konnte ich den Solver von LibreOffice nie in meinen Vorlesungen verwenden. Das war wirklich schade, da die in LibreOffice verfügbaren linearen Solver denjenigen der Konkurrenz überlegen sind.

Einige Zeit später eröffnete ich einen Fehlerbericht, um mich über die fehlende Funktion zu beschweren, die sich als Duplikat des Fehlers 38948 herausstellte. Damals war ich noch kein Mitwirkender und verstand nicht, wie die Dinge in der Open-Source-Welt tatsächlich funktionieren, so dass mein Fehlerbericht eine ziemlich wütende Note hatte (was ich heute bereue). Aber ich konnte nicht verstehen, warum LibreOffice eine so wichtige Funktion so lange übersehen hatte.

Danach verfolgte ich LibreOffice weiter in den sozialen Netzwerken, insbesondere auf Reddit, und stellte fest, dass viele Nutzer andere “fehlende Funktionen” nannten, die sie gerne implementiert hätten, und dann erklärten die Leute in den Themen oft, dass LibreOffice ein Gemeinschaftsprojekt sei und dass jemand vortreten und die Funktion implementieren müsse.

Im Jahr 2020 beschloss ich also, der The Document Foundation beizutreten und einen Beitrag zu leisten… aber die Implementierung dieser Solver-Funktion würde keine leichte Aufgabe sein. Also begann ich mit Beiträgen, die für Anfänger leichter zugänglich sind, wie Dokumentation, Hilfeseiten und so weiter. Dann begann ich, einige kleinere Fehler zu beheben (einfache Hacks), um die riesige Codebasis von LibreOffice kennenzulernen. Und schließlich, Anfang 2023, fühlte ich mich wohl dabei, diese Solver-Funktion zu implementieren.

Ich freue mich, dass ich LibreOffice 7.6 im nächsten Semester in meinen Operations Research-Kursen einsetzen kann und die Studenten einen guten Grund haben werden, LibreOffice für Optimierungsaufgaben in Betracht zu ziehen.

Ich möchte noch einige Verbesserungen am Solver vornehmen, wie z. B. die Änderung der Benutzeroberfläche und die Verbesserung der Solver-API, damit es einfacher wird, Modelle mit Basic- und Python-Makros zu erstellen und zu lösen.

Außerdem plane ich, dieses Jahr an der LibreOffice-Konferenz teilzunehmen, um einige technische Aspekte zur Behebung dieses Fehlers sowie einige Solver-API-Vorschläge zu diskutieren, die ich gerne einbringen würde.


Danke, Rafael – großartige Arbeit. Wir freuen uns darauf, Dich auch dieses Jahr auf der Konferenz zu sehen! Und alle anderen sind herzlich eingeladen, sich unserer QA-Community anzuschließen und Großartiges zu leisten, wie Rafael es hier getan hat.