Philipp Trommlers Blog

Meine Meinung zum "Blauen Engel" für Software

Seit einiger Zeit erarbeitet eine Expertengruppe Bewertungsmaßstäbe für die Vergabe des "Blauer Engel"-Siegels für Software. Wie üblich bei dieser Auszeichnung ist es das Ziel, geringen Ressourcenverbrauch zu belohnen. So weit, so sinnvoll. Aber...

Veröffentlicht am von Philipp Trommler. Dieser Beitrag wurde außerdem übersetzt nach: en.

Das Bundesministerium für Umwelt, Naturschutz und nukleare Sicherheit (sic!) will ihr Umweltsiegel "Blauer Engel" künftig auch für Software vergeben. Um an die mehr oder weniger begehrte Auszeichnung zu gelangen, muss diese dafür in zuvor definierten und standardisierten Nutzungsszenarien (inklusive Leerlauf) Mindestanforderungen bezüglich der Energieeffizienz erreichen. Zudem ist Werbung tabu und der Austausch der verarbeiteten Daten über offene Schnittstellen hinweg muss möglich sein. Der letzte entscheidende Punkt für die Erteilung des Siegels ist die Lauffähigkeit der Software auf einem fünf Jahre alten, sogenannten "Referenzsystem".

Grundsätzlich ist es natürlich zu begrüßen, dass dem immer weiter um sich greifenden, oftmals sinnlosen Wachstum von Software zumindest ein bisschen entgegengewirkt werden soll. Meiner Meinung nach verfehlt die Kommission ihr Ziel aber mit Ansage.

Vergleichsrahmen

Zunächst einmal soll für die Vergabe des Umweltzeichens grundsätzlich Software aus dem selben Segment verglichen werden. Was auf den ersten Blick nach einer sinnvollen Einschränkung klingt, ist für mich schon der Anfang vom Ende, denn es wird für den Ressourcenverbrauch (sowohl bezüglich Energieverbrauch wie auch bezüglich durch Softwarewachstum entstehender Hardware-Obsoleszenz) wahrscheinlich kaum einen Unterschied machen, ob ich nun Microsoft Word oder LibreOffice verwende (wobei ich tatsächlich befürchte, dass die Open-Source-Variante hier sogar noch schlechter abschneiden wird – Java sei Dank). Die viel grundsätzlichere Frage, die man sich hier stellen sollte, ist doch: Muss es überhaupt ein vollwertiges Textverarbeitungsprogramm sein?

Behördenmitarbeiter in ganz Deutschland (und seien wir ehrlich, diese sind es noch am ehesten, für die das Siegel in irgendeiner Form relevant werden wird) nutzen tagtäglich riesengroße Office-Suiten, um einfachste Dokumente zu erstellen (Briefe, Formulare, etc.). Diese verwenden fast ausschließlich strikte Vorlagen und bestehen oftmals aus Textbausteinen. Ein spezialisiertes Programm, das im Hintergrund mit einem Markdown-Renderer, LaTeX oder ähnlichem arbeitet, würde wahrscheinlich sogar auf meinem Router laufen, die entsprechende GUI (TUI) vorausgesetzt. Mit anderen Worten: Jeder in diesem Jahrtausend verkaufte Desktop-Rechner sollte diese Workload mit einer angepassten Software bewältigen können. Die typische Office-Suite ist aber keine angepasste Software, sondern das genaue Gegenteil: ein Generalist. Da hilft es der Umwelt wenig, wenn Microsoft Office nun aber 1 % energieeffizienter ist als LibreOffice.

Betriebssysteme

Dieser Gedanke führt auch direkt zum nächsten Kritikpunkt an den Kriterien für den "Blauen Engel": Betriebssystem werden nicht zur Bewertung herangezogen, weder direkt noch indirekt. Was heißt das? Zunächst einmal werden Betriebssysteme nicht mit dem "Blauen Engel" prämiert (direkte Betrachtung), da es schlicht und ergreifend zu wenige von ihnen gibt, als dass eine aussagekräftige Bewertung möglich wäre. In diesem Punkt gehe ich mit.

