| Phänomene | Ethik in der Softwareentwicklung (Ethical Engineering)

Knoten in der Wissenslandkarte

Disziplin

Ethik
Informatik

Ethik in der Softwareentwicklung (Ethical Engineering)

Lesezeit: 10 Min.

Wenn wir die Vorstellung zurückweisen, dass unsere digitale Welt unausweichlich vorherbestimmt ist, erkennen wir, dass jene Personen, die Software entwickeln, eine moralische Verantwortung tragen. Im Fokus stehen beim Ethical Engineering die Entwickler selbst – keine Geschäftsführer:innen, Manager:innen oder Produzenten der Hardware, ebenso wenig die Betreiber:innen (Business Ethics) oder Nutzer:innen (User Ethics). Es geht darum, dass Entwickler:innen sich ethisch verantwortungsbewusst der Aufgabe der Softwareentwicklung widmen. Hierzu werden unter anderem Codes of Conduct entwickelt, welche eine Verhaltensorientierung geben sollen, beispielsweise seien hier die Berufsverbände ACM und IEEE genannt. Dies entspricht einer Professional Ethics, die ein bestimmtes Berufsfeld auffordert, sich Verhaltensweisen anzueignen, um den ethischen Standard einer Berufsgruppe zu gewährleisten. In der Medizinethik werden Richtlinien und Kodizes eingesetzt, um Ärzten und Ärztinnen in komplexen Entscheidungssituationen Orientierung zu bieten. Strukturierte Checklisten dienen dabei als Hilfsmittel für ein systematisches Vorgehen und stützen das medizinische Handeln. Weiterbildungen stellen sicher, dass ein grundlegendes und für alle zugängliches Fachwissen vorhanden ist. Das primäre Ziel all dieser medizinischen Handlungen sollte die Heilung sein. Sie legen hierfür eine Abwandlung des hippokratischen Eids ab, das Genfer Gelöbnis. Einer Ärztin oder einem Arzt kann die Berufszulassung entzogen werden, falls er oder sie ein Verhalten an den Tag legt, das gemäß § 3 Absatz 1 Nummer 2 der Bundesärzteordnung die Unzuverlässigkeit oder Unwürdigkeit zur Berufsausübung als Ärztin oder Arzt offenbart. Alle diese kombinierten Anstrengungen sollen eine gute medizinische Versorgung für jeden Bedürftigen ermöglichen. Im Bereich der Informatik lässt sich eine solche Herangehensweise nicht so eindeutig umsetzen, da es sich bei Informatikerinnen und Informatikern um eine sehr heterogene Berufsgruppe handelt: Softwareentwickler:innen aus verschiedenen Ländern arbeiten weltweit verteilt in den unterschiedlichsten Branchen, von der Medizin über den öffentlichen Sektor bis hin zum Militär. Sie verfügen über unterschiedlich erworbenes Fachwissen – vom Autodidakten bis hin zum Universitätsabsolventen. Dies erschwert eine Lizenzierung sowie einen einheitlichen Wertekodex.

Im Ethical Engineering betrachten wir Softwareanwendungen, die entweder unbeabsichtigte negative externe Effekte haben, wie beispielsweise Airbnb, oder solche, in die vorverzerrte moralische Perspektiven eingebettet sind, erkennbar an Diskussionen um Bias im maschinellen Lernen. Dies bezieht sich auf Urteile, die aufgrund mangelnder Informationen und daher einer voreingenommenen Beurteilung spezifischer Gegebenheiten gefällt werden. Software kann somit kein Instrument mit Neutralitätsanspruch sein, sondern wird durch die Vielfalt an Entscheidungen während ihrer Entwicklung moralisch „aufgeladen“. Die Diskussion über Airbnb konzentriert sich auf die durch die Plattform verursachten Marktverzerrungen, die unter anderem in steigenden Wohnungskosten für die lokale Bevölkerung resultierten. Solche negativen externen Auswirkungen zu korrigieren erfordert einen erheblichen moralischen Einsatz seitens der Softwareentwickler:innen, wie zum Beispiel eine selbst auferlegte Beschränkung der Wohnungsangebote pro Quadratkilometer. Diese Art der Problemlösung sollte jedoch eine gesamtgesellschaftliche Anstrengung sein und kann nicht allein den Entwicklerinnen und Entwicklern aufgebürdet werden (supererogatorische Forderung). Im Kontrast dazu stehen Verzerrungen (Bias), die häufig in maschinellen Lernsystemen anzutreffen sind. In diesem Fall sind die moralischen Erfordernisse zwar bekannt, aber der Datensatz oder die Datenbewertung werden diesen nicht gerecht. Verzerrungen im Ergebnis, wie sie beispielsweise bei Gesichtserkennungs­systemen auftraten, sind technisch behebbar. Hier liegt die Verantwortung klar bei den Entwicklerinnen und Entwicklern, die entsprechende Korrekturen vornehmen müssen.

