Προγραμματισμός

12 ηθικά διλήμματα που χτυπούν σήμερα τους προγραμματιστές

Ο τεχνολογικός κόσμος ήταν πάντα επί μακρόν στην εξουσία και σύντομα σκεφτόταν τις συνέπειες αυτής της δύναμης. Εάν μπορεί να κατασκευαστεί, θα υπάρχει πάντα κάποιος που θα το κατασκευάσει χωρίς να σκέφτεται έναν ασφαλέστερο, πιο λογικό τρόπο, πόσο μάλλον αν η τεχνολογία θα έπρεπε ακόμη και να κατασκευαστεί. Το λογισμικό γράφεται. Ποιος νοιάζεται πού και πώς χρησιμοποιείται; Αυτό είναι καθήκον για κάποιον σε κάποιο γωνιακό γραφείο.

Πιο ανησυχητικό: Ενώ τα μαθήματα δεοντολογίας έχουν γίνει βασικά πτυχία μηχανικής φυσικού κόσμου, παραμένουν μια απογοητευτική ανωμαλία στην παιδαγωγική της επιστήμης των υπολογιστών. Ωστόσο, καθώς το λογισμικό αναλαμβάνει περισσότερο από τη ζωή μας, οι ηθικές επιπτώσεις των αποφάσεων που λαμβάνονται από προγραμματιστές γίνονται μεγαλύτερες. Τώρα που ο κώδικάς μας βρίσκεται στα ψυγεία, τους θερμοστάτες, τους συναγερμούς καπνού και πολλά άλλα, οι λανθασμένες κινήσεις, η έλλειψη προοπτικής, ή η εντελώς αμφίβολη λήψη αποφάσεων μπορεί να στοιχειώνει την ανθρωπότητα παντού.

[Τι υπάρχει και τι υπάρχει στην εφαρμογή dev: 15 καυτές τάσεις προγραμματισμού - και 15 κρύες. | Δείξτε πόσο γνωρίζετε πραγματικά για την ανάπτυξη συμμετέχοντας στο τεστ IQ Προγραμματισμού, στον 3ο γύρο και στο κουίζ για τις γλώσσες προγραμματισμού "Hello, world". | Εργαστείτε πιο έξυπνα, όχι πιο δύσκολα - κατεβάστε τον Οδηγό επιβίωσης των προγραμματιστών από όλες τις συμβουλές και τις τάσεις που πρέπει να γνωρίζουν οι προγραμματιστές. | Παρακολουθήστε τις τελευταίες ειδήσεις προγραμματιστών με το ενημερωτικό δελτίο του Developer World. ]

Αυτό που ακολουθεί είναι μερικά από τα ηθικά παράλογα που αντιμετωπίζουν οι προγραμματιστές κάθε μέρα - είτε το γνωρίζουν είτε όχι. Δεν υπάρχουν εύκολες απαντήσεις, σε κάποιο μέτρο επειδή η ίδια η φύση του έργου είναι τόσο αφηρημένη. Για να επιδεινωθούν τα πράγματα, η επιχείρηση έχει συνδεθεί τόσο αναπόσπαστα με την τεχνολογία των υπολογιστών, ώστε είναι δύσκολο να εξισορροπηθούν οι ανάγκες και τα κίνητρα όλων των επενδυμένων μερών στην προσπάθεια να αποφευχθεί το σημερινό Orwellian εφιάλτη της επιχείρησης.

Το κόλπο είναι να σκεφτείτε πέρα ​​από τον τρέχοντα zeitgeist και να προβλέψετε κάθε μελλοντική αξιοποίηση αυτού που χτίζετε. Πολύ απλό, ε; Σκεφτείτε αυτό λιγότερο από έναν οδηγό για τη λήψη των αποφάσεών σας και περισσότερο ως αφετηρία για το είδος ηθικής συλλογισμού που πρέπει να κάνουμε ως καθημερινό μέρος των εργασιών μας.

Ηθικό δίλημμα Νο. 1: Αρχεία καταγραφής - τι να αποθηκεύσετε και πώς να τα χειριστείτε

