23.Jul 2024

Nachhaltigkeit ist mehr als nur Gärtnerei

Immer wieder ist von “nachhaltiger Softwareentwicklung” die Rede. Damit ist aber nicht (nur) gemeint, dass Software mit Klimazielen im Kopf gebaut werden sollte. Wie der Prototype Fund den Begriff eigentlich verwendet.

Wer den Begriff der Nachhaltigkeit bei Wikipedia nachschlägt, erfährt, dass dieser eigentlich aus der Forstwirtschaft kommt. Dort bezeichnet er das Prinzip, nur so viel Holz zu schlagen, wie auch wieder nachwächst. Logisch, denn ansonsten steht die Förster*in irgendwann ohne Wald da. Als in der zweiten Hälfte des 20. Jahrhunderts ins gesellschaftliche Bewusstsein geriet, dass wir nicht nur mit Bäumen, sondern auch mit anderen natürlichen Ressourcen haushalten müssen, dehnte sich die Bedeutung von Nachhaltigkeit darauf aus, im Einklang mit dem Ökosystem zu leben. Heutzutage wird der Begriff im Alltag vor allen Dingen verwendet, um Lebensweisen und Produkte zu beschreiben, die im Einklang mit den Klimazielen und damit mit einem lebenswerten Planeten stehen. Und klar, auch Software muss sich damit auseinandersetzen: Wird beispielsweise besonders viel Rechenleistung und damit Strom verbraucht, steigt auch der CO2-Verbrauch und so der ökologische Fußabdruck der Software. Gleichzeitig ist natürlich Software nicht unabhängig von der Hardware, auf der sie läuft, zu betrachten. Chips, Datenträger, Kabel: All das braucht es, damit Software überhaupt funktionieren kann. Diese gehen natürlich auch mal kaputt, egal ob geplante Obsoleszenz oder nicht, werden bestenfalls repariert oder ausgetauscht und recycled.

Doch es gibt noch weniger offensichtliche Auswirkungen von Software auf die Umwelt: Ein häufiges Phänomen, gerade bei Smartphones, sind künstliche Systemvoraussetzungen. Einige Apps setzen neueste Betriebssysteme voraus, obwohl sie das nicht müssten. So werden alte, aber funktionstüchtige Smartphones von der Nutzung ausgeschlossen und landen in der Schublade, obwohl die Software eigentlich ohne große Probleme laufen könnte. Microsoft stand unter großer Kritik, weil die Systemvoraussetzungen für ihr neues Betriebssystem Windows 11 höher waren, als sie nachweislich hätten sein müssen.

Aber auch gut funktionierende Software kann schnell unbrauchbar werden, wenn etwa eine zugrundeliegende Software verändert wird. Während man bei Closed-Source-Software den Entwickler*innen hilflos ausgeliefert ist, kann bei FOSS ausgeholfen werden, oft ist nämlich nur ein kleiner Fix notwendig. Doch auch diese Arbeit ist in der Open Source Community meist unbezahlt und kann sich schnell aufstauen. Wird der zu erledigende Berg immer größer, kann das dazu führen, dass eine eigentlich in sich schlüssige Software nicht mehr weiterentwickelt wird und stattdessen eine neue Lösung entsteht – was natürlich nicht sonderlich nachhaltig ist.

Nachhaltige Softwareentwicklung beschreibt für uns also nicht nur, den ökologischen Fußabdruck einer Software möglichst kleinzuhalten und Entwicklungsarbeit effizient zu gestalten. Wir beziehen den Begriff bewusst auf das komplette Ökosystem der Open Source Software. Dazu zählen wir nicht nur öffentliche Git-Repos, sondern auch die Community und Infrastruktur um die eigentliche Software herum. Dieses Ökosystem ist unglaublich vielfältig und gibt viel her: Das grundlegende Prinzip ist ja, dass alle mitmachen und alles benutzt werden kann. Nachhaltigkeit heißt für uns dabei, nicht nur zu nehmen, sondern auch zu geben, sich eben an dem Erhalt des Ökosystems zu beteiligen. Sei es durch den einfachen Betrieb einer Software oder klassisch durch Bugfixing, durch Kommentare, Feature-Requests und die gemeinsame Weiterentwicklung, nicht nur am eigenen, sondern auch an anderen Projekten, egal ob „upstream“ oder nicht. So kann das Open Source Ökosystem wachsen, gedeihen und sich gegenseitig stärken. Allerdings: Erledigt werden diese Aufgaben natürlich nicht von allein. Nachhaltige Softwareentwicklung bedeutet für uns deshalb, diese von Anfang an in der Projektplanung mitzudenken: Das kann zum Beispiel bedeuten, eine feste Finanzierungsquelle für die zukünftige (Weiter-)Entwicklungsarbeit zu haben, also beispielsweise die eigene Software als Service anzubieten oder Spenden einzuwerben. Aber auch Förderungen wie die des Prototype Fund können dazubeitragen, dass diese Arbeiten nicht nur unbezahlt übernommen werden. Oder aber eine Community, der das Projekt am Herzen liegt, hilft mit und schaufelt Kapazitäten frei. Egal wie genau: Wenn sich die eigene Software gut in das Ökosystem Open Source einfügt, das Zusammenspiel funktioniert und auch noch auf den ökologischen Fußabdruck geachtet wird, dann sprechen wir von nachhaltiger Softwareentwicklung.

Nachhaltigkeit ist mehr als nur Gärtnerei