Sie sind hier

Aus dem Leben eines Entwicklers

Bild von Markus Kohm

Ich entwickle nun schon seit 30 Jahren in meiner Freizeit Software. Es gab Höhen und Tiefen, viel Freude und viel Frust. Ein wenig davon möchte ich heute berichten.

Von Anfang an war ich bei meinen Freizeitenwicklungen ein Anhänger der Idee, diese Software auch anderen zur Verfügung zu stellen. Als Schüler kam meine Motivation dazu daher, dass ich selbst zu denen gehörte, die sich zwar einen Computer leisten konnten, deren Geld aber nicht auch noch für teure Software reichte. Also war ich sehr froh und dankbar, wenn andere ihre Arbeit kostenlos zur Verfügung stellten und machte es konsequenter Weise genauso. Da ich dann in gewissen Kreisen irgendwann als einer von denen galt, die man fragen kann, wenn man selbst verstehen will, wie man etwas macht, wurde ich irgendwann auch ein Anhänger von OpenSource. Es ist einfacher zu sagen: Schau Dir an, wie ich das gemacht habe, als es mehrfach lang und breit zu erklären.

Um ehrlich zu sein, war ich nie jemand, der sich besonders darum gerissen hat, eine Anleitung zu schreiben oder die Quellen gut zu dokumentieren. Da ich aber auch keine große Lust verspüre, Anwendern und potentiellen Code-Verwertern jeden Tag das gleiche zu erzählen, habe ich trotzdem immer Wert auf genau diese Dinge gelegt. In einen sauren Apfel musste ich eben beißen. Dann lieber einmal richtig und dafür später etwas mehr Ruhe.

Nun soll nicht der Eindruck entstehen, ich wäre nicht an Rückmeldungen durch die Anwender interessiert. Das Anliegen von Anwendern, fehlerfreie Software zu bekommen ist berechtigt und nur auf dem Weg von Rückmeldungen zu erreichen. Ebenso ist das Anliegen von Anwendern, Unterstützung bei speziellen Problemen zu bekommen, verständlich. Außerdem komme ich bei meinen Projekten irgendwann grundsätzlich an einen Punkt, an dem alles enthalten ist, was ich brauche. Ich bastle dann eigentlich nur noch aus Lust und Laune weiter, einfach um zu sehen, welche Erweiterungen sonst noch sinnvoll wären. Ohne die Rückmeldung von Anwendern würde in diesem Stadium die Software zwar weiterentwickelt, es schadet mir aber sicher nicht, wenn ich dabei Ideen den Vorrang gebe, von denen ich weiß, dass möglichst viele Anwender sie auch gerne nutzen würden. Hier wird Rückmeldung dann wirklich wertvoll.

Seit ungefähr 16 Jahren entwickle ich auch TeX- bzw. LaTeX-Lösungen. Dabei war es für mich selbstverständlich, meine Lösungen anderen zur Verfügung zu stellen. Wegen schlechter Erfahrungen mit Public-Domain-Anbietern verwendete ich anfangs allerdings eine Lizenz, die den Verkauf verbot. Gleichzeitig verlangte ich, dass Distributoren zusammen mit den Klassen und Paketen auch immer die Anleitung und die Quellen verteilen müssen. Wer eine Installation meiner Werke anbot, musste dabei auch Anleitung und Quellen mit installieren. Nur so war in meinen Augen sowohl den Interessen der Anwender als auch meinem Interesse der Vermeidung vermeidbarer Arbeit Rechnung getragen.

Es liegt offenbar in der Natur der Dinge, dass sich meine schlechte Erfahrungen mit Public-Domain-Anbietern auch mit Distributoren meiner LaTeX-Pakete wiederholten. Trotz der eindeutigen Lizenz wurden gerade bei KOMA-Script Teile weggelassen und KOMA-Script ganz oder teilweise (mit)verkauft. Nachdem ich einige Distributoren auf die Verstöße hingewiesen hatte, erntete ich unterschiedliche Reaktionen, die von beleidigend über nicht beachtend bis hin zu sehr freundlich reichten. Ich beschloss nur die freundlichen aufzugreifen und die Schmerzen durch die anderen zu missachten. So kam es dazu, dass ich auf das Verkaufsverbot verzichtete und die Lizenz weiter präzisierte. Es gab dann auch Distributoren, die damit drohten, sie würden bei dieser Lizenz KOMA-Script rauswerfen. Als ich erklärte, das sie das dann wohl tun müssten, warf man mir vor, dass ich beabsichtigte den Interessen der Anwendern zu schaden. Für mich ergab sich daraus die Frage, wer denn eigentlich den Anwendern schade. War es so unbillig nur vollständige KOMA-Script-Verteilungen zu erlauben? War es nicht vielmehr die einzige Lösung, um den Anwendern alle Informationen zu liefern und im Ein-Mann-Freizeit-Betrieb qualitativ gute Arbeit und guten Support überhaupt noch gewährleisten zu können? Für mich ergab sich zwangsweise nur die Alternative ganz aufhören zu müssen oder auf dieser kleinen Forderung zu bestehen. Also bestand ich darauf. Einige Distributoren sahen ein, dass einem Entwickler das Rechts zugestanden werden muss, selbst zu entscheiden, was zu seinem Werk gehört und dass dieses nur vollständig zu verbreiten ist. Andere proklamierten im Interesse der Anwender eigene Ziele und Regeln. Diese sollte ich gefälligst einhalten, oder ich sei ein schlimmer Finger, der zum Schaden der Anwender handelt.