Οι προγραμματιστές είναι σαν αρουραίοι πακέτων. Κρατούν αρχεία για τα πάντα, συχνά επειδή είναι ο μόνος τρόπος για την αποσφαλμάτωση ενός συστήματος. Ωστόσο, τα αρχεία καταγραφής παρακολουθούν επίσης ό, τι κάνουν οι χρήστες, και σε λάθος χέρια, μπορούν να αποκαλύψουν τα γεγονότα που οι χρήστες θέλουν να διατηρήσουν μυστικά.

Πολλές επιχειρήσεις βασίζονται στην ενεργή προστασία αρχείων καταγραφής. Ορισμένες υπηρεσίες απομακρυσμένης δημιουργίας αντιγράφων ασφαλείας υπόσχονται ακόμη και να διατηρήσουν επιπλέον αντίγραφα σε διαφορετικές γεωγραφικές τοποθεσίες. Δεν επιδιώκει κάθε επιχείρηση μια τέτοια επιμέλεια. Η Snapchat, για παράδειγμα, δημιούργησε την επωνυμία της σε μια πολύ κακή δουλειά για τη δημιουργία αντιγράφων ασφαλείας δεδομένων, αλλά οι χρήστες της προσελκύονται από την ελευθερία του ξεχασμένου συστήματος.

Η απλή ύπαρξη αρχείων καταγραφής δημιουργεί πολλά ηθικά ερωτήματα. Προστατεύονται επαρκώς; Ποιος έχει πρόσβαση; Όταν λέμε ότι καταστρέφουμε τα αρχεία, καταστρέφονται πραγματικά;

Η ουσία είναι να εξακριβώσει ποιες πληροφορίες αξίζει να διατηρηθούν, λαμβάνοντας υπόψη τους κινδύνους, ηθικά ή αλλιώς. Εδώ, το μέλλον περιπλέκει την εξίσωση. Στη δεκαετία του 1960, το κάπνισμα αγκαλιάστηκε ευρέως. Κανείς δεν θα είχε σκεφτεί δύο φορές να παρακολουθεί τις συνήθειες καπνίσματος των ανθρώπων. Σήμερα, ωστόσο, η γνώση της δραστηριότητας καπνίσματος κάποιου μπορεί να χρησιμοποιηθεί για να αυξήσει τα ποσοστά ασφάλισης υγείας ή ακόμη και να αρνηθεί την κάλυψη.

Μελλοντικές επιχειρηματικές προσφορές μελλοντικοί κυβερνητικοί κανονισμοί · μια απρόβλεπτη, απελπιστική ανάγκη για νέες ροές εσόδων - μπορεί να είναι αδύνατο να προβλέψουμε ποιο φαινομενικά αθώο αρχείο καταγραφής θα γίνει προβληματικό στο μέλλον, αλλά είναι σημαντικό να λάβουμε υπόψη την ηθική του τρόπου με τον οποίο χειρίζεστε τα αρχεία καταγραφής.

Ηθικό δίλημμα Νο. 2: Αν - και πώς - να μετατρέψετε τους χρήστες σε προϊόντα

Είναι ένα παλιό παροιμία της εποχής εκκίνησης: Εάν δεν πληρώνετε για μια υπηρεσία, δεν είστε πελάτης. είσαι το προϊόν.

Στο Διαδίκτυο αφθονούν "δωρεάν" υπηρεσίες. Στην πραγματικότητα, το ερώτημα από πού θα προέλθουν τα χρήματα συχνά αναβάλλεται, είναι απενεργοποιημένο. Απλώς χτίζουμε την εκπληκτικότητα, παρακολουθούμε τις μετρήσεις υιοθέτησης και πιστεύουμε ότι κάποιος άλλος θα φροντίσει για τη βρώμικη δουλειά του να διατηρήσει τα φώτα διακομιστή αναμμένα. Στη χειρότερη περίπτωση, υπάρχουν πάντα διαφημίσεις.

