Baustellenschild

Diese Seiten befinden sich im Aufbau.

Sie können unvollständige, veraltete und/oder sich widersprechende Informationen enthalten.

Nachhaltige Software: Unterschied zwischen den Versionen

Aus Erlebnisraum Nachhaltige Entwicklung
Zur Navigation springen Zur Suche springen
K (EMAS-Link ergänzt)
(Peters Anregungen eingebaut und Text leicht abgespeckt)
Zeile 1: Zeile 1:
Dieser Beitrag ist noch ziemlich unfertig, da ist noch einiges
glattzuziehen...

* Zur Motivation siehe Vorbemerkung auf der [[Diskussion:Nachhaltige_Software|Diskussionsseite]].
* Zur Motivation siehe Vorbemerkung auf der [[Diskussion:Nachhaltige_Software|Diskussionsseite]].
* [[Diskussion:Nachhaltige_Software|Anregungen und kritische Bemerkungen]] sind sehr willkommen!
* [[Diskussion:Nachhaltige_Software|Anregungen und kritische Bemerkungen]] sind sehr willkommen!


Dies ist "work in progress". Prima wäre es, wenn wir zu einer Begriffs-
= Einleitung =
definition gelangen könnten, die von '''allen''' Projektteilnehmern getragen wird!

= Zielsetzung dieses Wiki-Beitrags =


Aspekte der Nachhaltigkeit werden heute intensiv mit Blick auf die ''Hardware''-Komponenten
Aspekte der Nachhaltigkeit werden heute intensiv mit Blick auf die ''Hardware''-Komponenten
Zeile 13: Zeile 13:
sicherlich noch nicht als abgeschlossen anzusehen.
sicherlich noch nicht als abgeschlossen anzusehen.


Zunächst ist festzustellen: Die Entwicklung und Nutzung informationstechnischer Systeme ist grundsätzlich mit einem Verbrauch von Ressourcen (Energie, Rohstoffe etc.) verbunden. Systemoptimierungen unter dem Aspekt der [[Energieeffizienz]] sind zwar wünschenswert, lösen diese Problematik jedoch sicherlich nicht: Insofern Ressourcen ''irreversibel'' verloren gehen, ist ein energieeffizientes IT-System zwar weniger "schlimm" als seine ineffiziente Variante, lässt sich aber sicherlich nicht allein auf Grund eines minimierten Energiebedarfs als "nachhaltig" bezeichnen. Insofern stellt sich die Frage, ob und ggf. wie sich informationstechnische Systeme schaffen lassen, deren (umfassend betrachtete) Auswirkung auf die Umwelt nicht-negativ ist.
Zunächst ist festzustellen: Die Entwicklung und Nutzung informationstechnischer Systeme ist grundsätzlich mit einem Verbrauch von Ressourcen (Energie, Rohstoffe etc.) verbunden. Systemoptimierungen unter dem Aspekt der [[Energieeffizienz]] sind zwar wünschenswert, lösen diese Problematik jedoch sicherlich nicht: Insofern Ressourcen ''irreversibel'' verloren gehen, ist ein energieeffizientes IT-System zwar weniger "schlimm" als seine ineffiziente Variante, lässt sich aber sicherlich nicht allein auf Grund eines minimierten Energiebedarfs als "nachhaltig" bezeichnen. Insofern stellt sich die Frage, ob und ggf. wie sich informationstechnische Systeme schaffen lassen, deren (umfassend betrachtete) Auswirkung auf die Umwelt nicht-negativ ist. Explizit einzubeziehen in die Betrachtung sind dabei die Software-Komponenten und deren Herstellungsprozesse, die (über den Stromverbrauch für die Entwicklungsrechner hinaus) mit nennenswerten "versteckten Nebenkosten" verbunden sein können.