Für mich hat ein Distributor eine wesentliche Aufgabe: Er soll zwischen Anwender und Entwickler so vermitteln, dass der Entwickler von der Anpassung seines Werkes an alle möglichen unterschiedlichen Installationsumgebungen einschließlich der zugehörigen Support-Arbeit befreit wird und der Anwender sich weder die Einzelteile seiner Software aus unterschiedlichen Quellen zusammensuchen, noch das korrekte Installationsverfahren für jede einzelne Software herausfinden muss. In meinen Augen haben einige Distributoren dieses Ziel jedoch pervertiert, indem sie ihre eigenen Ziele und die Durchsetzung eigener Wünsche bei den Entwicklern als Interessen der Anwender deklarierten. Mit mir haben solche Distributoren immer wieder gerne Scheingefechte ausgetragen, die meiner Motivation abträglich waren und sehr viel Zeit gebunden haben, die für die Entwicklung und den Support dann fehlten. Gleichzeitig haben solche Distributoren immer wieder meine Rechte ignoriert und in einer Form gegen Lizenzen verstoßen, die Änderungen an der Software notwendig machten, um sie trotz der Verstöße möglichst funktionsfähig zu halten und meinen Interessen halbwegs Rechnung zu tragen.

Inzwischen steht KOMA-Script unter LPPL, in deren Rahmen meine Interessen weitgehend berücksichtigt sind. Die LPPL deklariert jedes Verfügbarmachen eines Werkes von einer Person für eine andere Person als Distribution. Damit müssen diejenigen, die Software für andere installieren, also insbesondere Administratoren in Mehrbenutzerumgebungen selbst die Bedingungen für Distributionen beachten. Dazu gehört – übrigens nicht nur bei KOMA-Script, sondern beispielsweise auch bei LaTeX selbst – dass die Quellen immer mit zur Verfügung gestellt werden müssen. Ein Administrator könnte dem wahlweise Rechnung tragen, indem er die Quellen und die Anleitung von KOMA-Script an passender und für den Anwender deutlich erkennbarer Stelle in ihm passender Form ablegt. Leichter ist es für den Administrator, wenn die Quellen und Anleitungen einfach ganz normal in der TDS-Hierarchie oder auch in den entsprechenden Systemverzeichnissen mit installiert werden. KOMA-Script wird von mir selbst in einem entsprechenden Installations-Archiv angeboten. Es gibt Distributoren, die das aufbrechen und KOMA-Script auf verschiedene Laufzeit-, Quell- und Anleitungspakete verteilen, die nicht zwangsläufig, ja nicht einmal per Voreinstellung zusammen installiert werden. Dabei werden die Administratoren auch nicht darauf hingewiesen, dass beim Verzicht auf Quell- oder Anleitungspaket ggf. eine illegale Verteilung entsteht. In meinen Augen gäbe es eine optimale und eine akzeptable Lösung für dieses Problem. Die optimale Lösung bestünde darin, die Aufteilung zu unterlassen und zumindest meine Pakete (nicht nur KOMA-Script) immer komplett zu installieren. Die Lösung, von der ich signalisiert habe, dass ich sie akzeptieren würde, bestünde darin, in der Voreinstellung zusammen mit dem Laufzeit-Paket auch das jeweilige Quellen- und das Anleitungspaket zu installieren und den Administrator bei Abwählen eines dieser Pakete auf die rechtlichen Konsequenzen hinzuweisen. Es gibt natürlich wieder Distributoren, die auf beide Vorschläge nicht eingehen, sondern lieber wieder irgendwelche Scheingefechte führen.