Οι προγραμματιστές πρέπει να είναι εκ των προτέρων για το ποιος θα υποστηρίξει το έργο τους και από πού θα προέρχονται τα χρήματα. Οποιεσδήποτε αλλαγές πρέπει να κοινοποιούνται στους χρήστες με σαφή και έγκαιρο τρόπο για να αποφευχθεί ο σοκ και η ανατροπή. Ο μετασχηματισμός ανθρώπων σε προϊόντα είναι μια ηθική αλλαγή που δεν πρέπει να ληφθεί σοβαρά υπόψη. Σκιερές προσφορές διαφημίσεων, σκιερά δίκτυα διαφημίσεων - πρέπει να είμαστε προσεκτικοί με τον τρόπο χειρισμού της σιωπηρής εμπιστοσύνης των πρώτων υιοθετών.

Ηθικό δίλημμα Νο. 3: Πόσο δωρεάν θέλει να είναι το περιεχόμενο;

Ορισμένες επιχειρήσεις εξαρτώνται από την προβολή περιεχομένου χωρίς να πληρώνουν εκείνους που το δημιουργούν. Μερικοί γυρίζουν και πωλούν διαφημίσεις ή ακόμη χρεώνουν για πρόσβαση. Αυτές οι επιχειρήσεις συχνά δεν μπορούσαν να επιβιώσουν και δεν μπορούσαν να τιμήσουν το υλικό τους τόσο ελκυστικά, αν έπρεπε να επωμιστούν το δίκαιο μερίδιό τους στο κόστος ανάπτυξης. Αναπτύσσουν περίπλοκους εξορθολογισμούς σχετικά με την «κοινή χρήση» ή την «ορθή χρήση» για να καλύψουν μια ηθικά ασταθή απόφαση.

Οι προγραμματιστές πρέπει να αναρωτηθούν πώς ο κώδικάς τους θα υποστηρίξει όλους στην αλυσίδα τροφίμων, από δημιουργούς έως καταναλωτές. Θέλουν οι άνθρωποι που δημιουργούν το περιεχόμενο να διανέμονται με τον τρόπο αυτό; Είναι ευχαριστημένοι που εργάζονται μόνο για έκθεση ή προσοχή; Τους παρέχεται δίκαιο μερίδιο των εσόδων;

Το να μην λάβουμε υπόψη αυτά τα ερωτήματα ισοδυναμεί με το να κλείνουμε τα μάτια στην πειρατεία. Σε τελική ανάλυση, δεν είναι όλες οι πληροφορίες "θέλουν να είναι δωρεάν".

Ηθικό δίλημμα Νο. 4: Πόση προστασία είναι αρκετή

Μερικοί λένε ότι όλα πρέπει να κρυπτογραφούνται διπλά με δύο διαφορετικούς αλγόριθμους και να κλειδώνουν σε έναν σκληρό δίσκο που διατηρείται σε ένα χρηματοκιβώτιο. Δυστυχώς, η επιβάρυνση επιβραδύνει το σύστημα σε ανίχνευση και κάνει την ανάπτυξη 10 φορές πιο επαχθής. Για να επιδεινωθούν τα πράγματα, εάν ένα bit αναποδογυριστεί ή ένα μέρος του αλγορίθμου είναι λάθος, όλα τα δεδομένα χάνονται επειδή η κρυπτογράφηση δεν μπορεί να αναιρεθεί.

Άλλοι δεν θέλουν να σηκώσουν το δάχτυλό τους για να προστατεύσουν τα δεδομένα. Η επόμενη ομάδα μπορεί να προσθέσει ειδική κρυπτογράφηση αργότερα, εάν είναι απαραίτητο, λένε οι προγραμματιστές. Ή μπορεί να υποστηρίζουν ότι δεν υπάρχει τίποτα ευαίσθητο σε αυτό. Οι ομάδες που αγνοούν αυτές τις ευθύνες είναι συνήθως σε θέση να δημιουργήσουν πολλά άλλα κώδικα και να δημιουργήσουν σωρούς από υπέροχα χαρακτηριστικά που λατρεύουν οι άνθρωποι. Ποιος νοιάζεται εάν είναι ασφαλείς;

Δεν υπάρχει απλή απάντηση σε πόση προστασία πρέπει να εφαρμοστεί. Υπάρχουν μόνο εικασίες. Περισσότερα είναι πάντα καλύτερα - έως ότου τα δεδομένα χαθούν ή το προϊόν δεν αποσταλεί.

Ηθικό δίλημμα Νο. 5: Να διορθώσετε σφάλματα ή να μην διορθώσετε σφάλματα;

