12 етични дилеми, които гризат разработчиците днес

Технологичният свят винаги е бил дългомощен и не е мислил за последствията от тази сила. Ако може да се изгради, винаги ще се намери някой, който да го изгради, без да обмисля по-безопасен и по-безопасен начин за това, да не говорим дали изобщо трябва да се изгражда технологията. Софтуерът се записва. На кого му пука къде и как се използва? Това е задача за някой в ​​някой ъглов офис.

По-обезпокоително: Въпреки че курсовете по етика се превърнаха в основна част от инженерните степени във физическия свят, те остават неприятна аномалия в педагогиката по компютърни науки. И все пак, тъй като софтуерът поема повече от живота ни, етичните последствия от решенията, взети от програмистите, стават само по-големи. Сега, когато нашият код е в хладилници, термостати, аларми за дим и други, грешните ходове, липсата на предвидливост или направо съмнителното вземане на решения могат да преследват човечеството навсякъде, където се стигне.

[Какво има и какво има в разработчика на приложения: 15 горещи програмни тенденции - и 15 студени. | Покажете колко наистина знаете за разработката, като проведете нашия тест за програмиране IQ, кръг 3 и нашия тест за езици за програмиране „Здравей, свят“. | Работете по-умно, не по-трудно - изтеглете Ръководството за оцеляване на разработчиците от за всички съвети и тенденции, които програмистите трябва да знаят. | Бъдете в крак с последните новини за разработчици с бюлетина на Developer World. ]

Това, което следва, са някои от етичните затруднения, с които се сблъскват разработчиците всеки ден - независимо дали го знаят или не. Няма лесни отговори, до известна степен, защото самата същност на работата е толкова абстрактна. За да се влошат нещата, бизнесът е станал толкова неразривно свързан с компютърните технологии, че е трудно да се балансират нуждите и мотивацията на всички инвестирани страни, опитвайки се да попречат на днешната функция за делови случаи да се превърне в утрешния Оруелов кошмар.

Номерът е да помислите над сегашния Zeitgeist и да предвидите всяко бъдещо използване на това, което изграждате. Доста просто, а? Помислете за това по-малко като пътеводител за вземане на решения и повече за отправна точка за вида етично съзерцание, което трябва да правим като ежедневна част от нашата работа.

Етична дилема №1: Регистрационни файлове - какво да запазите и как да боравите с тях

Програмистите са като глутни плъхове. Те водят записи за всичко, често защото това е единственият начин за отстраняване на грешки в системата. Но регистрационните файлове също проследяват всичко, което правят потребителите, и в грешните ръце те могат да изложат факти, които потребителите искат да се пазят в тайна.

Много фирми са изградени върху активна защита на регистрационните файлове. Някои услуги за дистанционно архивиране дори обещават да съхраняват допълнителни копия на различни географски местоположения. Не всеки бизнес се стреми към такова усърдие. Snapchat, например, изгради своята марка, като върши много лоша работа по архивиране на данни, но потребителите й са привлечени от свободата на забравителната система.

Самото съществуване на регистрационни файлове поражда няколко етични въпроса. Адекватно ли са защитени? Кой има достъп? Когато казваме, че унищожаваме файловете, наистина ли са унищожени?

Ключът е да се установи каква информация си струва да се пази, като се има предвид рисковете от това, етични или други. Тук бъдещето усложнява уравнението. През 60-те години тютюнопушенето беше широко възприето. Никой не би си помислил два пъти да следи навиците на хората да пушат. Днес обаче знанията за нечия пушеща дейност могат да се използват за повишаване на здравноосигурителните ставки или дори за отказ от покритие.

Бъдещи бизнес сделки; бъдещи правителствени разпоредби; непредвидена, отчаяна нужда от нови потоци от приходи - може да е невъзможно да се предвиди какъв на пръв поглед невинният регистрационен файл ще стане проблематичен в бъдеще, но е от съществено значение да се разгледа етиката на това как се справяте с дневниците по пътя.

Етична дилема №2: Дали и как да трансформираме потребителите в продукти

Това е изтъркана поговорка от стартовата ера: Ако не плащате за услуга, не сте клиент; вие сте продуктът.

В Интернет изобилстват „безплатни“ услуги. Всъщност въпросът откъде ще дойдат парите често се отлага, като се отлага. Ние просто изграждаме невероятността, следим метриките за приемане и смятаме, че някой друг ще се погрижи за мръсната работа по запазването на светлините на сървъра. В най-лошия случай винаги има реклами.

