Nachhaltigkeit in der Software-Entwicklung
Wie wir in der IT die Fehler der Industrialisierung vermeiden können
IT verbraucht immer mehr Energie
Vorab: Es ist wichtig, Software nachhaltig zu entwickeln und sicherzustellen, dass sie die Bedürfnisse der Gegenwart erfüllt, ohne die Möglichkeiten künftiger Generationen zu gefährden, ihre eigenen Bedürfnisse zu erfüllen. IT macht laut der IEA (International Energy Agency) ca. 5–7 % des globalen Stromverbrauchs aus. Wie sie sich nachhaltig nutzen lässt, haben wir ja schon in Teil 1 unserer Serie beleuchtet. Wie kann Software nachhaltig entwickelt werden?
Software muss nachhaltiger werden
Nachhaltige Softwareentwicklung kann definiert werden als der Prozess der Erstellung von Software, der negative ökologische, soziale und wirtschaftliche Auswirkungen reduziert und gleichzeitig positive Auswirkungen fördert. Dazu gehört die Konzeption, Implementierung und Bereitstellung von Software unter Berücksichtigung der ökologischen, sozialen und wirtschaftlichen Folgen ihres gesamten Lebenszyklus, von der Konzeption bis zur Entsorgung.
Die UN definiert Ziele für eine Nachhaltige Entwicklung
Die Vereinten Nationen haben die Bedeutung der Softwareentwicklung für die Erreichung der Ziele für nachhaltige Entwicklung (SDGs) erkannt. Die SDGs sind eine Reihe von 17 Zielen, die sich mit den wichtigsten Herausforderungen der Welt befassen, wie Armut, Hunger, Gesundheit, Bildung, Gleichstellung der Geschlechter, sauberes Wasser und sanitäre Einrichtungen, erschwingliche und saubere Energie, menschenwürdige Arbeit und Wirtschaftswachstum, Industrie, Innovation und Infrastruktur, Verringerung von Ungleichheiten, nachhaltige Städte und Gemeinden, verantwortungsvoller Konsum und Produktion, Klimaschutz, Leben unter Wasser, Leben an Land, Frieden, Gerechtigkeit und starke Institutionen. Nachhaltige Softwareentwicklung trägt zu mehreren SDGs bei, wie z.B.:

Ziele für eine nachhaltige Entwicklung (SDGs)
SDG 7
Erschwingliche und saubere Energie
Erschwingliche und saubere Energie: Nachhaltige Softwareentwicklung kann den Energieverbrauch senken, indem der Code optimiert, effiziente Algorithmen verwendet und die Hardwareanforderungen minimiert werden. Dies kann zu erheblichen Energieeinsparungen und einer Verringerung der Kohlenstoffemissionen führen.
SDG 9
Industrie, Innovation und Infrastruktur
Nachhaltige Softwareentwicklung kann dazu beitragen, die Infrastruktur zu verbessern und Innovationen zu fördern, indem Software entwickelt wird, die erneuerbare Energien, intelligente Stromnetze, effiziente Transportsysteme und nachhaltige Gebäudekonzepte unterstützt.
SDG 12
Konsum und Produktion
Nachhaltige Softwareentwicklung kann ständige Neuentwicklungen und Bugfixes reduzieren und so die Ressourceneffizienz verbessern, indem Open-Source-Software verwendet wird, die die Zusammenarbeit, die Wiederverwendung und das Recycling von Code fördert. Sie kann auch die Umweltauswirkungen von Hardware reduzieren, indem sie Software entwickelt, die mit älteren und weniger leistungsfähigen Geräten kompatibel ist.
SDG 13
Klimapolitik
Nachhaltige Softwareentwicklung kann zur Eindämmung des Klimawandels beitragen, indem sie Software entwickelt, die Kohlenstoffemissionen überwacht und reduziert, erneuerbare Energien unterstützt und Einzelpersonen und Organisationen hilft, nachhaltigere Entscheidungen zu treffen – und sich vor allem messen lässt.
Vorteile der Open-Source-Software
Um eine nachhaltige Softwareentwicklung zu erreichen, können verschiedene Ansätze und Techniken verwendet werden, darunter Open-Source-Software und Paradigmen für eine nachhaltige Softwarearchitektur. Open-Source-Software ist eine Kategorie von Software, die es den Benutzern erlaubt, auf den Quellcode zuzugreifen, ihn zu ändern und zu verbreiten. Das bedeutet, dass jeder die Software nutzen und verbessern kann, was die Zusammenarbeit und Innovation fördert. Diese hat mehrere Vorteile, die sie zu einer idealen Wahl für die nachhaltige Softwareentwicklung machen.
Kollaboration
Open-Source-Software fördert die Zusammenarbeit zwischen Entwicklern und Benutzern, was zu einer besseren Qualität und Zuverlässigkeit der Software führt.
Wiederverwendung
Open-Source-Software kann wiederverwendet und modifiziert werden, wodurch die Notwendigkeit, neuen Code von Grund auf zu erstellen, verringert und das Code-Recycling gefördert wird.
Sicherheit
Open-Source-Software ist sicherer als Closed-Source-Software, da mehr Menschen den Code überprüfen und verbessern können, um Sicherheitslücken zu erkennen und zu schließen.
Kostengünstig
Open-Source-Software ist häufig kostenlos oder kostengünstig, was sie für Einzelpersonen und Unternehmen leichter zugänglich und erschwinglich macht.
Serviceorientierte Architektur (SOA)
SOA ist ein Architekturstil, der eine lose Kopplung zwischen Softwarekomponenten fördert, wodurch diese leichter wiederverwendet und geändert werden können. Dies führt zu einer besseren Ressourcennutzung, verringert die Verschwendung und fördert die Nachhaltigkeit.
Microservices
Die Microservices-Architektur ist ein Ansatz, bei dem große Softwaresysteme in kleine, unabhängige Dienste zerlegt werden, die unabhängig entwickelt, bereitgestellt und skaliert werden können. Dieser Ansatz fördert Flexibilität, Agilität und Widerstandsfähigkeit und reduziert den Bedarf an großen, monolithischen Systemen, die schwer zu warten und zu aktualisieren sind.
Cloud-native Architektur
Cloud-native Architektur ist ein Ansatz, der Cloud-Computing-Technologien nutzt, um Software zu entwickeln und bereitzustellen, die skalierbar, zuverlässig und kostengünstig ist. Dieser Ansatz fördert die Nachhaltigkeit, indem er die Hardwareanforderungen reduziert, die Energieeffizienz fördert und eine effiziente Ressourcennutzung ermöglicht.
Grüne Software
Green Software-Engineering umfasst eine Reihe von Praktiken und Techniken, die eine nachhaltige Software-Entwicklung fördern, z. B. die Optimierung des Codes, die Verringerung des Energieverbrauchs, die Minimierung von Abfall und die Nutzung erneuerbarer Energiequellen.
ZUSAMMENFASSUNG
Wir setzen auf nachhaltige Open Source Software
Eine Softwareentwicklung, die das Leitbild der Nachhaltigkeit einbezieht ist die Voraussetzung für das Erreichen der SDGs. Open-Source-Software und Paradigmen für eine nachhaltige Softwarearchitektur sind wichtige Instrumente zur Erreichung dieses Ziels, da sie Zusammenarbeit, Wiederverwendung, Transparenz, Sicherheit und Effizienz fördern. Durch die Übernahme dieser Ansätze können Softwareentwickler Software erstellen, die negative ökologische, soziale und wirtschaftliche Auswirkungen reduziert und gleichzeitig positive Auswirkungen fördert und so zu einer nachhaltigeren Welt beiträgt. Deshalb verwenden wir bei my-vpa in erster Linie Open Source Lösungen wie zum Beispiel: MariaDB, PHP, TensorFlow, Ubuntu, Matrix, Apache, OwnCloud oder OpenXchange.
WEITERE THEMEN