Είναι αρκετά δύσκολο να διαπραγματευτούμε τα ηθικά κοπάδια όταν περιλαμβάνουν ενεργές αποφάσεις, αλλά είναι ακόμη πιο δύσκολο όταν το πρόβλημα μπορεί να παραμεριστεί και να χαρακτηριστεί ένα σφάλμα που θα επιλυθεί τελικά. Πόσο σκληρά πρέπει να εργαστούμε για να διορθώσουμε τα προβλήματα που κατά κάποιο τρόπο γλίστρησαν στον κώδικα εκτέλεσης; Τα αφήνουμε τα πάντα; Πώς αποφασίζουμε εάν ένα σφάλμα είναι αρκετά σοβαρό για να διορθωθεί;

Ο Ισαάκ Ασίμοφ αντιμετώπισε αυτό το ζήτημα πριν από πολύ καιρό όταν έγραψε τους νόμους της ρομποτικής και εισήγαγε έναν που απαγόρευε σε ένα ρομπότ να μην κάνει τίποτα εάν ένας άνθρωπος θα βλάπτεται μέσω της αδράνειας του ρομπότ. Φυσικά τα ρομπότ του είχαν ποζιτρονικούς εγκεφάλους που μπορούσαν να δουν όλες τις πτυχές ενός προβλήματος αμέσως και να τις λύσουν. Οι ερωτήσεις για προγραμματιστές είναι τόσο περίπλοκες που πολλά σφάλματα αγνοούνται και δεν επιδιορθώνονται επειδή κανείς δεν θέλει καν να το σκεφτεί.

Μπορεί μια εταιρεία να δώσει προτεραιότητα στη λίστα δίκαια; Είναι μερικοί πελάτες πιο σημαντικοί από άλλους; Μπορεί ένας προγραμματιστής να παίξει αγαπημένα επιλέγοντας ένα σφάλμα πάνω από ένα άλλο; Αυτό είναι ακόμη πιο δύσκολο να το σκεφτούμε όταν συνειδητοποιήσεις ότι είναι δύσκολο να προβλέψεις πόση ζημιά θα προκύψει από οποιοδήποτε δεδομένο σφάλμα.

Ηθικό δίλημμα Νο. 6: Πόσο να κωδικοποιήσετε - ή να συμβιβαστείτε - για να αποφύγετε την κατάχρηση

Η αρχική κάμερα Web της Apple συνοδεύτηκε από ένα έξυπνο μηχανικό έξτρα, ένα φυσικό κλείστρο που μπλοκάρει τον φακό όταν ήταν κλειστός. Το κλείστρο και ο διακόπτης συνδέθηκαν μεταξύ τους. δεν υπήρχε τρόπος να χρησιμοποιήσετε τη φωτογραφική μηχανή χωρίς να ανοίξετε μόνοι σας το κλείστρο.

Μερικές από τις νεότερες κάμερες διαθέτουν LED που υποτίθεται ότι ανάβει όταν είναι ενεργοποιημένη η κάμερα. Λειτουργεί συνήθως, αλλά όποιος έχει προγραμματίσει έναν υπολογιστή γνωρίζει ότι μπορεί να υπάρχει μια θέση στον κώδικα όπου η κάμερα και το LED μπορούν να αποσυνδεθούν. Εάν μπορεί να βρεθεί, η κάμερα μπορεί να μετατραπεί σε κατασκοπευτική συσκευή.

Η πρόκληση για τον μηχανικό είναι η πρόβλεψη κακής χρήσης και ο σχεδιασμός για την πρόληψή της. Το κλείστρο της Apple είναι ένα από τα προφανή και αποτελεσματικά παραδείγματα για το πώς μπορεί να γίνει κομψά. Όταν δούλευα σε ένα βιβλίο σχετικά με την εξαπάτηση του SAT, συνάντησα έναν χάκερ που πρόσθεσε λογισμικό δικτύωσης στην αριθμομηχανή του. Μετά από κάποια συζήτηση, αποφάσισε να υποστηρίξει μόνο ενσύρματα πρωτόκολλα επειδή φοβόταν ότι τα παιδιά θα έκαναν μια αριθμομηχανή με Wi-Fi σε μια εξέταση. Υποστηρίζοντας μόνο ενσύρματα πρωτόκολλα, εξασφάλισε ότι οποιοσδήποτε σε μια δοκιμή θα χρειαστεί να τρέξει ένα καλώδιο στο μηχάνημα του γείτονά του. Μισούσε να παραλείψει τα ασύρματα πρωτόκολλα, αλλά ένιωθε ότι ο κίνδυνος κατάχρησης ήταν πολύ υψηλός.

