Ethische Softwareentwicklung
In welchem Zusammenhang Ethik und Software stehen
16 Februar, 2021 durch
Ethische Softwareentwicklung
manaTec GmbH, Sophia Grünig
 

Als im Jahr 2015 der Volkswagen-Abgas-Skandal ans Licht kam, wurde nicht nur die Automobil-Industrie, sondern ganze Gesellschaften verschiedener Nationen erschüttert. Schnell brachte die Manipulation der Regelsoftware in Dieselfahrzeugen, um den strengen US-Abgas-Standards gerecht zu werden, die Frage hervor, wer dafür verantwortlich zu machen ist. Die sich darauf aufbauende Diskussion zeigte, dass ethische Aspekte oft nur unzureichend oder zu spät berücksichtigt werden.

In unserer digitalisierten Welt erstreckt sich Software in alle Bereiche verschiedener Systeme und spielt dabei eine zunehmend wichtige Rolle. Daher ist die Thematik des verantwortlichen Handelns in der Softwareentwicklung relevanter denn je und unumgehbar.

Besonders kompliziert wird es, wenn der Mensch als Handlungsträger ersetzt wird. Künstliche Intelligenz und Roboter können Entscheidungen selbst treffen und umsetzen. Dazugehörige Regeln müssen von Entwicklern implementiert werden - und genau dort kommt der Begriff der ethischen Softwareentwicklung ins Spiel.

Künstliche Intelligenz bietet viele Chancen und birgt zugleich nicht außer Acht zu lassende Risiken.
Künstliche Intelligenz bietet viele Chancen und birgt zugleich nicht außer Acht zu lassende Risiken.

Das aus dem Griechischen stammende Wort Ethik – ēthikē für "das sittliche (Verständnis)“ oder ēthos für "Charakter, Sinnesart“ – bezeichnet einen Teilbereich der Philosophie, der sich mit den Voraussetzungen menschlichen Handelns und seiner Bewertung befasst. Dieses menschliche Handeln wird dabei maßgeblich von Werten, Normen, Sitten und Moralvorstellungen beeinflusst und dessen Folgen für die Umwelt reflektiert.

Fragt man sich, welche (individuelle, gesellschaftliche und berufliche) Verantwortung ein/e Softwareentwickler/in für sein/ihr Handeln oder Nicht-Handeln trägt, ist nicht nur die Einhaltung von Gesetzen zu betrachten. Angesehene Verhaltenskodexe wie der 1972 erschienene "ACM Code of Professional Conduct“, welcher 1992 überarbeitet und in "ACM Code of Ethics and Professional Conduct“ umgenannt wurde, oder der 1999 herausgebrachte "IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practice“ zeigen, dass Ethik in der IT , speziell in der Softwareentwicklung, kein gänzlich neues Thema ist.

Diese und weitere auffindbare Verhaltenskodexe sollen den Entwicklern Ethikrichtlinien geben und beinhalten wichtige Grundsätze. Nach diesen Grundsätzen soll ein/e Softwareentwickler/in mit seiner/ihrer Arbeit zu der Gesellschaft und dem menschlichen Wohlergehen beitragen, niemanden schaden und im Interesse seines Arbeitgebers und seiner/ihrer Kunden handeln, sofern dieses nicht dem öffentlichen Interesse entgegensteht.

Weitere Kernpunkte sind die Einhaltung höchster Qualitätsansprüche, Ehrlichkeit und Vertrauenswürdigkeit, ein faires Verhalten und der Schutz des Eigentums anderer einschließlich Urheberrechte und Patente. Auch soll ein/e Entwickler/in die Privatsphäre anderer schützen, mit personenbezogenen Daten verantwortungsvoll umgehen, sich dem lebenslangen Lernen verschreiben und einen ethischen Ansatz für die Ausübung des Berufes fördern.

Einige dieser Punkte werden im Manifest der Software Craftsmanship Bewegung, welche die Softwareentwicklung als eigenständige Profession auffasst, sowie im Software Craftsmanship aufgegriffen. Noch deutlicher auf ethische Aspekte und gesellschaftliche Verantwortung der Softwareentwicklung geht das "Manifesto for Responsible Software Development“ ein, indem nicht nur die ethische Verantwortung, sondern auch Menschen- und Bürgerrechte und der gewissenhafte und nachhaltige Umgang mit unseren vorhandenen Ressourcen angesprochen werden.

Verschiedene Manifeste und Kodexe beinhalten ethische Richtlinien zur Orientierung.
Verschiedene Manifeste und Kodexe beinhalten ethische Richtlinien zur Orientierung.

