Eines ist inzwischen klar: Das Internet und Informationstechnik generell benötigen Energie und verursachen damit eine nicht unerhebliche Menge an CO2-Emissionen, mehr als der internationale Luftverkehr. Dabei ist zunächst die Hardware der unmittelbare Verursacher. Zunehmend setzt sich jedoch die Erkenntnis durch, dass auch Software einen erheblichen Einfluss hat, da sie letztlich diesen Ressourcenverbrauch auslöst und steuert.
Software hat einen erheblichen Einfluss auf den Energieverbrauch, die Energieeffizienz und die Nutzungsdauer von Hardware und damit auf den Energie- und Ressourcenverbrauch des Internets. Sie aktiviert Energiesparmodi, überträgt und speichert große Datenmengen und stößt Rechenoperationen an. Trotz ihrer großen Bedeutung stecken Empfehlungen für nachhaltige Software noch in den Kinderschuhen. Gesetzliche Vorgaben zur Energieeffizienz gibt es bisher weder in Deutschland noch in Europa. Nur in wenigen IT-Projekten werden Nachhaltigkeit und Ressourcenschonung berücksichtigt. Eine Kurzumfrage unter den Bitkom-Mitgliedern ergab, dass bei 23 Prozent der befragten Unternehmen das Thema Nachhaltigkeit in Softwareentwicklungsprojekten überhaupt keine Rolle spielt. Bei 70 Prozent der Unternehmen spielt das Thema Nachhaltigkeit nur in bis zu einem Viertel der Softwareentwicklungsprojekte eine Rolle1.
Beispiel aus dem Alltag – Suchanfragen im Web belasten das Klima stark
Der Experte Tim Schade schätzt, dass eine Google-Suche circa 0,2 Gramm CO2 freisetzt. Auf alle Suchanfragen eines Jahres geschätzt müssten, um diese Menge an Kohlenstoffdioxid kompensieren zu können, etwa 41 Millionen Bäume gepflanzt werden – unter der Annahme von 5,6 Milliarden täglichen Suchanfragen und der Fähigkeit eines Baums im Jahr etwa 10 Kilogramm Kohlenstoffdioxid zu Biomasse verarbeitet zu können2. Um die Relationen einzuordnen: Der Schwarzwald hat etwa vier Millionen Bäume über 15 Meter Höhe3.
Das Projekt „Green Coding“
Im Rahmen des Forschungsprojekts „Potentials of Green Coding“, gefördert von der Internet Society Foundation und mit den Partnern Gesellschaft für Informatik e. V., Hochschule für Technik und Wirtschaft Berlin und dem Umwelt-Campus Birkenfeld der Hochschule Trier wird nun der Frage nachgegangen, welche Möglichkeiten nachhaltige Software-Entwicklung bietet und wie diese an Hochschulen und in der Unternehmenspraxis etabliert werden können. Ziel ist es, den aktuellen Stand nachhaltiger und ressourcenschonender Softwareentwicklung im nationalen und internationalen Bereich zu erheben und Empfehlungen zu entwickeln, wie die nächste Generation an Entwicklerinnen und Entwicklern bereits früh in ihrer Ausbildung darin geschult werden kann. Hierzu werden im Projekt folgende Fragestellungen bearbeitet:
- Welche Konzepte zur umweltfreundlichen Programmierung von Software (“Green Coding”) gibt es für die Softwareentwicklung im Allgemeinen?
- Welche Konzepte umweltfreundlicher Softwareentwicklungsprozesse gibt es bereits in der Internetbranche?
- Wie können “Green Coding”-Konzepte in die aktuellen Softwareentwicklungsprozesse und in die Curricula von Informatik-Studiengängen implementiert werden?
Entsprechend werden unterschiedliche Stakeholder-Gruppen einbezogen, die für die „Ökologisierung des Internet“ relevant sind: Softwareentwickler*innen, Unternehmen der Internetwirtschaft sowie Informatik-Studiengänge und deren Student*innen an Universitäten.
Ein Blick in die Forschung
Generell leitet sich Green Coding aus typischen Phasen des Wassermodells für die Softwareentwicklung ab und hat dabei immer die Prinzipien der Ressourcen- und Energieeinsparung bei Entwicklung, Betrieb und im End of Life im Blick.
Aufgebaut wird bei diesem Vorhaben unter anderem auf verschiedene Referenzmodellen wie dem GREENSOFT-Modell. Hier werden die Bereiche Lebenszyklus von Software, (Aus)wirkungen von Softwareprodukten sowie Vorgehensmodelle und Handlungsempfehlungen adressiert. Mit diesem Forschungsrahmen können Beobachtungen, Maßnahmen und auch der weitere Transfer in Praxis und Wissenschaft kategorisiert und verknüpft werden4.
Weitere Grundlage des Projekts ist der jüngst freigegebene „Blaue Engel für Softwareprodukte“. Der Blaue Engel stellt Nachhaltigkeits- und Effizienz-Kriterien für Softwareprodukte bereit. Diese sind unterteilt in den engeren Bereich Energie-Effizienz („Wie viel benötigt die Software im Betrieb“), Fragen der Nutzung von Hardware („Läuft die Software auch auf älterer Hardware“) und Nutzungsautonomie (Verfügbarkeit von Schnittstellen, Energiemanagement, Datenformate etc.)5. Wir haben hier die Erfahrung gemacht, dass das Interesse an den Kriterien sehr hoch ist, auch in der Industrie, aber die Umsetzung zur eigentlichen Zertifizierung eines konkreten Softwareprodukts etwas Zeit braucht. Das Projekt „Potentials of Green Coding“ wird diese und weitere Kriterien und Ansätze bündeln und im kommenden Jahr Empfehlungen für alle relevanten Stakeholder-Gruppen veröffentlichen.
Auch in der Wissenschafts-Community wird das Thema zunehmend diskutiert: Im Rahmen der Environmental Informatics 20226, die dieses Jahr im Rahmen der Informatik 2022 in Hamburg stattfand, gab es erstmals auch einen Workshop zum Thema „Green Coding“7. Im Rahmen der Konferenz wurden unter anderem Beiträge zur Ressourceneffizienz von Apps sowie von KI-Lösungen diskutiert. Deutlich wird, dass es hier keine allumfassenden Lösungen gibt, sondern abhängig von Systemarchitektur, Programmiersprache, Anwendungsszenarien unterschiedliche Vorgehensweisen notwendig sind. Über alle Maßnahmen hinweg ist aber auch deutlich geworden, dass das Thema Datensparsamkeit rasant an Fahrt gewinnt, da letztlich jedes Bit übertragen, verarbeitet und dargestellt wird. Und über allem steht die Maxime: „What you can’t measure you can’t manage”.
Praktische Ziele und erhoffte Ergebnisse
Zu der im Projekt bearbeiteten Frage „Wie können “Green Coding”-Konzepte in die aktuellen Softwareentwicklungsprozesse und in die Curricula bestehender Studiengänge implementiert werden?“ besteht die Notwendigkeit sich über den strukturellen Aufbau von Softwareentwicklungsprozessen im Klaren zu werden um geeignete Punkte und Stellschrauben zu identifizieren und aufzuzeigen. Hierbei muss herausgefunden werden, wie auch in unterschiedlichen Phasen der Softwareentwicklung (Anbahnung, vertragliche Fixierung, Durchführung, Qualitätssicherung und Abnahme) sowie den angewandten Organisationsformen der Entwicklung-Phase (z.B. Wasserfall-Modell, V-Modell, Agile Methoden) eine sinnvolle Implementierung stattfinden kann.
Optimalerweise wird Green Coding und dessen Konzepte nicht nur in der Softwareindustrie, sondern auch für die nachfolgenden Generationen an Softwareentwickler*innen in den Curricula bestehender Studiengänge integriert. Hierzu werden nötige Studiengänge und Unterrichtsformen identifiziert und ein Toolset wichtiger Grundlagen und Praktiken für das Erfassen, Analysieren, Verstehen und Optimieren der Umwelt Ein- und Auswirkungen von Software zusammengetragen.
Pilotprojekte und Green Coding in der Lehre
An beiden an dem Projekt „Green Coding“ beteiligten Hochschulen werden seit vielen Jahren Themen aus dem Bereich der Umweltinformatik gelehrt. So gibt es am Umwelt-Campus Birkenfeld bereits Lehrveranstaltungen zur Nachhaltigen Softwaretechnik, und an der HTW Berlin wird im Rahmen des Studiengangs „Betriebliche Umweltinformatik“ ein Pilotprojekt gestartet, das theoretische Grundlagen und praktische Umsetzung des „Green Coding“ im Rahmen von Workshops adressiert.
1 Bitkom (2021): Ressourceneffiziente Programmierung
2 https://www.produktion.de/technik/co2-neutrale-industrie/green-coding-so-funktioniert-co2-reduktion-
durch-ki-87-646.html
3 https://www.baden-wuerttemberg.de/de/service/alle-meldungen/meldung/pid/ein-baum-zum-tag-der-
deutschen-einheit
4 Stefan Naumann, Markus Dick, Eva Kern, Timo Johann (2011): The GREENSOFT Model: A reference model for
green and sustainable software and its engineering. In: Sustainable Computing: Informatics and Systems,
Volume 1, Issue 4, Pages 294-304, https://doi.org/10.1016/j.suscom.2011.06.004.
5 https://www.blauer-engel.de/de/produktwelt/ressourcen-und-energieeffiziente-softwareprodukte
6 https://informatik2021.gi.de/enviroinfo-2021
7 https://informatik2022.gi.de/enviroinfo-2022/special-tracks/green-coding