Ηθικό δίλημμα Νο. 7: Πόσο μακριά μπορείτε να υπερασπιστείτε τους πελάτες έναντι αιτημάτων δεδομένων

Εάν συλλέξετε δεδομένα, είναι ασφαλές στοίχημα ότι ο οργανισμός σας θα παγιδευτεί κάποια μέρα μεταξύ της εξυπηρέτησης των πελατών σας και της εξυπηρέτησης της κυβέρνησης. Τα αιτήματα για την παράδοση δεδομένων σε νομικά πρόσωπα γίνονται όλο και πιο συνηθισμένα, αφήνοντας όλο και περισσότερους οργανισμούς λογισμικού και υπηρεσιών να μελετήσουν σε ποιο βαθμό θα προδώσουν το απόρρητο των πελατών τους ενώπιον του νόμου. Μπορείτε να ελέγξετε αυτά τα αιτήματα και ακόμη και να προσλάβετε τους δικούς σας δικηγόρους για να αμφισβητήσετε εάν είναι πραγματικά νόμιμοι, αλλά η πραγματικότητα είναι ότι τα δικαστήρια θα συζητούν νομιμότητα πολύ μετά τη λήξη της χρηματοδότησής σας.

Δεν υπάρχουν εύκολες λύσεις. Ορισμένες εταιρείες επιλέγουν να εγκαταλείψουν την επιχείρηση αντί να ψεύδουν στους πελάτες τους. Άλλοι προσπαθούν να είναι πιο ανοιχτοί στα αιτήματα, τα οποία η κυβέρνηση προσπαθεί συχνά να απαγορεύσει.

Ηθικό δίλημμα Νο. 8: Πώς να αντιμετωπίσουμε τη διεθνή φύση του Διαδικτύου

Το Διαδίκτυο τρέχει παντού, αποφεύγοντας πολλά από τα παραδοσιακά εμπόδια στα σύνορα. Αυτό μπορεί να είναι μια συνταγή για νομικούς πονοκεφάλους όταν οι πελάτες Α και Β βρίσκονται σε διαφορετικές χώρες. Αυτή είναι μόνο η αρχή, επειδή οι διακομιστές C και D είναι συχνά και σε εντελώς διαφορετικές χώρες.

Αυτό οδηγεί σε προφανή ηθικά ζητήματα. Η Ευρώπη, για παράδειγμα, έχει αυστηρούς νόμους σχετικά με τη διατήρηση προσωπικών πληροφοριών και θεωρεί τις παραβιάσεις της ιδιωτικής ζωής ως ηθικές αποτυχίες. Άλλες χώρες επιμένουν στις εταιρείες να διατηρούν άφθονα αρχεία στις συναλλαγές. Ποιοι νόμοι πρέπει να ακολουθεί μια εταιρεία όταν οι πελάτες βρίσκονται σε διαφορετικές χώρες; Πότε τα δεδομένα βρίσκονται σε διαφορετικές κομητείες; Πότε τα δεδομένα μεταφέρονται σε διεθνείς γραμμές;

Η παρακολούθηση κάθε νομικής έκτακτης ανάγκης μπορεί να είναι Herculean, αφήνοντας πολλές οργανώσεις σίγουρα στον πειρασμό να θάβουν τα κεφάλια τους στην άμμο.

Ηθικό δίλημμα Νο. 9: Πόσα πρέπει να δώσετε πίσω στον ανοιχτό κώδικα

Όλοι γνωρίζουν ότι ο ανοιχτός κώδικας είναι δωρεάν. Δεν πληρώνετε τίποτα και αυτό το κάνει τόσο υπέροχο και περίπλοκο. Αλλά δεν μελετούν όλοι τα ηθικά ζητήματα που συνοδεύουν τη χρήση αυτού του δωρεάν κώδικα. Όλα τα πακέτα ανοιχτού κώδικα συνοδεύονται από άδειες και πρέπει να τα ακολουθήσετε.