Software wird im Ethical Engineering als Werkzeug zur Erreichung spezifischer Ziele betrachtet, aber Software ist keinesfalls moralisch neutral. Ethical Engineering beschäftigt sich nicht mit der Entwicklung von Maschinen, die eigenständig moralische Entscheidungen treffen und begründen können (Moral Machines), sondern vielmehr mit der oft unbewussten Einbettung der Wertvorstellungen der Entwickler:innen in die technische Gestaltung. Dieser Prozess der Wertintegration in die Technik spiegelt sich im Embedded Values Approach (Bottom-up) oder im Ethically Aligned Approach (Prinzipienanwendung) wider.

Die Inhärenz von Werten in digitaler Technologie betont die Notwendigkeit, Software und Softwaresysteme selbst einer normativen Bewertung zu unterziehen. Ethisch bedeutsame Situationen entstehen nicht ausschließlich durch die Anwendung oder Nutzung digitaler Artefakte. Daher muss Ethik einen eigenen Untersuchungsbereich definieren oder eine charakteristische Methodik anwenden, die jeweils eine eigenständige ethische Abwägung legitimiert. Es ist wesentlich, genau jene Situationen zu identifizieren, die speziell durch die Eigenschaften der Informationstechnik und -technologie geprägt sind. Eine verantwortliche Ethik erfordert die Identifikation jener Merkmale, die die Besonderheit digitaler Technologien herausstellen und somit ihre Einzigartigkeit unterstreichen (Uniqueness-These). Dies ist die Grundlage für einen spezialisierten ethischen Unterbereich, der sich proaktiv und vorausschauend von einer bloßen Abschätzung der Technikfolgen unterscheidet.

Eine Ethik für Softwareentwickler beruht auf Unterscheidungsmerkmalen digitaler Technologien und Techniken, auf welche bei der Identifikation normativ relevanter Aspekte Rücksicht genommen werden sollte:

  • der mediale Charakter digitaler Technologie und Technik (Media)
  • das Merkmal einer Emerging Technology
  • Vernetzung durch Transparenz und Allgegenwart (Ubiquitous and Ambient Computing)
  • die Formbarkeit digitaler Technologie und Technik (Malleability)
  • die Machtposition digitaler Technologie und Technik (Scalability)
  • Verantwortungsdiffusion (Many-Hands-Problem)

Während des Entwicklungsprozesses wird die Identifikation ethisch bedeutsamer Aspekte oft durch den Einsatz von Ethical Frameworks unterstützt. Diese dienen dazu, die Identifikation relevanter Punkte zu unterstützen, indem sie die Gewinnung von Einsichten in strukturierter Weise anleiten und als Werkzeuge zur Dokumentation dienen können. Allerdings wirkt die Auswahl der als wichtig angesehenen Werte manchmal willkürlich oder scheint nicht hinreichend durch theoretische Überlegungen fundiert zu sein. Der Ansatz des digitalen Humanismus könnte einen robusten Wertekanon bieten, der mit den europäischen Grundwerten im Einklang steht. Der digitale Humanismus definiert sich als eine Ethik für das digitale Zeitalter, die den Prozess der digitalen Transformation aus der Perspektive der humanistischen Philosophie deutet, begleitet und prägt. Im Zentrum steht das Prinzip menschlicher Urheberschaft, das darin zum Ausdruck kommt, wie wir Verantwortlichkeiten zuweisen und uns als vernunftbegabte, prinzipiell freie und selbstbestimmte Individuen betrachten.

