12 ethische Dilemmata, die heute an Entwicklern nagen

Die Tech-Welt war schon immer lange an der Macht und hat wenig über die Auswirkungen dieser Macht nachgedacht. Wenn es gebaut werden kann, wird es immer jemanden geben, der es baut, ohne über eine sicherere und vernünftigere Methode nachzudenken, geschweige denn, ob die Technologie überhaupt gebaut werden sollte. Die Software wird geschrieben. Wen interessiert es wo und wie es verwendet wird? Das ist eine Aufgabe für jemanden in einem Eckbüro.

Noch beunruhigender: Während Ethikkurse zu einem festen Bestandteil der Ingenieurwissenschaften geworden sind, bleiben sie eine widerwillige Anomalie in der Informatikpädagogik. Da Software jedoch mehr von unserem Leben einnimmt, werden die ethischen Auswirkungen von Entscheidungen, die von Programmierern getroffen werden, immer größer. Jetzt, da unser Code in Kühlschränken, Thermostaten, Rauchmeldern und vielem mehr enthalten ist, können falsche Bewegungen, mangelnde Weitsicht oder geradezu zweifelhafte Entscheidungen die Menschheit überall verfolgen.

[Was ist in und was in der App-Entwicklung raus: 15 heiße Programmiertrends - und 15 werden kalt. | Zeigen Sie, wie viel Sie wirklich über Entwicklung wissen, indem Sie unseren Programmier-IQ-Test, Runde 3 und unser Programmiersprachen-Quiz "Hallo Welt" durchführen. | Arbeiten Sie intelligenter und nicht härter - laden Sie den Developers 'Survival Guide von herunter, um alle Tipps und Trends zu erhalten, die Programmierer wissen müssen. | Bleiben Sie mit dem Developer World-Newsletter über die neuesten Entwicklernachrichten auf dem Laufenden. ]]

Was folgt, sind einige der ethischen Probleme, mit denen Entwickler jeden Tag konfrontiert sind - ob sie es wissen oder nicht. Es gibt keine einfachen Antworten, zum Teil, weil die Natur der Arbeit so abstrakt ist. Erschwerend kommt hinzu, dass das Geschäft so untrennbar mit der Computertechnologie verbunden ist, dass es schwierig ist, die Bedürfnisse und Motivationen aller Beteiligten in Einklang zu bringen, um zu verhindern, dass das Business-Case-Feature von heute zum Orwellschen Albtraum von morgen wird.

Der Trick besteht darin, über den aktuellen Zeitgeist hinauszudenken und jede zukünftige Nutzung dessen, was Sie bauen, vorwegzunehmen. Ziemlich einfach, oder? Betrachten Sie dies weniger als Leitfaden für Ihre Entscheidungen als vielmehr als Ausgangspunkt für die Art ethischer Kontemplation, die wir als täglichen Teil unserer Arbeit durchführen sollten.

Ethisches Dilemma Nr. 1: Protokolldateien - was zu speichern und wie damit umzugehen ist

Programmierer sind wie Packratten. Sie führen Aufzeichnungen über alles, oft, weil dies die einzige Möglichkeit ist, ein System zu debuggen. Protokolldateien verfolgen aber auch alles, was Benutzer tun, und in den falschen Händen können sie Fakten aufdecken, die Benutzer geheim halten möchten.

Viele Unternehmen bauen auf dem aktiven Schutz von Protokolldateien auf. Einige Remote-Backup-Dienste versprechen sogar, zusätzliche Kopien an unterschiedlichen geografischen Standorten aufzubewahren. Nicht jedes Unternehmen strebt eine solche Sorgfalt an. Snapchat zum Beispiel hat seine Marke darauf aufgebaut, Daten sehr schlecht zu sichern, aber seine Benutzer sind von der Freiheit des vergesslichen Systems angezogen.

Die bloße Existenz von Protokolldateien wirft mehrere ethische Fragen auf. Sind sie angemessen geschützt? Wer hat Zugang? Wenn wir sagen, wir zerstören die Dateien, sind sie wirklich zerstört?

Der springende Punkt ist, festzustellen, welche Informationen es wert sind, aufbewahrt zu werden, angesichts des Risikos, dies zu tun, ethisch oder anderweitig. Hier verkompliziert die Zukunft die Gleichung. In den 1960er Jahren war das Rauchen weit verbreitet. Niemand hätte zweimal darüber nachgedacht, die Rauchgewohnheiten der Menschen im Auge zu behalten. Heutzutage kann das Wissen über die Rauchaktivität einer Person jedoch dazu verwendet werden, die Krankenversicherungssätze zu erhöhen oder sogar den Versicherungsschutz zu verweigern.

Zukünftige Geschäftsabschlüsse; zukünftige staatliche Vorschriften; ein unvorhergesehener, verzweifelter Bedarf an neuen Einnahmequellen - es ist möglicherweise unmöglich vorherzusagen, welche scheinbar unschuldige Protokolldatei in Zukunft problematisch wird, aber es ist wichtig, die Ethik des Umgangs mit den Protokollen auf dem Weg zu berücksichtigen.

Ethisches Dilemma Nr. 2: Ob und wie Benutzer in Produkte umgewandelt werden sollen

Es ist ein abgenutztes Sprichwort der Startup-Ära: Wenn Sie nicht für einen Service bezahlen, sind Sie kein Kunde. Du bist das Produkt.

Im Internet gibt es viele "kostenlose" Dienste. Tatsächlich wird die Frage, woher das Geld kommt, oft verschoben. Wir bauen nur die Erstaunlichkeit auf, behalten die Adoptionsmetriken im Auge und gehen davon aus, dass sich jemand anderes um die schmutzige Arbeit kümmert, die Serverlichter anzuschalten. Im schlimmsten Fall gibt es immer Anzeigen.

Entwickler müssen im Voraus wissen, wer ihre Arbeit unterstützt und woher das Geld kommt. Alle Änderungen sollten den Benutzern klar und rechtzeitig mitgeteilt werden, um Stöße und Rückschläge zu vermeiden. Menschen in Produkte zu verwandeln ist eine ethische Veränderung, die man nicht leicht nehmen sollte. Schattige Anzeigengeschäfte, zwielichtige Werbenetzwerke - wir müssen vorsichtig sein, wie wir mit dem impliziten Vertrauen von Early Adopters umgehen.

Ethisches Dilemma Nr. 3: Wie frei wollen Inhalte wirklich sein?

Eine Reihe von Unternehmen ist darauf angewiesen, Inhalte bereitzustellen, ohne diejenigen zu bezahlen, die sie erstellen. Einige drehen sich um und verkaufen Anzeigen oder erheben sogar Gebühren für den Zugang. Diese Unternehmen konnten oft nicht überleben und konnten ihr Material nicht so attraktiv bewerten, wenn sie ihren gerechten Anteil an den Entwicklungskosten tragen mussten. Sie entwickeln ausgefeilte Rationalisierungen zum Thema "Teilen" oder "Fair Use", um eine ethisch wackelige Entscheidung zu vertuschen.

Entwickler müssen sich fragen, wie ihr Code jeden in der Lebensmittelkette unterstützt, vom Schöpfer bis zum Verbraucher. Wollen die Personen, die den Inhalt erstellen, dass ihre Arbeit auf diese Weise verteilt wird? Sind sie glücklich, allein für Belichtung oder Aufmerksamkeit zu arbeiten? Erhalten sie einen angemessenen Anteil an den Einnahmen?

Wenn diese Fragen nicht berücksichtigt werden, bedeutet dies, die Augen vor Piraterie zu verschließen. Schließlich wollen nicht alle Informationen nur "frei sein".

Ethisches Dilemma Nr. 4: Wie viel Schutz ist genug?

Einige sagen, dass alles mit zwei verschiedenen Algorithmen doppelt verschlüsselt und auf einer Festplatte gesperrt werden sollte, die in einem Safe aufbewahrt wird. Leider verlangsamt der Overhead das System zum Crawlen und macht die Entwicklung zehnmal lästiger. Wenn ein Bit umgedreht wird oder ein Teil des Algorithmus falsch ist, gehen alle Daten verloren, da die Verschlüsselung nicht rückgängig gemacht werden kann.

Andere möchten keinen Finger rühren, um die Daten zu schützen. Das nächste Team kann später bei Bedarf eine spezielle Verschlüsselung hinzufügen, könnten die Entwickler sagen. Oder sie könnten argumentieren, dass daran nichts Sensibles ist. Teams, die diese Verantwortlichkeiten ignorieren, sind normalerweise in der Lage, viel anderen Code zu generieren und Stapel wundervoller Funktionen zu erstellen, nach denen sich die Leute sehnen. Wen interessiert es, ob sie sicher sind?

Es gibt keine einfache Antwort darauf, wie viel Schutz angewendet werden soll. Es gibt nur Vermutungen. Mehr ist immer besser - bis die Daten verloren gehen oder das Produkt nicht versendet wird.

Ethisches Dilemma Nr. 5: Fehler beheben oder nicht beheben?

Es ist schwierig genug, die ethischen Schwärme zu verhandeln, wenn sie aktive Entscheidungen beinhalten, aber es ist noch schwieriger, wenn das Problem beiseite geschoben und als Fehler bezeichnet werden kann, der irgendwann behoben wird. Wie hart sollten wir daran arbeiten, die Probleme zu beheben, die irgendwie in den laufenden Code gerutscht sind? Lassen wir alles fallen? Wie entscheiden wir, ob ein Fehler schwerwiegend genug ist, um behoben zu werden? 

Isaac Asimov hat sich vor langer Zeit mit diesem Problem befasst, als er seine Gesetze der Robotik schrieb und eines einfügte, das einem Roboter verbietet, nichts zu tun, wenn ein Mensch durch die Untätigkeit des Roboters verletzt würde. Natürlich hatten seine Roboter ein positronisches Gehirn, das alle Facetten eines Problems sofort erkennen und lösen konnte. Die Fragen an Entwickler sind so kompliziert, dass viele Fehler ignoriert und behoben werden, weil niemand darüber nachdenken möchte.

Kann ein Unternehmen die Liste fair priorisieren? Sind einige Kunden wichtiger als andere? Kann ein Programmierer Favoriten spielen, indem er einen Fehler einem anderen vorzieht? Dies ist noch schwieriger zu betrachten, wenn Sie feststellen, dass es schwer vorhersehbar ist, wie viel Schaden durch einen bestimmten Fehler entstehen wird.

Ethisches Dilemma Nr. 6: Wie viel muss codiert oder kompromittiert werden, um Missbrauch zu verhindern?

Die ursprüngliche Apple Web-Kamera wurde mit einem cleveren mechanischen Extra geliefert, einem physischen Verschluss, der das Objektiv blockierte, wenn es ausgeschaltet war. Der Verschluss und der Schalter waren miteinander verbunden; Es gab keine Möglichkeit, die Kamera zu benutzen, ohne den Verschluss selbst zu öffnen.

Einige der neueren Webcams verfügen über eine LED, die bei aktivierter Kamera aufleuchten soll. Normalerweise funktioniert es, aber jeder, der einen Computer programmiert hat, weiß, dass der Code möglicherweise eine Stelle enthält, an der die Kamera und die LED entkoppelt werden können. Wenn das gefunden werden kann, kann die Kamera in ein Spionagegerät verwandelt werden.

Die Herausforderung für den Ingenieur besteht darin, Missbrauch zu antizipieren und ihn zu verhindern. Der Apple Shutter ist eines der offensichtlichen und effektiven Beispiele dafür, wie es elegant gemacht werden kann. Als ich an einem Buch über das Betrügen des SAT arbeitete, traf ich einen Hacker, der seinem Taschenrechner Netzwerksoftware hinzufügte. Nach einiger Überlegung entschied er sich, nur kabelgebundene Protokolle zu unterstützen, weil er befürchtete, dass Kinder einen Taschenrechner mit WLAN in eine Prüfung einschleichen würden. Indem er nur kabelgebundene Protokolle unterstützte, stellte er sicher, dass jeder in einem Test ein Kabel zum Computer seines Nachbarn verlegen musste. Er hasste es, die drahtlosen Protokolle zu überspringen, aber er fand, dass das Risiko eines Missbrauchs zu hoch war.

Ethisches Dilemma Nr. 7: Wie weit können Kunden gegen Datenanfragen geschützt werden?

Wenn Sie Daten sammeln, ist es sicher, dass Ihre Organisation eines Tages zwischen dem Dienst an Ihren Kunden und dem Dienst an der Regierung hängen bleibt. Anfragen zur Übermittlung von Daten an juristische Personen werden immer häufiger, sodass immer mehr Software- und Serviceorganisationen darüber nachdenken müssen, inwieweit sie die Privatsphäre ihrer Kunden vor dem Gesetz verraten. Sie können diese Anträge prüfen und sogar Ihre eigenen Anwälte beauftragen, um zu bestreiten, ob sie wirklich rechtmäßig sind. In Wirklichkeit werden die Gerichte jedoch noch lange nach Ablauf Ihrer Finanzierung über die Rechtmäßigkeit debattieren.

Es gibt keine einfachen Lösungen. Einige Unternehmen entscheiden sich dafür, das Geschäft zu verlassen, anstatt ihre Kunden anzulügen. Andere versuchen offener gegenüber Anfragen zu sein, die die Regierung oft zu verbieten versucht.

Ethisches Dilemma Nr. 8: Umgang mit dem internationalen Charakter des Internets

Das Internet läuft überall und vermeidet viele der traditionellen Barrieren an den Grenzen. Dies kann ein Rezept für rechtliche Probleme sein, wenn sich Kunden A und B in verschiedenen Ländern befinden. Dies ist nur der Anfang, da sich die Server C und D häufig auch in völlig unterschiedlichen Ländern befinden.

Dies führt zu offensichtlichen ethischen Fragen. Europa hat zum Beispiel strenge Gesetze zur Aufbewahrung personenbezogener Daten und betrachtet Datenschutzverletzungen als ethisches Versagen. Andere Länder bestehen darauf, dass Unternehmen umfangreiche Aufzeichnungen über Geschäfte führen. Wessen Gesetzen sollte ein Unternehmen folgen, wenn Kunden in verschiedenen Ländern sind? Wann befinden sich Daten in verschiedenen Landkreisen? Wann werden Daten über internationale Leitungen übertragen?

Mit jeder rechtlichen Möglichkeit Schritt zu halten, kann herkulisch sein, so dass viele Organisationen sicherlich versucht sind, ihre Köpfe in den Sand zu stecken.

Ethisches Dilemma Nr. 9: Wie viel kann man Open Source zurückgeben?

Jeder weiß, dass Open Source kostenlos ist. Sie zahlen nichts und das macht es so wunderbar und komplex. Aber nicht jeder denkt über die ethischen Probleme nach, die mit der Verwendung dieses kostenlosen Codes verbunden sind. Alle Open Source-Pakete werden mit Lizenzen geliefert, denen Sie folgen müssen.

Einige der Lizenzen erfordern nicht viel Opfer. Lizenzen wie die Apache-Lizenz oder die MIT-Lizenz erfordern eine Bestätigung, und das war's auch schon. Andere Lizenzen, wie die GNU General Public License, fordern Sie jedoch auf, alle Ihre Verbesserungen mitzuteilen.

Das Parsen von Open Source-Lizenzen kann ethische Herausforderungen darstellen. Ein Manager einer großen Aktiengesellschaft sagte zu mir: "Wir vertreiben MySQL nicht, also schulden wir niemandem etwas." Er ging auf die vor Jahrzehnten verfasste Klausel ein, die die Verpflichtungen der Lizenz mit der Weitergabe von Software verband. Das Unternehmen verwendete MySQL für seine Web-Apps, sodass er der Meinung war, dass dies ohne Rückgabe möglich sei.

Es gibt keine einfachen Möglichkeiten, die ethischen Verpflichtungen zu messen, und viele Programmierer haben viele Tastenanschläge verschwendet, um darüber zu streiten, was sie bedeuten. Dennoch wird das gesamte Unternehmen zum Stillstand kommen, wenn die Leute aufhören zu geben. Die gute Nachricht ist, dass es oft im besten Interesse aller liegt, einen Beitrag zu leisten, da jeder möchte, dass die Software mit ihrer Verwendung kompatibel bleibt.

Ethisches Dilemma Nr. 10: Wie viel Überwachung ist wirklich gerechtfertigt?

Vielleicht möchte Ihr Chef sicherstellen, dass die Kunden das Unternehmen nicht verarschen. Vielleicht möchten Sie sicherstellen, dass Sie für Ihre Arbeit bezahlt werden. Vielleicht sagt ein gruseliger Typ von der Regierung, dass Sie eine Hintertür installieren müssen, um Bösewichte zu fangen. In jedem Fall ist das Argument mit der Zusicherung gefüllt, dass die Hintertür wie Supermans Kräfte nur dazu verwendet wird, Wahrheit und Gerechtigkeit zu unterstützen. Es wird nicht gegen politische Feinde oder die weniger Glücklichen eingesetzt. Es wird nicht an despotische Regime verkauft.

Aber was ist, wenn die Bösen die versteckte Tür entdecken und selbst herausfinden, wie man sie benutzt? Was ist, wenn Ihre Hintertür verwendet wird, um Unwahrheiten und Ungerechtigkeiten zu unterstützen? Ihr Code kann keine eigenen ethischen Entscheidungen treffen. Das ist dein Job.

Ethisches Dilemma Nr. 11: Wie kugelsicher sollte Code wirklich sein

Sicher, die minimale Berechnung, die einfache Datenstruktur und der Brute-Force-Ansatz funktionieren in der Demo gut, wenn die Probleme klein sind. Die Benutzer probieren den Code aus und sagen: "Meine Güte, das funktioniert schnell." Einige Monate später, wenn genügend Daten in das System geladen wurden, treten die Schwachstellen des billigen Algorithmus auf und der Code wird langsamer.