An dieser Stelle unseres Wikis soll beschrieben (und diskutiert) werden, was wir im Umfeld des
An dieser Stelle unseres Wikis soll beschrieben (und diskutiert) werden, was wir im Umfeld des ENE-Projektes unter ''nachhaltiger'' (im Gegensatz zu ''langlebiger!'') Software und unter nachhaltigen Software-Engineering-Prozessen verstehen. Sinnvoll scheint eine Unterscheidung zwischen ''Software-Anwendung'' (Nutzung) und ''Software-Entwicklung'' (Herstellprozess). Demgemäß sollen nachfolgend mit Blick auf die [[Integrative_Nachhaltigkeit|im ENE-Projekt zu Grunde gelegte Nachhaltigkeitsdefinition]] die Begriffe der nachhaltigen Software und der nachhaltigen Software-Entwicklung präzisiert werden. Unter anderem stellt sich in diesem Kontext auch die Frage, inwieweit der Begriff der [http://de.wikipedia.org/wiki/Digitale_Nachhaltigkeit Digitalen Nachhaltigkeit] konform ist zu dem im ENE-Projekt verwendeten Nachhaltigkeitsbegriff.
ENE-Projektes unter ''nachhaltiger'' (im Gegensatz zu ''langlebiger'' oder ''effizienter'') Software und unter nachhaltigen Software-Engineering-Prozessen verstehen. Sinnvoll scheint eine Unterscheidung zwischen ''Software-Anwendung'' (Nutzung) und ''Software-Entwicklung'' (Herstellprozess). Demgemäß sollen nachfolgend mit Blick auf die [[Integrative_Nachhaltigkeit|im
ENE-Projekt zu Grunde gelegte Nachhaltigkeitsdefinition]] die Begriffe der nachhaltigen Software und der nachhaltigen Software-Entwicklung präzisiert werden. Unter anderem stellt sich in diesem Kontext auch die Frage, inwieweit der Begriff der [http://de.wikipedia.org/wiki/Digitale_Nachhaltigkeit Digitalen Nachhaltigkeit] konform ist zu dem im ENE-Projekt verwendeten Nachhaltigkeitsbegriff.


= Wodurch zeichnet sich "nachhaltige Software" aus? =
= Wodurch zeichnet sich "nachhaltige Software" aus? =


In der Literatur recht breit akzeptiert ist der Vorschlag von Dick, Naumann & Kuhn (2011),
In der Literatur recht breit akzeptiert ist der Vorschlag von Dick, Naumann & Kuhn (2011), nachhaltige Software wie folgt zu definieren: ''"Sustainable software is software whose direct and indirect negative impacts on economy, society, human beings, and environment resulting from development, deployment, and usage of the software is minimal and/or has a positive effect on sustainable development."'' Mit Blick auf die [[Mission_Statement|Zielsetzung des ENE-Projekts]] ist die erstgenannte Teilbedingung ("minimal impact") an dieser Stelle sicherlich als zu schwach einzustufen, so dass wir das Logische "or" streichen und uns auf das "and" verständigen ("positive effect").
nachhaltige Software wie folgt zu definieren: ''"Sustainable software is software whose direct and indirect negative impacts on economy, society, human beings, and environment resulting from development, deployment, and usage of the software is minimal and/or has a positive effect on sustainable development."'' Mit Blick auf die [[Mission_Statement|Zielsetzung des ENE-Projekts]] ist die erstgenannte Teilbedingung ("minimal impact") an dieser Stelle sicherlich als zu schwach einzustufen, so dass wir das Logische "or" streichen und uns auf das "and" verständigen ("positive
effect").


Häufig verwendet wird daneben der Begriff der [http://de.wikipedia.org/wiki/Digitale_Nachhaltigkeit Digitalen (oder Informationellen) Nachhaltigkeit], für den mehrere verschiedene Definitionen (oder vielleicht treffender ausgedrückt: verschiedene mit dem gleichen Begriff belegte Konzepte) existieren. Recht verbreitet sind die Definitionen von Dapp (ETH Zürich) und Stürmer (Parlamentatische Gruppe "Digitale Nachhaltigkeit" in der Schweiz), die Wissen als immaterielle Ressource auffassen und den Nutzungsaspekt von Information inklusive offener Zugangsmöglichkeiten in den Vordergrund stellen. Insofern scheint diese Sicht (die stark die Open-Source-Philosophie stützt) gegenüber der vorgenannten Definition mit Blick auf das ENE-Projekt zu sehr auf die soziale Dimension reduziert (vgl. auch Martens 2013, der den Nachhaltigkeitsbegriff für unpassend gewählt hält in Verbindung mit diesem Konzept, da dieser Ansatz nicht auf die Schonung natürlicher Ressourcen abzielt).
Häufig verwendet wird daneben der Begriff der [http://de.wikipedia.org/wiki/Digitale_Nachhaltigkeit Digitalen (oder Informationellen) Nachhaltigkeit], für den mehrere verschiedene Definitionen (oder
vielleicht treffender ausgedrückt: verschiedene mit dem gleichen Begriff belegte Konzepte)
existieren. Recht verbreitet sind die Definitionen von Dapp (ETH Zürich) und Stürmer
(Parlamentatische Gruppe "Digitale Nachhaltigkeit" in der Schweiz), die Wissen als immaterielle
Ressource auffassen und den Nutzungsaspekt von Information inklusive offener Zugangsmöglichkeiten in den Vordergrund stellen. Insofern scheint diese Sicht (die stark die Open-Source-Philosophie stützt) gegenüber der vorgenannten Definition mit Blick auf das ENE-Projekt zu sehr auf die soziale
Dimension reduziert (vgl. auch Martens 2013, der den Nachhaltigkeitsbegriff für unpassend gewählt
hält in Verbindung mit diesem Konzept, da dieser Ansatz nicht auf die Schonung natürlicher
Ressourcen abzielt). Ungeachtetet dessen sind der ''offene Zugang'' zu Software-Artefakten sowie die Möglichkeit der ''Partizipation an den Entwicklungsprozessen'' wesentliche Bestandteile unserer
Arbeitsphilosophie im ENE-Projekt.


Subsumieren wir ökonomisch negative Auswirkungen auf Grund der damit einher gehenden sozialen Konsequenzen unter "Mensch und Gesellschaft", so können wir es zunächst bei folgender Definition belassen:
Subsumieren wir ökonomisch negative Auswirkungen auf Grund der damit einher gehenden sozialen
Konsequenzen unter "Mensch und Gesellschaft", so sollten wir es zunächst bei folgender Definition
belassen können:


* '''Nachhaltige Software''' ''zeichnet sich dadurch aus, dass die direkten und indirekten negativen Auswirkungen auf Gesellschaft, Mensch und Umwelt, die sich aus der Entwicklung, dem Betrieb und der Verwendung der Software ergeben, minimal sind. Zudem sollen sich mit Blick auf eine nachhaltige Entwicklung durch die Software langfristig positive Auswirkungen ergeben.''
* '''Nachhaltige Software''' ''zeichnet sich dadurch aus, dass die direkten und indirekten negativen Auswirkungen auf Gesellschaft, Mensch und Umwelt, die sich aus der Entwicklung, dem Betrieb und der Verwendung der Software ergeben, minimal sind. Zudem sollen sich mit Blick auf eine nachhaltige Entwicklung durch die Software langfristig positive Auswirkungen ergeben.''


Unter "langfristig positiven Wirkungen" verstehen wir dabei im ENE-Projekt (mit der Zielsetzung
Unter "langfristig positiven Wirkungen" verstehen wir dabei im ENE-Projekt (mit der Zielsetzung einer [[Integrative_Nachhaltigkeit|Integrativen Nachhaltigkeit]]) eine ''Entwicklung,'' die den Einklang von Mensch, Gesellschaft und Natur im Sinne eines "bien vivir" unter Einhaltung natürlicher Stoffkreisläufe und frei von irreversiblen Änderungen anstrebt; siehe auch Schweizer-Ries (2013). Technologie sehen wir dabei als treibenden Faktor zur Entwicklung von Hilfsmitteln und Vorgehensmodellen zur Vermeidung nicht-nachhaltiger Lebensweisen.
einer [[Integrative_Nachhaltigkeit|Integrativen Nachhaltigkeit]]) eine ''Entwicklung,'' die den

Einklang von Mensch, Gesellschaft und Natur im Sinne eines "bien vivir" unter Einhaltung natürlicher Stoffkreisläufe und frei von irreversiblen Änderungen anstrebt; siehe auch Schweizer-Ries (2013). Technologie im Allgemeinen und insbesondere auch informationstechnische Systeme sehen wir dabei als ''treibenden Faktor'' zur Entwicklung von Hilfsmitteln und Vorgehensmodellen zur Vermeidung nicht-nachhaltiger Lebensweisen. (An dieser Stelle sind wir Technik-gläubig.)
Bemerkung: An dieser Stelle wird nochmals deutlich, dass "digital nachhaltige" Software nicht per se nachhaltig in unserem Sinne ist.


= Was verstehen wir unter "nachhaltiger Software-Entwicklung"? =
= Was verstehen wir unter "nachhaltiger Software-Entwicklung"? =


Eine explizite Definition des Begriffs der "nachhaltigen Software-Entwicklung" erscheint nicht erforderlich, denn oben stehende Definition für "nachhaltige Software" beinhaltet bereits den Entwicklungsprozess. Trotzdem lohnt sich an dieser Stelle eine abstrakte Sicht auf unser Tun als Software-EntwicklerInnen.
Eine explizite Definition des Begriffs der "nachhaltigen Software-Entwicklung" ist verzichtbar, denn oben stehende Definition für "nachhaltige Software" beinhaltet bereits den Entwicklungsprozess. Trotzdem lohnt sich an dieser Stelle eine abstrakte Sicht auf unser Tun als Software-EntwicklerInnen.


== Software-Entwicklung als Transformationsprozess ==
== Software-Entwicklung als Transformationsprozess ==


Prinzipiell lässt sich die Entwicklung und die sich anschließende Nutzung von Software als eine
Prinzipiell lässt sich die Entwicklung und die sich anschließende Nutzung von Software als eine Transformation von menschlichem ''Wissen W'', und zwar individuellem und kollektivem Wissen (wobei letzteres teilweise in Form von Software manifest ist) in ''neues Wissen Wt'' (Handlungswissen und Software) ansehen. Dieser Transformationsprozess, der mit einem Austausch von Mensch, Gesellschaft und Natur einher geht, bedarf der Zufuhr geeigneter materieller und energetischer ''Ressourcen R'', die im Rahmen der Entwicklung und des Betriebs der Software ebenfalls transformiert werden, z. B. für die Hardware benötigte Rohstoffe und elektrische Energie in Elektronik-Schrott, CO2 und Abwärme.
Transformation von menschlichem ''Wissen W'', und zwar individuellem und kollektivem Wissen (wobei
letzteres teilweise in Form von Software manifest ist) in ''neues Wissen Wt'' (Handlungswissen und
Software) ansehen. Dieser Transformationsprozess, der mit einem Austausch von Mensch, Gesellschaft
und Natur einher geht, bedarf der Zufuhr geeigneter materieller und energetischer ''Ressourcen R'',
die im Rahmen der Entwicklung und des Betriebs der Software ebenfalls transformiert werden, z. B.
für die Hardware benötigte Rohstoffe und elektrische Energie in Elektronik-Schrott, CO2 und Abwärme.
* ''W → Wt''
* ''W → Wt''
* ''R → Rt''
* ''R → Rt''
Mit Blick auf eine [[Integrative_Nachhaltigkeit|Integrative Nachhaltigkeit]] lässt sich fordern: Der Wissensgewinn ''dW = Wt - W'' sollte größer sein als die ''irreversibel'' (!) umgewandelten Ressourcen (Rohstoffe, Energie). Nur selten wird das mittels einer Software gewonnene Handlungswissen eine derartige Einsparung ermöglichen, so dass zumeist ein Gegeneinanderabwägen der Größen erforderlich wird.
Mit Blick auf eine [[Integrative_Nachhaltigkeit|Integrative Nachhaltigkeit]] lässt sich fordern: Der Wissensgewinn ''dW = Wt - W'' sollte größer sein als die ''irreversibel'' (!) umgewandelten
Ressourcen (Rohstoffe, Energie). Nur selten wird das mittels einer Software gewonnene
Handlungswissen eine derartige Einsparung ermöglichen, so dass zumeist ein Gegeneinanderabwägen der
Größen erforderlich wird.


Ungeachtetet dessen und angesichts der Diskussion der gegenwärtigen Umweltprobleme lässt sich an dieser Stelle die ''Notwendigkeit einer "Dematerialisierung" und "Dekarbonisierung"'' der bestehenden Software-Entwicklungsprozesse konstatieren.
Ungeachtet dessen und angesichts der Diskussion der gegenwärtigen Umweltprobleme lässt sich an dieser Stelle die ''Notwendigkeit einer "Dematerialisierung" und "Dekarbonisierung"'' der bestehenden Software-Entwicklungsprozesse (deren Output in der stets ''erneuerbaren Ressource "Wissen"''besteht) konstatieren.


Über die Adäquatheit einer solchen Betrachtungsweise, wie sie auch anderswo angestellt wird (z. B.
Über die Adäquatheit einer solchen Betrachtungsweise, wie sie auch anderswo angestellt wird (z. B. Radermacher & Beyers 2011; prominent ist auch der Ansatz von Rifkin, wobei wir uns auf seine Entropie-Überlegungen hier nicht einlassen), lässt sich im Detail streiten. Trotzdem eröffnet das Vorhandensein einer formalisierten Modell-Beschreibung die Möglichkeit einer sozialen Aneignung der hinterliegenden Prozesse (vgl. Hülsmann 1985) sowie die Ableitung grundsätzlicher Strategien zur nachhaltigen Software-Entwicklung wie u. a.
Radermacher & Beyers 2011; prominent ist auch der Ansatz von Rifkin, wobei wir uns auf seine
Entropie-Überlegungen hier nicht einlassen), lässt sich im Detail streiten. Trotzdem eröffnet das
Vorhandensein einer formalisierten Modell-Beschreibung die Möglichkeit einer sozialen Aneignung der
hinterliegenden Prozesse (vgl. Hülsmann 1985) sowie die Ableitung grundsätzlicher Strategien zur
nachhaltigen Software-Entwicklung wie u. a.
* Maximierung des gewonnenen Handlungswissens mit Blick auf die Ziele nachhaltiger Entwicklung
* Maximierung des gewonnenen Handlungswissens mit Blick auf die Ziele nachhaltiger Entwicklung
* Minimierung der eingesetzten (irreversiblen) Energiemengen und Ressourcen (Effizienzaspekt)
* Minimierung der eingesetzten (irreversiblen) Energiemengen und Ressourcen (Effizienzaspekt)
Zeile 55: Zeile 83:


''Negativ-Beispiele,'' die sich z. B. aus einem ungeeigneten Systementwurf ergeben können:
''Negativ-Beispiele,'' die sich z. B. aus einem ungeeigneten Systementwurf ergeben können:
* Eine Anwendung hat unangemessen hohe Hardware-Voraussetzungen und zwingt die AnwenderIn zum Kauf eines neuen Computers, obwohl der "alte" ansonsten noch gut läuft.
* N1 Eine Anwendung hat unangemessen hohe Hardware-Voraussetzungen und zwingt die AnwenderIn zum Kauf eines neuen Computers, obwohl der "alte" ansonsten noch gut läuft.
* N2 Eine Anwendung verwendet proprietäre Datenformate, ein Export der Nutzerdaten in andere Systeme ist nicht vorgesehen.
* Eine millionenfach aufgerufene Funktion (z. B. innerhalb einer Massenanwendung mit sehr großer Nutzerzahl) arbeitet algorithmisch ineffizient und führt somit zu einer sehr hohen CPU-Last und einem hohen Energieverbrauch.
* N3 Eine millionenfach aufgerufene Funktion (z. B. innerhalb einer Massenanwendung mit sehr großer Nutzerzahl) arbeitet algorithmisch ineffizient und führt somit zu einer sehr hohen CPU-Last und einem hohen Energieverbrauch.
* Eine Anwendung zum Abruf von Video-Dokumenten lädt bei jedem späteren Abruf das gesamte Dokument erneut über das Web (kein lokales Caching, keine Download-Möglichkeit).
* N4 Eine Anwendung zum Abruf umfangreicher Mediendokumente lädt bei jedem späteren Abruf das gesamte Dokument erneut über das Web (kein lokales Caching, keine Download-Möglichkeit).
* Eine App führt zu einem sehr hohen Energieverbrauch (siehe auch [[Diskussion:Nachhaltige_Software|Diskussion]]), da sie eine permanente mobile Web-Verbindung und zusätzlich ein GPS-Signal benötigt.
* N5 Eine App führt zu einem sehr hohen Energieverbrauch (siehe auch [[Diskussion:Nachhaltige_Software|Diskussion]]), da sie eine permanente mobile Web-Verbindung und zusätzlich ein GPS-Signal benötigt.
* Eine Anwendung verwendet proprietäre Datenformate und ein Import der eigenen Daten in andere Systeme ist nicht vorgesehen.
* N6 Eine proprietäre Dienst-Schnittstelle wird plötzlich geändert, so dass zahlreiche darauf aufbauend entwickelte Anwendungen nicht mehr lauffähig sind.
* N7 Eine von zahlreichen Anwendungen genutzte Software-Schnittstelle ist unnötig komplex, so dass eine In-Wert-Setzung nur mit sehr großem Aufwand möglich ist.
TODO: weitere/bessere Beispiele?
TODO: weitere/bessere Beispiele?


Hingegen dürften nachstehende ''Positiv-Beispiele'' in Richtung unseres Kriteriums tendieren:
Hingegen dürften nachstehende ''Positiv-Beispiele'' in Richtung unseres Kriteriums tendieren:
* E1 Die Anwendung erfüllt eine mit Blick auf die Nachhaltigkeitsziele '''sinnvolle Funktion''', z. B. indem sie die praktische Durchführung einer Tätigkeit ermöglicht, welche einen positiven Effekt auf die Umwelt hat. Beispiele:
* P1 Die Anwendung erfüllt eine mit Blick auf die Nachhaltigkeitsziele '''sinnvolle Funktion''', z. B. indem sie die praktische Durchführung einer Tätigkeit ermöglicht, welche einen positiven Effekt auf die Umwelt hat. Beispiele:
# ein GIS-Werkzeug zur Optimierung des Standorts einer Windkraftanlage
# ein GIS-Werkzeug zur Optimierung des Standorts einer Windkraftanlage
# eine E-Government-Anwendung (digitale Formulare per Internet statt Papier und Fahrt zum Amt)
# eine E-Government-Anwendung (digitale Formulare per Internet statt Papier und Fahrt zum Amt)
# eine Car-Sharing-App / Web-basierte "Mitfahrzentrale"
# eine Car-Sharing-App / Web-basierte "Mitfahrzentrale"
# ein [http://ene.cvh-server.de/wiki/index.php/Entwicklung_und_Aufbau_einer_Social_Community Soziales Netzwerk], das seine Mitglieder dazu veranlasst, nachweislich mehr Energie zu sparen als Konzeption, Aufbau und Betrieb des Netzwerks benötigt haben/benötigen ;-) (wobei eine positive Gesamtbilanz nachzuweisen wäre).
# ein [http://ene.cvh-server.de/wiki/index.php/Entwicklung_und_Aufbau_einer_Social_Community Soziales Netzwerk], das seine Mitglieder dazu veranlasst, nachweislich mehr Energie zu sparen als Konzeption, Aufbau und Betrieb des Netzwerks benötigt haben/benötigen ;-) (wobei eine positive Gesamtbilanz nachzuweisen wäre).
* E2 In der Anwendung ist konzeptionell ein Mechanismus verankert, der zu einer '''Kompensation negativer Umweltauswirkungen''' führt.
* P2 In der Anwendung ist konzeptionell ein Mechanismus verankert, der zu einer '''Kompensation negativer Umweltauswirkungen''' führt.
# Beispiel: Es werden automatisch durch die Nutzung der Anwendung Geldbeträge an nachhaltige Projekte gespendet wie, vgl. z. B. [http://www.ecosia.com Ecosia] (das übrigens im Design der [http://de.wikipedia.org/wiki/Blackle Blackle-Version] der Google-Suchmaschine als Massenanwendung noch nachhaltiger wäre).
# Beispiel: Es werden automatisch durch die Nutzung der Anwendung Geldbeträge an nachhaltige Projekte gespendet wie, vgl. z. B. [http://www.ecosia.com Ecosia] (das übrigens im Design der [http://de.wikipedia.org/wiki/Blackle Blackle-Version] der Google-Suchmaschine als Massenanwendung
noch nachhaltiger wäre).
* E3 Für Entwicklung und Betrieb der Anwendung ist ausschließlich eine '''Nutzung regenerativer Energie''' vorgesehen (unter Einhaltung geschlossener Stoffkreisläufe).
* P3 Für Entwicklung und Betrieb der Anwendung ist ausschließlich eine '''Nutzung regenerativer Energie''' vorgesehen (unter Einhaltung geschlossener Stoffkreisläufe).
# Beispiel: Nutzung erneuerbarer Energien im Softwarehaus und für Elektroautos der MitarbeiterInnen für die Fahrten zur Arbeitsstätte, intensive Nutzung von Green-IT.
# Beispiel: Nutzung erneuerbarer Energien im Softwarehaus und für Elektroautos der MitarbeiterInnen für die Fahrten zur Arbeitsstätte, intensive Nutzung von Green IT.


Nachstehende (in Software-Häusern häufig genannte) Beispiele tragen zur einer erhöhten '''Effizienz''' und der '''Langlebigkeit''' von Software-Lösungen bei, scheinen also eher mit Blick auf eine [[Schwache_Nachhaltigkeit|schwache Nachhaltigkeit]] (Stichwort "Effizienz-Revolution" bei Martens & Schilder 2012) positiv bewertbar:
Nachstehende (in Software-Häusern häufig genannte) Beispiele tragen zur einer erhöhten '''Effizienz''' und der '''Langlebigkeit''' von Software-Lösungen bei, scheinen also eher mit Blick auf eine [[Schwache_Nachhaltigkeit|schwache Nachhaltigkeit]] (Stichwort "Effizienz-Revolution" bei Martens & Schilder 2012) positiv bewertbar:


* E4 Einzelne Systemteile (z. B. Web-Dienste oder Datenbestände) lassen sich auch in Fremdsystemen oder späteren Neuentwicklungen direkt verwenden.
* P4 Einzelne Systemteile (z. B. Web-Dienste oder Datenbestände) lassen sich auch in Fremdsystemen oder späteren Neuentwicklungen direkt verwenden.
* E5 Das System ist skalierbar.
* P5 Das System ist skalierbar.
* E6 Die Anwendung lässt sich leicht um neue Funktionalität erweitern.
* P6 Die Anwendung lässt sich leicht um neue Funktionalität erweitern.
* E7 Ein System bietet langlebige Interfaces an, wodurch nach Änderung der Implementierung (z. B. System-Update) die Applikationen, die diese Interfaces nutzen, weiterhin lauffähig sind.
* P7 Ein System bietet langlebige Interfaces an, wodurch nach Änderung der Implementierung (z. B. System-Update) die Applikationen, die diese Interfaces nutzen, weiterhin lauffähig sind.
* E8 Fehler in einer Anwendung lassen sich Nutzer-seitig reparieren. (Dies erfordert eine geeignete Dokumentation, z. B. API-Beschreibung.)
* P8 Fehler in einer Anwendung lassen sich Nutzer-seitig reparieren. (Dies erfordert eine geeignete Dokumentation, z. B. API-Beschreibung.)
* P9 Unnötige Mobilität der Projektbeteiligten wird vermieden (Energieeffizienz).
TODO: bessere/weitere Beispiele?
TODO: bessere/weitere Beispiele?


Nicht unerwähnt bleiben darf zuletzt der Aspekt der '''sozialen Gerechtigkeit''', worunter die Gewährleistung gleichberechtigter Zugangsmöglichkeiten zu Informationsressourcen und Software von Allgemeininteresse zählen.
Nicht unerwähnt bleiben darf zuletzt der Aspekt der '''sozialen Gerechtigkeit''', worunter die
Gewährleistung gleichberechtigter Zugangsmöglichkeiten zu Informationsressourcen und Software von
Allgemeininteresse zählen. Hierunter fällt z. B. folgende Eigenschaft:


* P10 Es wird ein freier Zugang zu den geschaffenen Software-Artefakten (Quellcode, Schnittstellen-Beschreibungen etc.) gewährt.

Nicht unerwähnt bleiben sollen '''organisatorische Projektaspekte''', u. a.

* P11 Während der Anforderungsanalyse gibt es weitreichende Partizipationsmöglichkeiten für alle Interessensbeteiligten (Stakeholder).
Kontrovers diskutiert wird die Rolle mobiler Web-Anwendungen, welche möglicherweise als wesentliches unterstützendes Element für den Übergang in nachhaltigere Lebensweisen fungieren können (siehe z. B. Diskussion bei Bindel 2013 zur Dekarbonisierung und Dematerialisierung durch Vernetzung auch in strukturschwachen Regionen der Welt). Auf Grund des hohen infrastrukturellen Wertes mobiler Web-Technologie und der dadurch geschaffenen breiten Zugangsmöglichkeiten (und mit Blick auf die heutige Lebenswirklichkeit) ergänzen wir diesen Aspekt in der Liste unserer in die positive Richtung tendierenden Beispiele:
Kontrovers diskutiert wird die Rolle mobiler Web-Anwendungen, welche möglicherweise als wesentliches unterstützendes Element für den Übergang in nachhaltigere Lebensweisen fungieren können (siehe z. B. Diskussion bei Bindel 2013 zur Dekarbonisierung und Dematerialisierung durch Vernetzung auch in strukturschwachen Regionen der Welt). Auf Grund des hohen infrastrukturellen Wertes mobiler Web-Technologie und der dadurch geschaffenen breiten Zugangsmöglichkeiten (und mit Blick auf die heutige Lebenswirklichkeit) ergänzen wir diesen Aspekt in der Liste unserer in die positive Richtung tendierenden Beispiele:


* E9 Die Anwendung ist lauffähig auf mobilen Endgeräten, wobei auch geringe Bandbreiten unterstützt werden.
* P12 Die Anwendung ist lauffähig auf mobilen Endgeräten, wobei auch geringe Bandbreiten unterstützt werden.
= Fazit und Ausblick =
= Vorgehensmodell zur Erreichung der Nachhaltigkeitsziele =

Im Umfeld des Umwelt-Managements sind mehrere Instrumente bekannt, die Vorgehensmodelle zur Erreichung von Teilzielen nachhaltiger Entwicklungsprozesse anbieten. Beispielhaft genannt seien an dieser Stelle nur
* die [http://de.wikipedia.org/wiki/ISO_14001 ISO 14001], welche zur Beschreibung der Umweltauswirkungen mittels einer [http://de.wikipedia.org/wiki/Stoffstromanalyse Stoffstromanalyse] explizit die materiellen und energetischen Elemente des oben skizzierten Transformationsprozesses adressiert,
* das [http://mediatum.ub.tum.de/doc/1126058/1126058.pdf IMAGINE-Modell], dessen Nutzbarkeit für Software-Engineering-Prozesse Rodríguez & Penzenstadler (2013) untersucht haben,
* das [http://www.emas.de EMAS]-System.

Für die Belange des ENE-Projekts scheint zunächst eine Unterscheidung folgender Phasen (die nicht notwendigerweise streng-sequenziell im problematischen [http://de.wikipedia.org/wiki/Wasserfallmodell "Wasserfall"-Vorgehen] zu durchlaufen sind) sinnvoll:
# Abgrenzung des Betrachtungsgegenstandes ("Scoping")
# Identifikation von Nachhaltigkeitsindikatoren
# Bilanzprognose

== Scoping ==
TODO

== Nachhaltigkeitsindikatoren ==
TODO
* '''Idee:''' Rodríguez & Penzenstadler (2013) schlagen vor, umfassend für alle Stakeholder-Gruppen jeweils bedeutsame und relevante Nachhaltigkeits-Indikatoren zu identifizieren und während des Projektverlaufs zu verfolgen.

== Bilanzprognose ==
TODO
* Bem.: Prognose ist zu erneuern nach Rescoping.

= Leitsätze für die nachhaltige Software-Entwicklung =

* Welche Leitsätze (und Kriterien) lassen sich für mit Blick auf die Nachhaltigkeitsziele positive Software-Entwicklungen benennen?
* Lassen sich "'''Gestures'''" im Sinne einer Selbstverpflichtung für die Software-Entwickler zusammentragen (siehe dazu [[Unterstützung_des_Erlebnisraums_in_der_Schweiz:_"Oracle_du_Papillon"|unseren Beitrag für das "Oracle du papillon"]])? Beispielsweise scheinen die Eigenschaft E2 und die Geste '''[[Mobilität|M10]]''' ebenso isomorph wie E4 und '''[[Wohnen|H9]]''', E5 und '''[[Wohnen|H7]]''' oder E8 und '''[[K_Konsum|C9]]'''.

Beispiele:
* E10 Unnötige Mobilität der Projektbeteiligten ist zu vermeiden.
* E11 Während der Anforderungsanalyse gibt es weitreichende Partizipationsmöglichkeiten für alle Interessensbeteiligten (Stakeholder).
TODO: weitere Merkmale?

= Open-Source-Software und Nachhaltigkeit =

Eingangs wurde der Begriff der "Digitalen Nachhaltigkeit" diskutiert, der nicht zwingender Weise mit einer Nachhaltigkeit in unserem Sinne einher gehen muss. Auf Grund dieser Unzulänglichkeit schlägt Martens (2013) daher die vielleicht treffendere Bezeichung der "Digitalen Allmende" vor (wobei sich "Allmende" in etwa mit "commons" in die englische Sprache übersetzen ließe). Unabhängig von der verwendeten Begrifflichkeit ist im dortigen Umfeld die Open-Source-Philophie von zentraler Bedeutung. An dieser Stelle sei die Frage gestellt, ob und ggf. wie Open-Source einen positiven Betrag zu tatsächlich nachhaltiger Software liefert.

Zu nennen sind folgende Aspekte:
# Open-Source ist unter dem Aspekt der sozialen Gerechtigkeit als positiv zu bewerten. (Das gilt allerdings nur für diejenigen, die Zugang zum Internet haben und die Quellen in Wert zu setzen verstehen - wie ist da die Situation z. B. für die Bevölkerung Somalias ([http://www.welt.de/newsticker/dpa_nt/infoline_nt/boulevard_nt/article124854966/Afrikanische-Migranten-auf-Weltpressefoto-2013.html kurzer Blick dorthin]?)
# Steht der Quellcode zur Verfügung, lassen sich Fehler in einer Anwendung prinzipiell beheben (siehe oben stehende Eigenschaft E7). In Open-Source-Lösungen kommt so ein Bugfix allen anderen Nutzern zugute.
# Veröffentlichte Software-Artefakte und Konzepte lassen sich in weiteren Software-Entwicklungen nutzen (Effizienzaspekt).
# ...
# ...
TODO Zu hinterfragen sein könnte hingegen die Ressourcen-Effizienz der Entwicklungsarbeit.
(Wer arbeitet effizienter: Viele Leute, die kurz auf dem Quellcode arbeiten
oder 2 Personen, die entsprechend länger arbeiten?

TODO: @Andreas, Peter: Weitere Punkte? Hier gibt es noch viel zu diskutieren!

= Verhaltensweisen für den Software-Nutzer =

Aus den angestellten Überlegungen lassen sich Verhaltensweisen für den Software-Konsumenten (im Sinne des im ENE-Projekt verwendeten
[[Unterstützung_des_Erlebnisraums_in_der_Schweiz:_"Oracle_du_Papillon"|Gesture-Begriffs]]) ableiten. Hier wurden 10 Verhaltensweisen ausgewählt, die uns möglicherweise einen kleinen Schritt in die positive Richtung zu bewegen erlauben:

* S1 Ich achte bei der Auswahl einer Software darauf, dass keine unnötig hohen Anforderungen an die Hard- und Betriebssystem-Ressourcen gestellt werden.
* S2 Ich bevorzuge Software, die weit verbreitete Dateiformate und Schnittstellen für den Datenimport und -export unterstützt.
* S3 Ich lege Wert darauf, dass die Software nicht unnötigerweise permanent online ist und sich auch offline betreiben lässt.
* S4 Wenn eine (nachweislich) nachhaltige Software-Alternative zur Verfügung steht, bevorzuge ich diese.
* S5 Ich achte darauf, dass die Software Erweiterungsmöglichkeiten und Programmierschnittstellen bietet.
* S6 Wenn eine etablierte Open-Source-Alternative mit gutem Produkt-Support bereit steht, so bevorzuge ich diese.
* S7 Ich nutze Anwendungen mit geringem Energieverbrauch (siehe z. B. [http://windowsdeveloper.de/news/IE10-verbraucht-weniger-Strom-als-Chrome-Firefox Web-Browser-Vergleich], relevant aber insbesondere Server-seitig).
* S8 Ich nutze Web-Anwendungen, die in Rechenzentren gehostet werden, die ihren Strom aus regenerativen Energiequellen beziehen.
* S9 ...
* S10 ...

TODO: Das ist unbedingt noch zu diskutieren, ob das überhaupt Sinn macht!
TODO: Wem fällt noch mehr ein?

= Fazit =


Zusammenfassend lassen sich folgende Erkenntnisse festhalten:
Zusammenfassend lassen sich folgende Erkenntnisse festhalten:


* Der Begriff der "nachhaltigen Software" ist nicht gleichbedeutend mit dem der "effizienten Software".
* Der Begriff der "nachhaltigen Software" ist nicht gleichbedeutend mit dem der "effizienten Software".
* Die Betrachtungen sind nicht auf einzelne Maßnahmen und Software-Merkmale zu beziehen. Vielmehr muss die Gesamtbilanz positiv im Sinne einer nachhaltigen Entwicklung sein.
* Die Betrachtungen sind nicht auf einzelne Maßnahmen und Software-Merkmale zu beziehen. Vielmehr muss die Gesamtbilanz positiv im Sinne einer nachhaltigen Entwicklung sein. Hier werden Methoden zur Bewertung der Nachhaltigkeit von Software und Software-Engineering-Prozessen benötigt.
* Open-Source-Software kann ''nennenswerte positive Beiträge'' zur Erreichung des Nachhaltigkeitsziels leisten (tut es aber nicht immer!). Auch proprietäre "Closed-Source"-Software kann allerdings durchaus nachhaltig sein.
* Open-Source-Software kann ''nennenswerte positive Beiträge'' zur Erreichung des Nachhaltigkeitsziels leisten (tut es aber nicht immer).
* Auch proprietäre "Closed-Source"-Software kann allerdings durchaus nachhaltig sein (und fungiert darüber hinaus zumeist als Impulsgeber für innovative Software-Anwendungen).
* Ziel weiterer Aktivitäten im Umfeld "Nachhaltige Software-Entwicklung" sollte eine Sensibilisierung der Software-EntwicklerInnen für dieses aus global wichtige Thema sein.
* Ziel weiterer Aktivitäten im Umfeld "Nachhaltige Software-Entwicklung" sollte eine Sensibilisierung der Software-EntwicklerInnen für dieses aus global wichtige Thema sein.


Es bleiben jedoch zahlreiche Fragestellungen, die es im Rahmen einer angewandten Forschung zu
TODO: weitere Punkte/Erkenntnisse?
untersuchen gilt:

* Wie lässt sich der Grad der Nachhaltigkeit von Software-Entwicklungsprozessen praktisch bewerten (messen)?
* Lässt sich der energetische und materielle Bedarf zur Durchführung von Software-Projekten (inklusive aller "Nebenkosten") quantifizieren? In welchem Verhältnis steht dieser Bedarf zu dem erzielbaren Software-Nutzen?
* Welche praktisch anwendbaren Leitsätze (und Kriterien) lassen sich für hinsichtlich der Nachhaltigkeitsziele positive Software-Entwicklungen benennen?
* Lassen sich "'''Gestures'''" im Sinne einer Selbstverpflichtung für die Software-Entwickler zusammentragen (siehe dazu [[Unterstützung_des_Erlebnisraums_in_der_Schweiz:_"Oracle_du_Papillon"|unseren Beitrag für das "Oracle du papillon"]])? Beispielsweise scheinen die Eigenschaft P2 und die Geste '''[[Mobilität|M10]]''' ebenso isomorph wie P4 und '''[[Wohnen|H9]]''', P5 und '''[[Wohnen|H7]]''' oder P8 und '''[[K_Konsum|C9]]'''.
* Wie lassen sich Software-technische Artefakte durch Nicht-IT-Spezialisten (z. B. in strukturschwachen Regionen dieser Erde) besser in Wert setzen?


= Referenzen =
= Referenzen =

Version vom 5. März 2014, 20:58 Uhr

Dies ist "work in progress". Prima wäre es, wenn wir zu einer Begriffs-
definition gelangen könnten, die von allen Projektteilnehmern getragen wird!

Zielsetzung dieses Wiki-Beitrags

Aspekte der Nachhaltigkeit werden heute intensiv mit Blick auf die Hardware-Komponenten informationstechnischer Systeme diskutiert (Stichwort "Green IT"). Für den Bereich der Software-Entwicklung werden in verschiedenen aktuellen Forschungsprojekten zwar verstärkt und mit Erfolg entsprechende Überlegungen angestellt, jedoch ist der diesbezügliche Diskussionsprozess sicherlich noch nicht als abgeschlossen anzusehen.

Zunächst ist festzustellen: Die Entwicklung und Nutzung informationstechnischer Systeme ist grundsätzlich mit einem Verbrauch von Ressourcen (Energie, Rohstoffe etc.) verbunden. Systemoptimierungen unter dem Aspekt der Energieeffizienz sind zwar wünschenswert, lösen diese Problematik jedoch sicherlich nicht: Insofern Ressourcen irreversibel verloren gehen, ist ein energieeffizientes IT-System zwar weniger "schlimm" als seine ineffiziente Variante, lässt sich aber sicherlich nicht allein auf Grund eines minimierten Energiebedarfs als "nachhaltig" bezeichnen. Insofern stellt sich die Frage, ob und ggf. wie sich informationstechnische Systeme schaffen lassen, deren (umfassend betrachtete) Auswirkung auf die Umwelt nicht-negativ ist. Explizit einzubeziehen in die Betrachtung sind dabei die Software-Komponenten und deren Herstellungsprozesse, die (über den Stromverbrauch für die Entwicklungsrechner hinaus) mit nennenswerten "versteckten Nebenkosten" verbunden sein können.

An dieser Stelle unseres Wikis soll beschrieben (und diskutiert) werden, was wir im Umfeld des ENE-Projektes unter nachhaltiger (im Gegensatz zu langlebiger oder effizienter) Software und unter nachhaltigen Software-Engineering-Prozessen verstehen. Sinnvoll scheint eine Unterscheidung zwischen Software-Anwendung (Nutzung) und Software-Entwicklung (Herstellprozess). Demgemäß sollen nachfolgend mit Blick auf die im ENE-Projekt zu Grunde gelegte Nachhaltigkeitsdefinition die Begriffe der nachhaltigen Software und der nachhaltigen Software-Entwicklung präzisiert werden. Unter anderem stellt sich in diesem Kontext auch die Frage, inwieweit der Begriff der Digitalen Nachhaltigkeit konform ist zu dem im ENE-Projekt verwendeten Nachhaltigkeitsbegriff.

Wodurch zeichnet sich "nachhaltige Software" aus?

In der Literatur recht breit akzeptiert ist der Vorschlag von Dick, Naumann & Kuhn (2011), nachhaltige Software wie folgt zu definieren: "Sustainable software is software whose direct and indirect negative impacts on economy, society, human beings, and environment resulting from development, deployment, and usage of the software is minimal and/or has a positive effect on sustainable development." Mit Blick auf die Zielsetzung des ENE-Projekts ist die erstgenannte Teilbedingung ("minimal impact") an dieser Stelle sicherlich als zu schwach einzustufen, so dass wir das Logische "or" streichen und uns auf das "and" verständigen ("positive effect").

Häufig verwendet wird daneben der Begriff der Digitalen (oder Informationellen) Nachhaltigkeit, für den mehrere verschiedene Definitionen (oder vielleicht treffender ausgedrückt: verschiedene mit dem gleichen Begriff belegte Konzepte) existieren. Recht verbreitet sind die Definitionen von Dapp (ETH Zürich) und Stürmer (Parlamentatische Gruppe "Digitale Nachhaltigkeit" in der Schweiz), die Wissen als immaterielle Ressource auffassen und den Nutzungsaspekt von Information inklusive offener Zugangsmöglichkeiten in den Vordergrund stellen. Insofern scheint diese Sicht (die stark die Open-Source-Philosophie stützt) gegenüber der vorgenannten Definition mit Blick auf das ENE-Projekt zu sehr auf die soziale Dimension reduziert (vgl. auch Martens 2013, der den Nachhaltigkeitsbegriff für unpassend gewählt hält in Verbindung mit diesem Konzept, da dieser Ansatz nicht auf die Schonung natürlicher Ressourcen abzielt). Ungeachtetet dessen sind der offene Zugang zu Software-Artefakten sowie die Möglichkeit der Partizipation an den Entwicklungsprozessen wesentliche Bestandteile unserer Arbeitsphilosophie im ENE-Projekt.

Subsumieren wir ökonomisch negative Auswirkungen auf Grund der damit einher gehenden sozialen Konsequenzen unter "Mensch und Gesellschaft", so sollten wir es zunächst bei folgender Definition belassen können:

  • Nachhaltige Software zeichnet sich dadurch aus, dass die direkten und indirekten negativen Auswirkungen auf Gesellschaft, Mensch und Umwelt, die sich aus der Entwicklung, dem Betrieb und der Verwendung der Software ergeben, minimal sind. Zudem sollen sich mit Blick auf eine nachhaltige Entwicklung durch die Software langfristig positive Auswirkungen ergeben.

Unter "langfristig positiven Wirkungen" verstehen wir dabei im ENE-Projekt (mit der Zielsetzung einer Integrativen Nachhaltigkeit) eine Entwicklung, die den Einklang von Mensch, Gesellschaft und Natur im Sinne eines "bien vivir" unter Einhaltung natürlicher Stoffkreisläufe und frei von irreversiblen Änderungen anstrebt; siehe auch Schweizer-Ries (2013). Technologie im Allgemeinen und insbesondere auch informationstechnische Systeme sehen wir dabei als treibenden Faktor zur Entwicklung von Hilfsmitteln und Vorgehensmodellen zur Vermeidung nicht-nachhaltiger Lebensweisen. (An dieser Stelle sind wir Technik-gläubig.)

Was verstehen wir unter "nachhaltiger Software-Entwicklung"?

Eine explizite Definition des Begriffs der "nachhaltigen Software-Entwicklung" ist verzichtbar, denn oben stehende Definition für "nachhaltige Software" beinhaltet bereits den Entwicklungsprozess. Trotzdem lohnt sich an dieser Stelle eine abstrakte Sicht auf unser Tun als Software-EntwicklerInnen.

Software-Entwicklung als Transformationsprozess

Prinzipiell lässt sich die Entwicklung und die sich anschließende Nutzung von Software als eine Transformation von menschlichem Wissen W, und zwar individuellem und kollektivem Wissen (wobei letzteres teilweise in Form von Software manifest ist) in neues Wissen Wt (Handlungswissen und Software) ansehen. Dieser Transformationsprozess, der mit einem Austausch von Mensch, Gesellschaft und Natur einher geht, bedarf der Zufuhr geeigneter materieller und energetischer Ressourcen R, die im Rahmen der Entwicklung und des Betriebs der Software ebenfalls transformiert werden, z. B. für die Hardware benötigte Rohstoffe und elektrische Energie in Elektronik-Schrott, CO2 und Abwärme.

  • W → Wt
  • R → Rt

Mit Blick auf eine Integrative Nachhaltigkeit lässt sich fordern: Der Wissensgewinn dW = Wt - W sollte größer sein als die irreversibel (!) umgewandelten Ressourcen (Rohstoffe, Energie). Nur selten wird das mittels einer Software gewonnene Handlungswissen eine derartige Einsparung ermöglichen, so dass zumeist ein Gegeneinanderabwägen der Größen erforderlich wird.

Ungeachtet dessen und angesichts der Diskussion der gegenwärtigen Umweltprobleme lässt sich an dieser Stelle die Notwendigkeit einer "Dematerialisierung" und "Dekarbonisierung" der bestehenden Software-Entwicklungsprozesse (deren Output in der stets erneuerbaren Ressource "Wissen"besteht) konstatieren.

Über die Adäquatheit einer solchen Betrachtungsweise, wie sie auch anderswo angestellt wird (z. B. Radermacher & Beyers 2011; prominent ist auch der Ansatz von Rifkin, wobei wir uns auf seine Entropie-Überlegungen hier nicht einlassen), lässt sich im Detail streiten. Trotzdem eröffnet das Vorhandensein einer formalisierten Modell-Beschreibung die Möglichkeit einer sozialen Aneignung der hinterliegenden Prozesse (vgl. Hülsmann 1985) sowie die Ableitung grundsätzlicher Strategien zur nachhaltigen Software-Entwicklung wie u. a.

  • Maximierung des gewonnenen Handlungswissens mit Blick auf die Ziele nachhaltiger Entwicklung
  • Minimierung der eingesetzten (irreversiblen) Energiemengen und Ressourcen (Effizienzaspekt)
  • Nutzung regenerativer Energiequellen für Software-Entwicklung und -Betrieb
  • Gewährleistung eines freien Zugangs zu den geschaffenen Software-Artefakten und dem generierten Wissen (Effizienz und soziale Gerechtigkeit)
  • Schaffung langlebiger Software-Bausteine
TODO bitte weitere Strategien ergänzen!

Praktische Beispiele

Negativ-Beispiele, die sich z. B. aus einem ungeeigneten Systementwurf ergeben können:

  • N1 Eine Anwendung hat unangemessen hohe Hardware-Voraussetzungen und zwingt die AnwenderIn zum Kauf eines neuen Computers, obwohl der "alte" ansonsten noch gut läuft.
  • N2 Eine Anwendung verwendet proprietäre Datenformate, ein Export der Nutzerdaten in andere Systeme ist nicht vorgesehen.
  • N3 Eine millionenfach aufgerufene Funktion (z. B. innerhalb einer Massenanwendung mit sehr großer Nutzerzahl) arbeitet algorithmisch ineffizient und führt somit zu einer sehr hohen CPU-Last und einem hohen Energieverbrauch.
  • N4 Eine Anwendung zum Abruf umfangreicher Mediendokumente lädt bei jedem späteren Abruf das gesamte Dokument erneut über das Web (kein lokales Caching, keine Download-Möglichkeit).
  • N5 Eine App führt zu einem sehr hohen Energieverbrauch (siehe auch Diskussion), da sie eine permanente mobile Web-Verbindung und zusätzlich ein GPS-Signal benötigt.
  • N6 Eine proprietäre Dienst-Schnittstelle wird plötzlich geändert, so dass zahlreiche darauf aufbauend entwickelte Anwendungen nicht mehr lauffähig sind.
  • N7 Eine von zahlreichen Anwendungen genutzte Software-Schnittstelle ist unnötig komplex, so dass eine In-Wert-Setzung nur mit sehr großem Aufwand möglich ist.
TODO: weitere/bessere Beispiele?

Hingegen dürften nachstehende Positiv-Beispiele in Richtung unseres Kriteriums tendieren:

  • P1 Die Anwendung erfüllt eine mit Blick auf die Nachhaltigkeitsziele sinnvolle Funktion, z. B. indem sie die praktische Durchführung einer Tätigkeit ermöglicht, welche einen positiven Effekt auf die Umwelt hat. Beispiele:
  1. ein GIS-Werkzeug zur Optimierung des Standorts einer Windkraftanlage
  2. eine E-Government-Anwendung (digitale Formulare per Internet statt Papier und Fahrt zum Amt)
  3. eine Car-Sharing-App / Web-basierte "Mitfahrzentrale"
  4. ein Soziales Netzwerk, das seine Mitglieder dazu veranlasst, nachweislich mehr Energie zu sparen als Konzeption, Aufbau und Betrieb des Netzwerks benötigt haben/benötigen ;-) (wobei eine positive Gesamtbilanz nachzuweisen wäre).
  • P2 In der Anwendung ist konzeptionell ein Mechanismus verankert, der zu einer Kompensation negativer Umweltauswirkungen führt.
  1. Beispiel: Es werden automatisch durch die Nutzung der Anwendung Geldbeträge an nachhaltige Projekte gespendet wie, vgl. z. B. Ecosia (das übrigens im Design der Blackle-Version der Google-Suchmaschine als Massenanwendung

noch nachhaltiger wäre).

  • P3 Für Entwicklung und Betrieb der Anwendung ist ausschließlich eine Nutzung regenerativer Energie vorgesehen (unter Einhaltung geschlossener Stoffkreisläufe).
  1. Beispiel: Nutzung erneuerbarer Energien im Softwarehaus und für Elektroautos der MitarbeiterInnen für die Fahrten zur Arbeitsstätte, intensive Nutzung von Green IT.

Nachstehende (in Software-Häusern häufig genannte) Beispiele tragen zur einer erhöhten Effizienz und der Langlebigkeit von Software-Lösungen bei, scheinen also eher mit Blick auf eine schwache Nachhaltigkeit (Stichwort "Effizienz-Revolution" bei Martens & Schilder 2012) positiv bewertbar:

  • P4 Einzelne Systemteile (z. B. Web-Dienste oder Datenbestände) lassen sich auch in Fremdsystemen oder späteren Neuentwicklungen direkt verwenden.
  • P5 Das System ist skalierbar.
  • P6 Die Anwendung lässt sich leicht um neue Funktionalität erweitern.
  • P7 Ein System bietet langlebige Interfaces an, wodurch nach Änderung der Implementierung (z. B. System-Update) die Applikationen, die diese Interfaces nutzen, weiterhin lauffähig sind.
  • P8 Fehler in einer Anwendung lassen sich Nutzer-seitig reparieren. (Dies erfordert eine geeignete Dokumentation, z. B. API-Beschreibung.)
  • P9 Unnötige Mobilität der Projektbeteiligten wird vermieden (Energieeffizienz).
TODO: bessere/weitere Beispiele?

Nicht unerwähnt bleiben darf zuletzt der Aspekt der sozialen Gerechtigkeit, worunter die Gewährleistung gleichberechtigter Zugangsmöglichkeiten zu Informationsressourcen und Software von Allgemeininteresse zählen. Hierunter fällt z. B. folgende Eigenschaft:

  • P10 Es wird ein freier Zugang zu den geschaffenen Software-Artefakten (Quellcode, Schnittstellen-Beschreibungen etc.) gewährt.

Nicht unerwähnt bleiben sollen organisatorische Projektaspekte, u. a.

  • P11 Während der Anforderungsanalyse gibt es weitreichende Partizipationsmöglichkeiten für alle Interessensbeteiligten (Stakeholder).

Kontrovers diskutiert wird die Rolle mobiler Web-Anwendungen, welche möglicherweise als wesentliches unterstützendes Element für den Übergang in nachhaltigere Lebensweisen fungieren können (siehe z. B. Diskussion bei Bindel 2013 zur Dekarbonisierung und Dematerialisierung durch Vernetzung auch in strukturschwachen Regionen der Welt). Auf Grund des hohen infrastrukturellen Wertes mobiler Web-Technologie und der dadurch geschaffenen breiten Zugangsmöglichkeiten (und mit Blick auf die heutige Lebenswirklichkeit) ergänzen wir diesen Aspekt in der Liste unserer in die positive Richtung tendierenden Beispiele:

  • P12 Die Anwendung ist lauffähig auf mobilen Endgeräten, wobei auch geringe Bandbreiten unterstützt werden.

Fazit und Ausblick

Zusammenfassend lassen sich folgende Erkenntnisse festhalten:

  • Der Begriff der "nachhaltigen Software" ist nicht gleichbedeutend mit dem der "effizienten Software".
  • Die Betrachtungen sind nicht auf einzelne Maßnahmen und Software-Merkmale zu beziehen. Vielmehr muss die Gesamtbilanz positiv im Sinne einer nachhaltigen Entwicklung sein. Hier werden Methoden zur Bewertung der Nachhaltigkeit von Software und Software-Engineering-Prozessen benötigt.
  • Open-Source-Software kann nennenswerte positive Beiträge zur Erreichung des Nachhaltigkeitsziels leisten (tut es aber nicht immer).
  • Auch proprietäre "Closed-Source"-Software kann allerdings durchaus nachhaltig sein (und fungiert darüber hinaus zumeist als Impulsgeber für innovative Software-Anwendungen).
  • Ziel weiterer Aktivitäten im Umfeld "Nachhaltige Software-Entwicklung" sollte eine Sensibilisierung der Software-EntwicklerInnen für dieses aus global wichtige Thema sein.

Es bleiben jedoch zahlreiche Fragestellungen, die es im Rahmen einer angewandten Forschung zu untersuchen gilt:

  • Wie lässt sich der Grad der Nachhaltigkeit von Software-Entwicklungsprozessen praktisch bewerten (messen)?
  • Lässt sich der energetische und materielle Bedarf zur Durchführung von Software-Projekten (inklusive aller "Nebenkosten") quantifizieren? In welchem Verhältnis steht dieser Bedarf zu dem erzielbaren Software-Nutzen?
  • Welche praktisch anwendbaren Leitsätze (und Kriterien) lassen sich für hinsichtlich der Nachhaltigkeitsziele positive Software-Entwicklungen benennen?
  • Lassen sich "Gestures" im Sinne einer Selbstverpflichtung für die Software-Entwickler zusammentragen (siehe dazu unseren Beitrag für das "Oracle du papillon")? Beispielsweise scheinen die Eigenschaft P2 und die Geste M10 ebenso isomorph wie P4 und H9, P5 und H7 oder P8 und C9.
  • Wie lassen sich Software-technische Artefakte durch Nicht-IT-Spezialisten (z. B. in strukturschwachen Regionen dieser Erde) besser in Wert setzen?

Referenzen

  • Bindel, R. (2013): Das Verschwinden der Produkte. factory, Magazin für nachhaltiges Wirtschaften, Sept. 2013 (Themenheft "Transformation"), S. 10-15.
  • Dick, M., S. Naumann & N. Kuhn (2010): A Model and Selected Instances of Green and Sustainable Software. Proceedings of the 9th IFIP TC 9 and 1st IFIP TC 11 International Conference, Brisbane, Australia, Sept. 2010, pp. 248-259.
  • Hülsmann, H. (1985): Die technologische Formation - oder lasset uns Menschen machen. Berlin: Verlag Europäische Perspektiven.
  • Martens, J. & K. Schilder (2012): Sustainable Development. In J. Krieger, ed.: The Oxford Companion to Comparative Politics, 2nd ed., Oxford: Oxford University Press, pp. 813-815.
  • Martens, K.-U. (2013): Digitale Nachhaltigkeit. In J. Kegelmann & K.-U. Martens, Hrsg.: Kommunale Nachhaltigkeit, Nomos-Verlag, S. 421-428.
  • Penzenstadler, B., V. Bauer, C. Calero & X. Franch (2012): Sustainability in Software Engineering: A Systematic Literature Review. Evaluation & Assessment in Software Engineering (EASE 2012), Proceedings, Ciudad Real, Spain, May 14-15, 2012, pp. 32-41.
  • Radermacher, F. J. & B. Beyers (2011): Welt mit Zukunft : Die ökosoziale Perspektive. 7. Aufl., Hamburg: Murmann.
  • Schweizer-Ries, P. (2013): Theroethical Reflections and Research Experiences. IAPS Bulletin 40, Autumn 2013, pp. 9-12.