Ebenso kritisch ist die Überlegung, wie dieses Wissen oder diese Identifikationen in die Praxis umgesetzt werden können (Principle-Practice-Gap). Dazu werden sowohl technische Methoden benötigt (Privacy by Design, Explainability oder Accountability Models; Ethical User Stories) als auch Arbeitsprozesse (Value Sensitive Design; Value-based Engineering; Agile Development),die ein reflektiertes Nachdenken über bestimmte Problemstellungen ermöglichen. Ein idealer Ansatz wäre es, normative Überlegungen proaktiv und diskursiv in den gesamten Softwarelebenszyklus einzubinden (Discourse Ethics; Participatory Design; Agile Ethics). Hierzu sollten Softwareentwickler:innen und nicht nur in der Lage sein, normative Fragen zu diskutieren, sondern auch aktiv dazu ermutigt werden. Ihre Fähigkeit, ihre Urteilskraft anzuwenden und ethisch zu kommunizieren, muss gezielt gefördert und ausgebildet werden. Verantwortungsbewusstes Ingenieurhandeln schließt ethische Überlegungen mit ein, die sowohl kontextuelle als auch technologiespezifische Werte berücksichtigen und die Vertretbarkeit digitaler Artefakte im Kontext von individuellen, intersubjektiven und kollektiven Praktiken beurteilen. Normative Überlegungen sollten einen integralen Bestandteil des Entwicklungsprozesses darstellen und sich auch in der Dokumentationspraxis und Qualitätssicherung widerspiegeln.

Vergleichbarkeit mit analogen Phänomenen

Die Entwicklung ethischer Praktiken im Ingenieurwesen ist entscheidend, da Ingenieurinnen und Ingenieure oft mit Entscheidungen konfrontiert werden, die weitreichende Auswirkungen auf die Gesellschaft und die Umwelt haben. Hier sind einige grundlegende Schritte, die dazu beitragen können, ethisches Handeln in der Ingenieurpraxis zu fördern. Berufsverbände wie der VDE (Verband der Elektrotechnik Elektronik Informationstechnik e. V.) und VDI (Verein Deutscher Ingenieure) entwickeln unterschiedliche Strategien, um ethisch angemessene Ingenieurarbeit zu gewährleisten. Ähnliche Überlegungen gelten auch für die Informatik.

Ausbildung und Bewusstsein: Ethik sollte ein integraler Bestandteil der Ausbildung von Ingenieurinnen/Ingenieuren sein. Kurse und Workshops zur Berufsethik können dazu beitragen, das Bewusstsein für ethische Fragen zu schärfen und die Fähigkeit zu entwickeln, ethische Dilemmas zu erkennen und zu bewältigen.

Ethische Richtlinien und Kodizes: Viele Ingenieurverbände haben ethische Kodizes, die als Leitfaden für das professionelle Verhalten ihrer Mitglieder dienen. Diese Kodizes enthalten oft Grundsätze wie Ehrlichkeit, Fairness und Respekt vor der Umwelt. Ingenieurinnen und Ingenieure sollten sich mit diesen Kodizes vertraut machen und sie in ihre tägliche Arbeit integrieren.

Interdisziplinäre Zusammenarbeit: Ingenieurinnen und Ingenieure sollten mit Fachleuten aus anderen Bereichen, wie Ethikern, Juristen und Sozialwissenschaftlern, zusammenarbeiten, um ein breiteres Verständnis der potenziellen Auswirkungen ihrer Arbeit zu entwickeln. Dies kann helfen, einseitige technische Lösungen zu vermeiden, die unbeabsichtigte negative Konsequenzen haben könnten.