Die indirekte Betrachtung aber, also die Bewertung des benötigten Betriebssystems bei der Betrachtung einer Anwendung, ist für mich essenziell, wird aber von der Jury ebenfalls außen vor gelassen. Dabei ist doch das Betriebssystem notwendige Voraussetzung für das darin laufende Programm. Nehmen wir das fiktive Textverarbeitungsprogramm aus dem vorigen Abschnitt: Was nützt es mir, wenn ich Anfang der 2000er ein hoch spezialisiertes und effizientes Programm für ein damals aktuelles Betriebssystem programmiert habe, wenn dieses Betriebssystem seitdem inkompatibel geändert worden oder auf neuerer Hardware (die ich beispielsweise wegen Ausfällen anschaffen musste) nicht lauffähig ist? Was nützt mir die Effizienz ebenjener Anwendung, wenn das ursprüngliche Betriebssystem zwar noch aktuell ist, aber durch seinen ständig steigenden Ressourcenbedarf in regelmäßigen Abständen Hardware-Aufrüstungen erfordert? Nicht außer Acht gelassen werden darf außerdem der Fakt, dass die Festlegung auf ein Betriebssystem notwendigerweise auch die Wahl aller übrigen Anwendungen beeinflusst.

Aus diesen Gründen muss meiner Meinung nach das benötigte Betriebssystem unbedingt Teil der Bewertungsmaßstäbe für eine Anwendung sein, es sei denn sie ist plattformunabhängig programmiert worden – und das heißt nicht notwendigerweise in Java! Ansonsten gilt: Nur wenn das unterliegende Betriebssystem die gleichen Voraussetzungen erfüllt, die auch die bewertete Applikation erfüllen muss, kann das Siegel ehrlicherweise vergeben werden.

Referenzsystem

Der Bewertungsmaßstab des fünf Jahre alten "Referenzsystems" ist für mich besonders wahllos. Natürlich ist der zugrundeliegende Gedanke klar, die Software soll so sparsam sein, dass sie auch nach fünf Jahren nicht zu Hardware-Obsoleszenz führt. Doch verfehlt die Umsetzung hier gleich auf mehrere Arten ihr Ziel:

  1. Die Anforderung ist mehr als schwammig: Wie genau sieht dieses "Referenzsystem" aus? Entspricht es der damaligen Mittelklasse? Was ist eigentlich Mittelklasse (gemessen an Verkäufen, dem Stromverbrauch, dem Preis, ...)?
  2. Noch nie war ein Blick in die Vergangenheit Garant für die Zukunft. In der Informatik bekannte Regeln wie das Moore'sche Gesetz zeigen zudem, dass es mit der Linearität bei Computern nicht allzu weit her ist. Lauffähigkeit auf einem fünf Jahre alten Referenzsystem sagt also so gut wie nichts über die Lauffähigkeit in fünf Jahren aus.
  3. Lauffähigkeit für ein fünf Jahre altes System sicherstellen zu müssen, heißt entweder speziellen Code für den Test zu schreiben (Hallo, Volkswagen!) oder auf aktuelle Entwicklungen verzichten zu müssen.

Insbesondere der letzte Punkt ist interessant. Gehen wir davon aus, dass der Programmierer nicht bescheißt und speziellen Code für den Test schreibt, so muss er, um den Test bestehen zu können, auf aktuelle Entwicklungen verzichten. Das heißt zum einen, dass er keine Bibliotheken oder ähnliches verwenden kann, die auf einem "Referenzsystem" von vor fünf Jahren nicht installiert waren, es sei denn, er liefert sie selbst mit. Dies führt zu unnötig großen, statisch gelinkten Anwendungen und Bundles, wie sie unter Windows üblich sind. Ein und der selbe Code ist mehrfach auf jedem PC vorhanden, weil jede Applikation aus Sicherheitsgründen ihre eigenen Abhängigkeiten mitliefert, wodurch Speicherplatz verschwendet wird; nicht gerade effizient. Zum anderen kann der Entwickler auch nicht auf neue Hardware-Features zurückgreifen, die typische Workloads häufig nicht nur schneller sondern auch deutlich effizienter bewältigen als eine reine Softwarelösung.

Zusammengefasst führt die Bewertung mittels dieses "Referenzsystems" also dazu, dass gerade besonders effizientes Programmieren bestraft wird. Würde ich heute einen Videodecoder entwickeln, der mit aktuell verfügbaren Bibliotheken auf einem Linux-System arbeitet und die Hardwarebeschleunigung zum Dekodieren des imaginären, neuen H285-Datenstroms verwendet, könnte ich keinen "Blauen Engel" erhalten, egal wie effizient mein Programm ist.

Embedded-Geräte

Das gleiche Problem trifft auch nahezu alle Embedded-Geräte, beziehungsweise die auf ihnen laufende Software, da diese oftmals deutlich Hardware-spezifischer ist als Desktop-Programme. Dabei ist es doch gerade diese Produktgruppe (ich zähle hierzu neben all dem IoT zum Beispiel auch Smartphones), die zum einen mit starken Zuwächsen zum anderen aber auch mit einer besonders schnellen Obsoleszenz "glänzt". Dementsprechend ist es doch auch die Produktgruppe, bei der ganz besonders auf Nachhaltigkeit geachtet werden sollte. Doch der derzeitige Entwurf für die Richtlinien des "Blauen Engels" für Software lässt sich auf Embedded-Geräte schlicht nicht anwenden.