Разработчиците трябва да бъдат предварително за това кой ще подкрепи работата им и откъде ще дойдат парите. Всички промени трябва да се съобщават на потребителите по ясен и своевременен начин, за да се избегнат шок и обратен ефект. Превръщането на хората в продукти е етична промяна, която не трябва да се приема лекомислено. Сенчести рекламни сделки, сенчести рекламни мрежи - трябва да внимаваме как се справяме с имплицитното доверие на ранните осиновители.

Етична дилема No3: Колко безплатно наистина иска да бъде съдържанието?

Редица бизнеси зависят от обслужването на съдържание, без да плащат на тези, които го създават. Някои се обръщат и продават реклами или дори таксуват за достъп. Тези фирми често не можеха да оцелеят и не можеха да оценят материалите си толкова привлекателно, ако трябваше да поемат справедливия дял от разходите за разработка. Те разработват сложни обосновки относно „споделянето“ или „честната употреба“, за да прикрият етично нестабилно решение.

Разработчиците трябва да се запитат как техният код ще подкрепи всички в хранителната верига, от създателите до потребителите. Хората, създаващи съдържанието, искат ли работата им да се разпространява по този начин? Щастливи ли са да работят сами за експозиция или внимание? Дават ли им справедлив дял от приходите?

Неразглеждането на тези въпроси се свежда до затваряне на очите за пиратството. В крайна сметка не цялата информация просто „иска да бъде безплатна“.

Етична дилема No4: Колко защита е достатъчна

Някои казват, че всичко трябва да бъде двойно кодирано с два различни алгоритма и заключено в твърд диск, който се съхранява в сейф. Уви, режийните разходи забавят системата до пълзене и правят развитието 10 пъти по-обременително. За влошаване на нещата, ако един бит се обърне или една част от алгоритъма е грешна, данните се губят, тъй като криптирането не може да бъде отменено.

Други не искат да вдигнат пръст, за да защитят данните. Следващият екип може да добави специално криптиране по-късно, ако е необходимо, могат да кажат разработчиците. Или може да спорят, че в това няма нищо чувствително. Екипите, които пренебрегват тези отговорности, обикновено са в състояние да генерират много други кодове и да създадат купища прекрасни функции, които хората жадуват. На кого му пука дали са сигурни?

Няма лесен отговор колко защита да се приложи. Има само предположения. Повече е винаги по-добре - докато данните се загубят или продуктът не се достави.

Етична дилема №5: Да коригирате или не?

Достатъчно трудно е да се преговарят етичните плитчини, когато те включват активни решения, но още по-трудно е, когато проблемът може да бъде изместен и да бъде означен като грешка, която в крайна сметка ще бъде отстранена. Колко усилено трябва да работим, за да отстраним проблемите, които по някакъв начин са се вмъкнали в работещ код? Зарязваме ли всичко? Как да решим дали грешката е достатъчно сериозна, за да бъде отстранена? 

Исак Азимов се сблъска с този проблем много отдавна, когато написа своите закони за роботиката и вмъкна такъв, който забранява на робота да не прави нищо, ако човек може да бъде ощетен поради бездействието на робота. Разбира се, роботите му са имали позитронни мозъци, които са могли да видят моментално всички аспекти на проблема и да ги разрешат. Въпросите за разработчиците са толкова сложни, че много грешки остават игнорирани и нефиксирани, защото никой не иска дори да мисли за тях.

Може ли компания справедливо да приоритизира списъка? Някои клиенти по-важни ли са от други? Може ли програмист да играе любими, като избира една грешка пред друга? Това е още по-трудно за обмисляне, когато осъзнаете, че е трудно да се предвиди колко вреда ще дойде от дадена грешка.

Етична дилема № 6: Колко да се кодира - или да се направи компромис - за да се предотврати злоупотреба

Оригиналната камера на Apple Web се ​​предлага с умна механична екстра, физически затвор, който блокира обектива, когато е изключен. Затворът и превключвателят бяха свързани заедно; нямаше начин да използвате камерата, без да отваряте сами затвора.

Някои от по-новите уеб камери идват със светодиод, който трябва да свети, когато камерата е активирана. Обикновено работи, но всеки, който е програмирал компютър, знае, че в кода може да има място, където камерата и светодиодът могат да бъдат разединени. Ако това може да се намери, камерата може да се превърне в шпионско устройство.