Μερικές από τις άδειες δεν απαιτούν μεγάλη θυσία. Οι άδειες όπως η Άδεια Apache ή η Άδεια MIT απαιτούν αναγνώριση και αυτό ισχύει. Ωστόσο, άλλες άδειες, όπως η GNU General Public License, σας ζητούν να μοιραστείτε όλες τις βελτιώσεις σας.

Η ανάλυση των αδειών ανοιχτού κώδικα μπορεί να παρουσιάζει ηθικές προκλήσεις. Ένας διευθυντής από μια μεγάλη δημόσια εταιρεία μου είπε, "Δεν διανέμουμε τη MySQL, οπότε δεν οφείλουμε τίποτα σε κανέναν." Έπαιζε τη ρήτρα, που γράφτηκε πριν από δεκαετίες, που συνδέει τις υποχρεώσεις της άδειας με την πράξη ανακατανομής του λογισμικού. Η εταιρεία χρησιμοποίησε το MySQL για τις εφαρμογές Web, οπότε ένιωθε ότι θα μπορούσε να πάρει χωρίς να δώσει πίσω.

Δεν υπάρχουν απλοί τρόποι για τη μέτρηση των ηθικών υποχρεώσεων και πολλοί προγραμματιστές έχουν σπαταλήσει πολλές πληκτρολογήσεις υποστηρίζοντας τι εννοούν. Ωστόσο, ολόκληρη η προσπάθεια θα σταματήσει εάν οι άνθρωποι σταματήσουν να δίνουν. Τα καλά νέα είναι ότι είναι συχνά προς το συμφέρον όλων να συνεισφέρουν, επειδή όλοι θέλουν το λογισμικό να παραμείνει συμβατό με τη χρήση του.

Ηθικό δίλημμα Νο. 10: Πόση παρακολούθηση απαιτείται πραγματικά

Ίσως το αφεντικό σας θέλει να βεβαιωθεί ότι οι πελάτες δεν ξεφεύγουν από την εταιρεία. Ίσως θέλετε να βεβαιωθείτε ότι πληρώνεστε για την εργασία σας. Ίσως κάποιος τρομακτικός τύπος από την κυβέρνηση να λέει ότι πρέπει να εγκαταστήσετε μια πίσω πόρτα για να πιάσετε κακούς. Σε κάθε περίπτωση, το επιχείρημα είναι γεμάτο με διαβεβαιώσεις ότι το backdoor θα χρησιμοποιηθεί μόνο, όπως οι δυνάμεις του Superman, για την υποστήριξη της αλήθειας και της δικαιοσύνης. Δεν θα χρησιμοποιηθεί εναντίον πολιτικών εχθρών ή των λιγότερο τυχερών. Δεν θα πουληθεί σε δεσποτικά καθεστώτα.

Τι γίνεται όμως αν οι κακοί ανακαλύψουν την κρυφή πόρτα και καταλάβουν πώς να το χρησιμοποιήσουν οι ίδιοι; Τι γίνεται αν η πίσω πόρτα σας χρησιμοποιείται για την υποστήριξη αναληθειών και αδικιών; Ο κωδικός σας δεν μπορεί να λαμβάνει ηθικές αποφάσεις από μόνος του. Αυτή είναι η δουλειά σου.

Ηθικό δίλημμα 11: Πόσο αλεξίσφαιρο πρέπει να είναι ο κώδικας

Σίγουρα, ο ελάχιστος υπολογισμός, η απλή δομή δεδομένων και η προσέγγιση brute-force λειτουργεί καλά στο demo όταν τα προβλήματα είναι μικρά. Οι χρήστες δοκιμάζουν τον κωδικό και λένε, "Ωχ αυτό λειτουργεί γρήγορα." Αρκετούς μήνες αργότερα, όταν έχουν φορτωθεί αρκετά δεδομένα στο σύστημα, εμφανίζονται οι αδυναμίες του φθηνού αλγορίθμου και ο κώδικας επιβραδύνει την ανίχνευση.