Zum Inhalt springen
Startseite » Blog » Digitale Nachhaltigkeit in der Softwareentwicklung

Digitale Nachhaltigkeit in der Softwareentwicklung

    Es gibt viele Definitionen des Begriffs „Digitale Nachhaltigkeit“. Was wir uns darunter vorstellen und wie sich das Thema in die Softwareentwicklung überträgt, erfahren Sie in diesem Artikel.

    Nicht erst seitdem die Klimakrise in das Bewusstsein der Gesellschaft gerückt ist und der Bitcoin den Strombedarf eines mittelgroßen Landes hat, spielt das Thema Nachhaltigkeit eine Rolle in der Softwareentwicklung. Es liegt im ureigenen Kerninteresse einer Softwarefirma, die Anwender zufrieden zu stellen1Zumindest unterstellen wir das. Doch was hat das mit digitaler Nachhaltigkeit zu tun?

    Effiziente Algorithmen zur Reduktion des Strombedarfs

    Digitale Nachhaltigkeit - Grüner Algorithmus

    Ein Programm, das träge reagiert ist nicht nur ärgerlich. Es verschwendet auch unnötig Strom. Daher ist es unser Ziel, die Laufzeit unserer Software gering zu halten, zugunsten des Stromverbrauchs und zur Schonung der Nerven des Anwenders. Niemand möchte minutenlang warten, bis die gewünschte Funktion ausgeführt wird.

    Nun mögen Veteranen der Programmiersprache C entgegenhalten, dass es gar nicht möglich ist ein effizientes Programm in Python, unserer Sprache der Wahl zu entwickeln. Python gilt als langsam, da es nicht wie C den Quelltext direkt in Maschinencode verwandelt, der sehr schnell durch den Prozessor ausgeführt werden kann. Sondern der Quelltext wird zunächst in Bytecode verwandelt, der dann durch einen Interpreter ausgeführt wird. Dies bietet den Vorteil, dass derselbe Quelltext auf unterschiedlichen Plattformen wie Linux, FreeBSD, MacOS und Windows unverändert ausgeführt werden kann.

    Dem halten wir entgegen, dass ineffiziente Programme in jeder Sprache entstehen können. Am Ende entscheidet der Anwender, ob eine Software schnell genug ist. Schauen Sie selbst! Abgesehen davon unternimmt die Python-Community aktuell im Projekt Faster CPython Einiges, um Python zu beschleunigen.

    Inklusivität ist teuer

    Digitale Nachhaltigkeit zielt unserer Ansicht nach auch auf benachteiligte Menschen ab und nimmt sie mit. Aus ökonomischer Sicht ist es nicht sinnvoll, Funktionen anzubieten die nur wenige Nutzer haben wollen. Umso wichtiger ist es darauf zu achten, bestimmte Nutzergruppen nicht von vornherein auszuschließen. Dies gilt beispielsweise für sehbehinderte Menschen, die Apps und Programme wie jeder andere nutzen wollen. Die Herausforderung auf Seiten der Softwareentwicklung besteht dann darin, das visuelle Interface, das meist die Hauptbedienoberfläche darstellt, durch Haptik und/oder Akustik zu ersetzen. Und das möglichst so gut, dass der Anwender die Software genau so intuitiv bedienen kann wie ein nicht eingeschränkter Mensch.

    Unsere App Intol hilft Menschen mit Nahrungsmittel-Intoleranzen. Damit auch sehbehinderte Menschen Intol verwenden können, bietet sie dafür haptisches Feedback inklusive einer Anleitung an, die über einen Screen Reader gelesen werden kann. Einem Wunsch einer betroffenen Anwenderin folgend, haben wir dafür Intol um die nötigen Funktionen erweitert, sodass die App nun einen großen Schritt inklusiver ist. Falls Sie für das Dienstplanungsprogramm MiaPlan ebenso Bedarf sehen, melden Sie sich gern bei uns. Wir erarbeiten dann gemeinsam ein Konzept zur barrierefreien Bedienung.

    Monopole aufbrechen – Digital nachhaltig werden

    Wer das Gros der Internetnutzer hinter sich versammeln kann, entscheidet wo es lang geht. Der Browser Google Chrome ist kostenlos, schnell und erfreut sich des größten Marktanteils bei Browsern weltweit. Die Entwicklungsumgebung Microsoft Visual Studio Code wird immer beliebter. Sie ist genau wie Chrome kostenlos, sehr benutzerfreundlich und verdrängt allmählich alle anderen IDEs2Integrated development environment = Entwicklungsumgebung. Auf fast jedem Smartphone der Welt ist Android vorinstalliert. Diese Liste ließe sich beliebig fortsetzen.

    Wir glauben, dass es besser ist diese Entscheidungsmacht, die Google, Microsoft und andere große Konzerne für sich beanspruchen auf viele kleinere Schultern zu verteilen. Dafür setzen wir nicht auf die etablierten Standardlösungen GitHub, Twitter, Microsoft Office und Teams, sondern stattdessen auf freie, kleinere Alternativen wie Codeberg, Mastodon, LibreOffice, Jitsi Meet und viele weitere. Diese sind oft mindestens so leistungsfähig wie die Software der Big Player, dafür aber nachhaltiger.

    Freie Open-Source Software zur Teilhabe für jede(n)

    Nur die wenigsten Menschen können Software selbst entwickeln oder verändern. Von manchen wird dies sogar als arkane Kunst bezeichnet. Aber Teilhabe an Software umfasst nicht nur das Studieren und Verändern des Quellcodes selbst, sondern auch Wünsche zur Weiterentwicklung einbringen zu können, Fehler (Bugs) zu melden und Ideen zu diskutieren.

    Damit Menschen bei uns teilhaben können, haben wir auf Codeberg einen Issue Tracker eingerichtet. Dort veröffentlichen wir einige unserer Projekte wie den Systemressourcen-Monitor atopsar-plot als Open-Source Software. Auf Feddit können Ideen ausgetauscht werden. Selbstverständlich tragen wir bei den von uns verwendeten OSS3Open-Source Software-Projekten bei, indem wir den Entwicklern Fehlermeldungen sowie Verbesserungsvorschläge zukommen lassen und soweit möglich direkt Vorschläge zur Behebung machen.

    Selbstkritik

    Digitale Nachhaltigkeit umfasst weit mehr, als die oben erwähnten Aspekte. Und selbst bei den erwähnten Punkten könnten wir noch mehr tun. Warum ist beispielsweise MiaPlan selbst keine Open-Source Software? Hierzu haben wir uns Gedanken gemacht und können bisher das Spannungsfeld zwischen unserem Geschäftsmodell (Software gegen Gebühr) und dem Open-Source Gedanken (Quellcode offen für alle herunter-ladbar) nicht auflösen.

    Vorstellbar wäre eine Ombudsperson, die die Bedürfnisse beider Seiten vertritt. Auf der einen Seite die Ziele der OSS-Bewegung, nämlich das Ausführen, Auditieren, Verändern und Kopieren der Software und auf der anderen Seite die Erhaltung des Geschäftsmodells, indem sie z.B. den Quellcode einem ausgewählten Personenkreis zur Verfügung stellt. Diese könnten den Code ausführen, auditieren und verändern. Im Anschluss könnten sie darüber berichten.