Stakeholderengagement: Es ist wichtig, die Perspektiven aller Stakeholder:innen in den Entwicklungsprozess einzubeziehen, insbesondere jener, die direkt von den Ingenieurprojekten betroffen sind. Dies umfasst die Durchführung von Umweltverträglichkeitsprüfungen und die Berücksichtigung der sozialen Auswirkungen technischer Projekte.

Nachhaltigkeit und soziale Verantwortung: Ingenieurinnen und Ingenieure sollten danach streben, Lösungen zu entwickeln, die nachhaltig sind und die Umwelt respektieren. Dies beinhaltet die Minimierung von Umweltbelastungen und die Förderung von Technologien, die zu einer nachhaltigen Entwicklung beitragen.

Kontinuierliche Weiterbildung: Die Technologie und die damit verbundenen ethischen Herausforderungen entwickeln sich ständig weiter. Regelmäßige Weiterbildung und professionelle Entwicklung können Ingenieurinnen und Ingenieuren helfen, auf dem neuesten Stand zu bleiben und besser auf neue ethische Dilemmas vorbereitet zu sein.

Transparente Praktiken: Offenheit und Transparenz in allen Phasen eines Ingenieurprojekts fördern das Vertrauen der Öffentlichkeit und der Stakeholder:innen. Dokumentation und offene Kommunikation über Entscheidungsprozesse können dazu beitragen, das Verständnis für die getroffenen Entscheidungen zu verbessern.

Diese Schritte sind nicht nur für jede Ingenieurin und jeden Ingenieur wichtig, sondern auch für Organisationen und Gesellschaften, die Ingenieurwissenschaften betreiben und regulieren. Ethisches Handeln im Ingenieurwesen stärkt das Vertrauen in die Branche und trägt zu einer gerechteren und nachhaltigeren Welt bei.

Die ethischen Grundsätze und Herausforderungen in der Softwareentwicklung sind denen im allgemeinen Ingenieurwesen ähnlich, da beide Bereiche technische Fachkenntnisse erfordern und weitreichende Auswirkungen auf die Gesellschaft haben können. Allerdings gibt es in der Softwareentwicklung spezifische Aspekte, die besondere Aufmerksamkeit erfordern, die sich aus der datengetriebenen Technologie ergeben, wie beispielsweise Privatsphäre oder Algorithmen (Uniqueness-These, techno-generische Werte). Insgesamt ist ethisches Handeln in der Softwareentwicklung entscheidend, um sicherzustellen, dass Technologien das menschliche Wohlbefinden unterstützen, schützen und nicht schaden. Organisationen wie der ACM (Association for Computing Machinery) und der IEEE (Institute of Electrical and Electronics Engineers) bieten ethische Richtlinien und Ressourcen, die Softwareentwicklerinnen und ‑entwicklern helfen können, diese Prinzipien in ihrer Arbeit zu verfolgen.

Gesellschaftliche Relevanz

Die gesellschaftliche Relevanz von Ethical Engineering, einer Ethik für die Softwareentwicklung, ist in der heutigen Zeit kaum zu überschätzen. In einer Welt, in der digitale Technologien das Rückgrat unseres Alltags bilden – von der Kommunikation über die Gesundheitsversorgung bis hin zur Wirtschaft –, nehmen ethische Überlegungen in der Softwareentwicklung eine zentrale Rolle ein. Die Entscheidungen von Softwareentwicklerinnen und ‑entwicklern haben weitreichende Folgen für den Datenschutz, die Informationsfreiheit und die Sicherheit der Nutzenden: Themen wie die Fairness von Algorithmen oder die Transparenz von Datenverarbeitungsprozessen, während wir uns auf eine Zukunft zubewegen, in der künstliche Intelligenz und maschinelles Lernen allgegenwärtig sein werden. Softwareentwickler:innen stehen somit nicht nur vor der Aufgabe, funktionale und effiziente Produkte zu schaffen, sondern müssen auch deren soziale und ethische Auswirkungen in Betracht ziehen, um eine Technologie zu gestalten, die die Würde und Rechte aller Menschen respektiert und fördert.

Quellen