Предизвикателството за инженера е да предвиди злоупотреба и да проектира за предотвратяване. Затворът на Apple е един от очевидните и ефективни примери за това как може да се направи елегантно. Когато работех над книга за измама на SAT, срещнах един хакер, който добавяше мрежов софтуер към своя калкулатор. След известно обсъждане той реши да поддържа само кабелни протоколи, защото се страхуваше, че децата ще промъкнат калкулатор с Wi-Fi в изпит. Поддържайки само кабелни протоколи, той гарантира, че всеки, който е в тест, ще трябва да прокара проводник към машината на съседа си. Мразеше да пропуска безжичните протоколи, но смяташе, че рискът от злоупотреба е твърде висок.

Етична дилема № 7: До каква степен да защитаваме клиентите срещу искания за данни

Ако събирате данни, сигурно е, че вашата организация някой ден ще бъде хваната между обслужването на клиентите и обслужването на правителството. Исканията за предоставяне на данни на юридически лица стават все по-чести, оставяйки все повече организации и софтуер и услуги да обмислят до каква степен ще издадат поверителността на своите клиенти пред закона. Можете да разгледате внимателно тези искания и дори да наемете свои собствени адвокати, за да оспорите дали те наистина са законни, но реалността е, че съдилищата ще обсъждат законността дълго след изчерпването на финансирането ви.

Няма лесни решения. Някои компании избират да напуснат бизнеса, вместо да лъжат клиентите си. Други се опитват да бъдат по-открити по отношение на исканията, които правителството често се опитва да забрани.

Етична дилема № 8: Как да се справим с международния характер на Интернет

Интернет работи навсякъде, избягвайки много от традиционните бариери по границите. Това може да бъде рецепта за правно главоболие, когато клиентите А и Б са в различни страни. Това е само началото, защото сървърите C и D често са и в напълно различни страни.

Това води до очевидни етични проблеми. Европа например има строги закони за запазване на лична информация и възприема нарушенията на поверителността като етични провали. Други страни настояват компаниите да водят обилна документация за сделките. Чии закони трябва да следва една компания, когато клиентите са в различни страни? Кога данните са в различни окръзи? Когато данните се прехвърлят по международни линии?

В крак с всяка законова непредвидимост може да бъде херкулесов, оставяйки много организации със сигурност да се изкушат да заровят главите си в пясъка.

Етична дилема № 9: Колко да върнете на отворен код

Всички знаят, че отвореният код е безплатен. Не плащате нищо и точно това го прави толкова прекрасен и сложен. Но не всеки обмисля етичните проблеми, които идват с използването на този безплатен код. Всички пакети с отворен код се доставят с лицензи и трябва да ги следвате.

Някои от лицензите не изискват много жертви. Лицензи като лиценз Apache или лиценз MIT изискват потвърждение и това е всичко. Но други лицензи, като GNU General Public License, ви молят да споделите всичките си подобрения.

Анализирането на лицензи с отворен код може да представлява етични предизвикателства. Един мениджър от голяма публична компания ми каза: "Ние не разпространяваме MySQL, така че не дължим на никого нищо." Той се спря на клаузата, написана преди десетилетия, която обвързва задълженията на лиценза с акта за преразпределение на софтуера. Компанията използва MySQL за своите уеб приложения, така че той смята, че може да отнеме, без да върне.

Няма прости начини за измерване на етичните задължения и много програмисти са пропилели много натискания на клавиши, спорейки за това какво означават. И все пак цялото начинание ще спре, ако хората спрат да дават. Добрата новина е, че често е в интерес на всички да допринесат, защото всеки иска софтуерът да остане съвместим с използването му.

Етична дилема № 10: Колко мониторинг е наистина оправдан

Може би вашият шеф иска да се увери, че клиентите не разкъсват компанията. Може би искате да сте сигурни, че ще получите заплата за работата си. Може би някой призрачен човек от правителството казва, че трябва да инсталирате задна врата, за да хванете лоши момчета. Във всеки случай аргументът е изпълнен с уверения, че задната вратичка ще се използва, подобно на силите на Супермен, само в подкрепа на истината и справедливостта. Няма да се използва срещу политически врагове или по-малко щастливи. Няма да се продава на деспотични режими.

Но какво, ако лошите открият скритата врата и сами измислят как да я използват? Какво ще стане, ако вашата задна врата се използва за подкрепа на неистини и несправедливости? Вашият код не може сам да взема етични решения. Това е вашата работа.

Етична дилема № 11: Колко действително трябва да бъде защитен от куршуми код

Разбира се, минималното изчисление, простата структура на данните и грубата сила работят добре в демонстрация, когато проблемите са малки. Потребителите изпробват кода и казват: "Боже, това работи бързо." Няколко месеца по-късно, когато в системата са заредени достатъчно данни, се появяват слабостите на евтиния алгоритъм и кодът се забавя до обхождане.