Zu keiner Zeit, hat mir die Reaktion eines Anwenders je so viel Frust bereitet, wie das Unverständnis und die Lizenzverstöße einiger Distributoren, die nach Bekunden derselben allein im Interesse der Anwender handelten. Natürlich betonten auch viele dieser Distributoren, dass sie jederzeit die Wünsche der Entwickler beachteten. Die tatsächlichen Reaktionen sprechen teilweise aber eine deutlich andere Sprache.

Ich will nicht verschweigen, dass es auch Distributoren gab, die jeden gemeldeten Lizenzverstoß ernst nahmen, die bereit waren, sachlich über meine Wünsche zu diskutieren und diese auch dann zu beachten, wenn sie dazu eigene Prozesse überdenken und ändern mussten. Ich hatte diesbezüglich auch wirklich sehr schöne Erlebnisse.

Ebenso will ich dem Eindruck entgegen wirken, dass mir Anwender oder der Support lästig seien. Von Anfang an, war ich der Meinung, dass freie Software nur gut funktionieren kann, wenn der Anwender bei Fragen auch kompetente Ansprechpartner findet. Natürlich gab es dabei auch immer wieder Anwender, die es für sinnvoll hielten, bei jeder Kleinigkeit sofort den Entwickler oder die Gemeinschaft aus Nutzern und Entwicklern zu kontaktieren, statt in Anleitung und ggf. im Netz nach Antworten zu recherchieren. Das kann für den Entwickler und andere Anwender ärgerlich sein, es liegt aber in der Natur zumindest einiger Menschen. Eine solche Einstellung mag in gewissem Maße schaden, aber sie verletzt nicht und es liegt im Ermessen der anderen, wieviel Zeitverlust sie dadurch zulassen. Gleichzeitig kann eine nicht gestellte Frage ebenso schaden, weil dadurch Fehler, fehlende Möglichkeiten oder ungünstige Funktionsweisen für den Entwickler unentdeckt bleiben. Da ich mit meinen veröffentlichen Paketen zwei Ziele verfolge, nämlich anderen zu helfen und selbst Spaß an der Entwicklung zu haben, sind mir Fragen durchaus willkommen. Sie dienen zwar weniger dem zweiten Ziel aber sehr dem ersten. Dabei erfahre ich natürlich auch gerne, wenn ich dann tatsächlich jemandem helfen konnte. Dies zu erfahren ist ein Teil meiner Motivation.

Leider ist es sehr viel leichter, diese Motivation zu beschädigen, als sie wieder aufzubauen. Schaden nimmt die Motivation jedoch nicht durch Fragen zu KOMA-Script, sondern in erster Linie durch Kritik an meinem angeblichen Antwortstil. Es gibt immer wieder Zeitgenossen, die erkannt haben wollen, ich wolle das Unwissen anderer kritisieren. Natürlich müssen diese Zeitgenossen, das dann auch unbedingt öffentlich thematisieren. Ich glaube, viele Entwickler können nachvollziehen, dass in Zeitnot verfasste Antworten gerne auch dann im Stil fehlgedeutet werden, wenn sie letztlich die Frage beantworten, und das Problem nicht dadurch zu lösen ist, wenn der Entwickler dann auch noch in Diskussionen über seinen Antwortstil verwickelt wird. Ebenso können (typografische) Überzeugungen zusammen mit dem Wunsch, dem Anwender Hintergrundwissen zu vermitteln, auf dessen Basis er seine eigenen Entscheidungen treffen kann, bei einigen wenigen Lesern den Eindruck erwecken, ich würde Anwenderwünsche nicht hinreichend respektieren. Statt klärenden Nachfragen wird das dann gerne als Vorwurf formuliert. Ich mag das tatsächlich gar nicht und es fällt mir schwer, entsprechende Vorwürfe einfach unbeachtet zu lassen.

Eventuell zum Schaden der Anwender, die auch Verständnis für die Nöte der Entwickler aufbringen, habe ich beschlossen, mein öffentliches Engagement vorerst möglichst zu verringern. Dadurch bewahre ich mich vor Stress durch sinnlose Stildiskussionen und finde wieder mehr Zeit für die Dinge, die mir wirklich Spaß machen. Aus diesem Grund, werden vorerst keine Anmeldungen zu komascript.de mehr von mir bearbeitet. Ob ich eine Frage der vorhandenen Anwender hier oder in einem anderen Forum wie goLaTeX beantworten werde, wird sehr von meiner Lust und der Formulierung der Frage abhängen. Es bleibt jedem Anwender, mich per Mail zu kontaktieren. Die E-Mail-Adresse ist der KOMA-Script-Anleitung zu entnehmen.

Soweit für heute.

Comments for "Aus dem Leben eines Entwicklers" abonnieren