Nachhaltige Softwareentwicklung
Der Begriff
Nachhaltige Softwareentwicklung bedeutet, Software so zu erstellen, dass Ressourcen effizient und verantwortungsbewusst genutzt werden. Sowohl das Ergebnis, als auch der Weg dahin muss so gestaltet sein, dass die Bedürfnisse der aktuellen lebenden Menschen erfüllt sind, ohne die Möglichkeiten zukünftiger Generationen zu beeinträchtigen. Dabei werden soziale, ökologische und wirtschaftliche Aspekte gleichermaßen berücksichtigt.
Worum geht es?
Alle 3,4 Monate verdoppelt sich der Aufwand für das Anlernen einer KI – von 2012 bis 2019 daher mehr als 300.000 Mal mit erheblichen Auswirkungen auf den Energieverbrauch und den CO2 Fussabdruck. Das ist schneller als zum Beispiel das Mooresche Gesetz, das für Prozessoren alle 2 Jahre eine Verdopplung der Schaltkreise vorhersagte.
Mit Green AI lassen sich intelligente KI-Modelle entwickeln, die im besten Falle sogar klimapositiv sind, weil sie verantwortungsvoll mit Ressourcen umgehen und darüber hinaus helfen, andere Prozesse z.B. in der Landwirtschaft oder Industrie zu optimieren.
- RED-AI: How costly are the new machine learning models? – ML und Rechenpower
- Allen Institute for AI: Green AI (PDF) – Effizienz von KI als Faktor in der Forschung
- AI and Compute – OpenAI: AI und Rechenpower
- Moving from Red AI to Green AI – Von Red AI zu Green AI
Grüne Software
Die Verwendung von Technologien und Praktiken, die die Umweltbelastung minimieren, wie z.B. der Einsatz von Green Coding oder Green Software Patterns, die Verwendung von energiesparenden Servern beim Betrieb der Software und die allgemeine Verringerung des Stromverbrauchs in allen Lebensphasen der Software.
Die Green Software Foundation baut eine übergreifende Sammlung von Green Patterns zu Themen wie AI, Cloud oder Software auf, die helfen sollen, Emissionen durch Software zu vermeiden – siehe unter Links.
- Green Software Patterns: Katalog mit einer großen Bandbreite von Green Software Patterns
Open Source
Die Verwendung von Open-Source Software ist nachhaltig, da sie die Wiederverwendung von Komponenten ermöglicht, die nicht jedes Mal mit weiteren Ressourcen neu entwickelt werden müssen. Dies setzt Vertrauen voraus, die Open Source dadurch erwirbt, dass die Software von jedermann überprüft und verbessert werden kann. So entsteht auch eine Zusammenarbeit und ein Wissensaustausch innerhalb der Entwicklergemeinschaft, um so die Qualität der Software zu verbessern und weitere Innovationen voranzutreiben.
Messbarkeit
Die Messbarkeit von Software in Hinsicht auf den Ressourcenverbrauch ist schwierig – zum einen bilden sich gerade erst Metriken hierfür heraus, wie zum Beispiel in der Forschung zum maschinellen Lernen im Bereich der KI. Zum anderen sind entsprechende Systeme – auch mangels Bewußtsein der Beteiligten – noch nicht übergreifend im Einsatz, um zum Beispiel schon während der Entwicklung die Auswirkung von Softwareanpassungen im Verbrauch von Energie beobachten zu können.
Langlebige Beziehungen
Ziel ist der Aufbau von langlebigen Beziehungen durch Software, zum Beispiel durch Berücksichtigung von Datenschutz und Sicherheit, um sicherzustellen, dass die persönlichen Daten der Nutzer geschützt bleiben und das Vertrauen für eine langlebige Beziehung der Nutzer mit der Anwendung ermöglicht wird.
Fragen Sie uns an
Eine nachhaltige Softwareentwicklung wird immer wichtiger, je mehr wir uns auf Technologien verlassen und je tiefer Technologie in unseren Alltag eindringt – das hat Folgen für die Softwareentwicklung der Zukunft, so wie wir sie verstehen und auch heute schon verwenden, fragen Sie uns an.