Natürlich ist das Problem bekannt, nicht umsonst kennt die "Blauer Engel"-Jury Maßstäbe für Router, Set-Top-Boxen und Mobiltelefone, doch sind diese viel zu speziell. Warum verallgemeinert man nicht diese Regeln und macht sie so für alle Embedded-Geräte verfügbar? Wichtig sind immer die selben grundlegenden Dinge: Akkuhaltbarkeit, Reparatur- und Recyclingfreundlichkeit und Updateversorgung. Und im Anschluss an die Versorgung mit Updates stellt sich nur noch die Frage, ob und wie leicht der Kunde seine eigene Software auf die Hardware spielen kann. Es wäre dann ein leichtes, dazu Erweiterung für spezielle Produktkategorien zu erarbeiten – zum Beispiel für die maximale Funkwellenbelastung durch Mobiltelefone.

Fazit

Ich stehe mit dem "Blauen Engel" nicht so sehr auf Kriegsfuß, wie es nach der vorgebrachten Kritik den Anschein haben mag. Grundsätzlich bin ich Befürworter eines unabhängigen, staatlichen Siegels, das die Umweltfreundlichkeit von Produkten und Dienstleistungen bewertet. Ein solches ist heute wahrscheinlich wichtiger als je zuvor.

Leider mangelt es dem "Blauen Engel" an Wahrnehmung in der Öffentlichkeit. Außer Behörden kümmert sich fast niemand um die Auszeichnung, wodurch sich auch nur sehr wenige Hersteller der freiwilligen Zertifizierung unterziehen. Ein Teufelskreis. Ich befürchte zudem, dass sich auch mit der Erweiterung auf Software daran nicht viel ändern wird, insbesondere nicht mit diesem eher mäßigen Entwurf. Die grundlegende Annahme, dass nutzloses Wachstum und grundlose, inkompatible Änderungen zu Hardware-Obsoleszenz führen, ist zwar richtig, doch handelt es sich meiner Wahrnehmung nach hierbei eher um Probleme von bestimmten Betriebssystemen als von Anwendungsprogrammen. Erstere sind jedoch explizit von der Bewertung ausgeschlossen.

Viel schwerer wiegt in meinen Augen jedoch, dass Embedded-Geräte, die heute für einen immer weiter steigenden Anteil der Hardwareverkäufe (und -entsorgungen!) verantwortlich sind, nicht nur nicht in den Fokus gerückt sondern durch die Wahl der Bewertungsmaßstäbe gänzlich ausgeschlossen werden. Warum stellt man sich lieber die Frage, ob denn nun Microsoft Office oder LibreOffice effizienter ist und welches von beiden auf dem Mittelklasserechner von vor fünf Jahren läuft? Für mich ist das schwer nachvollziehbar. Ich weiß nicht, wann ich das letzte Mal jemanden davon habe sprechen hören, dass er sich einen neuen Rechner kauft, weil sein Desktop-Programm nicht mehr flüssig läuft. Ich kann mich allerdings sehr gut daran erinnern, wie mir ständig Leute von ihren neuen Smartphones erzählen.

Einzig den Verzicht auf Werbung und die notwendige Unterstützung offener Datenaustauschformate kann ich uneingeschränkt begrüßen. Auf diesen beiden Punkten kann die Jury gern noch einmal aufbauen.

Abgelegt unter Opinion. Tags: award, blauer engel, environment, obsolescence.

Willst du diesen Beitrag kommentieren? Schreib mir an blog [at] philipp-trommler [dot] me!

Beiträge von Blogs, denen ich folge

Managing my dotfiles as a git repository
via Drew DeVault's Blog, December 30, 2019

There are many tools for managing your dotfiles - user-specific configuration files. GNU stow is an example. I’ve tried a few solutions over the years, but I settled on a very simple system several years ago which has served me very well in the time since: m…

Mastering Embedded Linux, Part 2: Hardware
via Posts on &> /dev/null, December 28, 2019

Table of Contents Systems on a Module Bare processors FTDI breakout SOP8 test clip Miscellaneous supplies Needed Hardware In the first part of this series, I discussed some of the core concepts surrounding embedd…

Build your own character class inventories
via BASHing data, December 27, 2019

Find out what [:alpha:] and [:cntrl:] mean in your system

Generiert mit openring