Ruft man sich die Themen Kernenergie und Humangenetik ins Gedächtnis, wird schnell klar, dass eine sogenannte ethische Dimension bei allen großen technisch-wissenschaftlichen Entwicklungen enthalten ist und zur Diskussion anregt. Der Philosoph Julian Nida-Rümelin und der Informatiker Alexander Pretschner forschen gemeinsam, wie sich bereits ethische Aspekte in die Softwareentwicklung integrieren lassen. Dabei gehen sie der grundsätzlichen Frage nach, wie man mit dieser ethischen Dimension umgeht. Eine Möglichkeit ist die strikte Separierung: Wissenschaft, Forschung, Technik versus Gesellschaft und Gesetzgebung. Das Problem bei dieser Separierung ist laut Nida-Rümelin und Pretschner, dass sich Entwicklungen mit einer bereits entstandenen Eigendynamik in Wissenschaft und Technik schwer von einer Gesellschaft steuern lassen. Die Lösung bietet eine Zusammenführung verschiedener Disziplinen – unter anderem Ökonomie, Philosophie, Juristik – um eine sinnvolle Steuerung zu ermöglichen.

Doch was bedeutet das konkret? Verdeutlichen lässt sich dies zum Beispiel in der agilen Softwareentwicklung, welche darauf ausgelegt ist, dass durch die Arbeitsweise in Sprints flexibel auf sich ändernde Anforderungen reagiert werden kann. Dabei wird im Sinne der ethischen Softwareentwicklung mithilfe der Fragestellung "Lässt sich dies missbräuchlich nutzen?“ stets überlegt, wie es um ethische Aspekte steht. Dieses Vorgehen findet bereits bei datenschutzbezogenen Belangen und Sicherheitsfragen Anwendung. In der Fachterminologie wird die stetige Überlegung, welche Folgen eine bestimmte Praxis mit sich bringt, als Konsequentialismus bezeichnet. Konkret bedeutet die ethische Softwareentwicklung somit: ethische Kernfragen lokalisieren, evaluieren und in technische Anforderungen übersetzen.

Da Softwareentwicklung nicht die Tätigkeit einer einzelnen Person, sondern ein sozialer Prozess mit vielen Beteiligten ist, kann nicht jede/r einzelne/r Softwareentwickler/in die Verantwortung der Entscheidung bei jeder noch so kleinen, einzelnen ethisch sensiblen Frage wahrnehmen. Dieses würde mit Überlastung der Entwickler/innen und Moralisierung dessen/derer Tätigkeiten einhergehen. Gleichzeitig sollten aber auch keine ethikfreien Entwicklungen entstehen.

Demzufolge geht es also um eine Integration der ethischen Dimension einerseits in die Softwareentwicklung und andererseits in Managementmethoden und Gesellschaft. Ethik-Kommissionen, Beratungsgremien, Unternehmen und Gesetzgeber müssen sich zusammensetzen und Regeln und Richtlinien definieren, welche als Orientierungshilfe dienen. Dabei muss auch bewusst sein, dass die Ethik nicht immer ein eindeutiges Kriterium ist und somit nicht stets eine klare Entscheidung liefern kann – aufgrund der Multi-Dimensionalität ist oft ein komplexes Abwägen von Argumenten nötig.

Meist ist ein komplexes Abwägen vieler Aspekte verschiedener Dimensionen notwendig.
Meist ist ein komplexes Abwägen vieler Aspekte verschiedener Dimensionen notwendig.

Auf den ersten Blick mögen Ethik und Software nicht so recht zusammenpassen, doch bei genauerer Betrachtung der zunehmend rapiden Integration technischer Innovationen in unsere Gesellschaften, lassen sich einhergehende potenzielle Risiken nicht negieren. Besonders bedeutend ist ethische Softwareentwicklung im Bereich der KI, der autonomen und automatisierten Assistenzsysteme sowie im Bereich der Big Data und der Roboter. Dabei soll die ethische Softwareentwicklung das Risiko von Missbrauch, Betrug und anderen potenziellen ethisch negativen Auswirkungen verringern.

Obwohl nicht immer alle eventuellen Risiken prognostiziert werden können, ist die Einbeziehung der ethischen Dimension in die Softwareentwicklung unerlässlich. Dabei darf den Softwareentwicklern/innen nicht die gesamte Verantwortung aufgebürdet werden, auch wenn sie mit ihren Tätigkeiten zur Realisierung der ethischen Entwicklung viel beitragen können. Obwohl bereits grobe Richtlinien in Form von Verhaltenskodexen vorhanden sind, ist eine vollständige Einbindung dieser in Wirtschaft und Gesellschaft notwendig. Ethische Richtlinien sollten dabei stets vor der technischen Innovation im Gesetz verankert sein, damit ein verantwortungsvoller Umgang realisiert werden kann.

In einem unserer nächsten Blogbeiträge beschäftigen wir uns damit, wo ethische Softwareentwicklung praktisch umgesetzt wird und wo sie unzureichend beachtet wurde.


Quellen: www.qz-online.de, www.wikipedia.org, www.roth-soft.de, www.heise.de, www.bidt.digital, www.onlinejourney.org

 
Odoo 14 - Modul Data Cleaning
Funktionsweise des Odoo-Moduls und Vergleich zum manaTec Merge Tool