В середине ноября программист Билл Сауэрауэр невольно стал героем масштабного флешмоба. Его проникновенный пост в блоге заставил коллег по цеху вспомнить, что они косвенно причастны к катастрофам и гибели невинных людей. «Лента.ру» выяснила, почему доля вины за многие трагедии и скандалы лежит на программистах.
«Код, за который мне стыдно»
Канадец Билл Сауэрауэр научился программировать в шесть лет. В 15 он уже помогал отцу создавать сайты и приложения, в 18 оплатил учебу гонорарами за софт для двух онлайн-магазинов, а в 21 устроился работать в крупное рекламное агентство. Его начальник, бывший доктор, занимался созданием медицинских сайтов.
В Канаде множество запретов на рекламу лекарств, так что фармацевтическим гигантам приходится размещать в сети лишь общую информацию о препаратах. Чтобы прочитать о них подробнее, пользователям нужно зарегистрироваться на медицинских порталах и указать номер рецепта.
Однажды Сауэрауэру поручили написать веб-страницу с информацией об очередном антидепрессанте. Судя по присланному клиентом техническому заданию, производитель в первую очередь ориентировался на девушек-подростков. Заказчик попросил сделать краткий тест на то, подходит ли лекарство конкретному пациенту. Заказ был выполнен. Программиста поначалу не смутило, что по итогам теста 99 процентам пользователей рекомендовалось немедленно начать прием препарата.
Тест понравился, клиент в знак благодарности позвал Сауэрауэра на ужин в дорогой стейк-хаус, начальство выплатило премию. Но через пару дней коллега прислала программисту ссылку на новость о самоубийстве девушки, принимавшей тот самый препарат. Оказывается, он вызывает сильнейшую депрессию и провоцирует суицидальные мысли. Более того, Сауэрауэр спустя некоторое время лишь чудом спас свою младшую сестру, которой выписали то же самое лекарство.
В результате канадец уволился, но тот медицинский тест не дает ему покоя и по сей день. Теперь Сауэрауэр смотрит не только на техническое задание, но и на безопасность конечного продукта. «Помните: часто лишь разработчики способны защитить людей от жестокости и беззакония. И чем больше технологии проникают в нашу жизнь, тем важнее нам следить за этичностью наших кодов», — призывает он в своем блоге.
Кругом обман
Признание Сауэрауэра быстро стало вирусным на форумах Reddit и Hacker News. Сотни программистов организовали флешмоб и покаялись в своих грехах.
Один из них рассказал, что ради продвижения по службе отправлял уведомления отписавшимся от рассылки пользователям, а затем сделал скрипт для охвата еще большего числа людей. Другой разрабатывал программу для раций и не стал оспаривать приказ начальства задействовать частоты экстренных служб, хотя это могло помешать работе полицейских и пожарных.
Еще один украл код с сайта конкурентов, чтобы на его основе начальство показало инвесторам «новый революционный проект». Некоторым приходилось подделывать финансовые отчеты, заражать файлы на обменниках вирусами и рекламировать подросткам онлайн-казино, замаскировав его под безобидную игру.
Все участники флешмоба прекрасно знали, что обманывают людей, но это их не останавливало. Ведь, как отмечает автор самого популярного в обсуждении поста, если бы он отказался, боссы просто бы нашли кого-то другого.
Дядя Боб и его этика
Сам Сауэрауэр говорит, что никогда не признался бы в содеянном, если бы не сходил на выступление легендарного программиста Роберта Мартина, известного под ником Дядя Боб. Когда-то он считался одним из лучших разработчиков софта в мире, но сегодня уделяет куда больше времени философии и футурологии.
Мартин уверен, что программисты несут ответственность за свои продукты и последствия их работы. «Цивилизация зависит от нас, просто пока этого не понимает», — утверждает он в одной из своих многочисленных книг, призывая установить некие этические нормы для разработчиков.
Дядя Боб напоминает, что в 2010 году ошибка управления педалью газа в автомобилях Toyota привела к гибели 89 человек, а годом ранее отказ компьютерной сети в нескольких американских аэропортах вызвал крушение трех авиалайнеров.
«Мы действительно убиваем людей. И с каждым годом ситуация все хуже», — констатирует Мартин. Обычно трагедию просто нельзя предотвратить, еще чаще виноват человеческий фактор, а не компьютерная программа. Но иногда разработчики осознанно нарушают закон и идут наперекор моральным принципам.
Так было со знаменитым «Дизельгейтом». Когда Volkswagen впервые обвинили в фальсификации данных по выбросам автомобилями оксидов азота, американский глава автоконцерна Майкл Хорн обвинил во всем программистов. На слушаниях в Конгрессе он утверждал, что те подделывали результаты тестов «просто потому, что им так захотелось».
Позже Хорн признался, что занизить показатели выбросов велело руководство компании. Но Мартин считает, что это не снимает вины с разработчиков. «Они же написали код программы, и ее конечной целью был обман, так что они все знали заранее. И когда-нибудь такие же ребята не загрязнят Землю, а убьют тысячи людей», — отмечает он.
По мнению Дяди Боба, в этом и состоит основная проблема программистов. Современный мир все больше зависит от технологий, которыми управляют их создатели, и как только случайная ошибка или простое нежелание перечить руководству приведет к масштабной трагедии, общество обвинит во всем именно их. «Вам быстро укажут, что делать, как работать и на каком языке писать программы. Так что очертите границы или это сделают за вас», — призывает Мартин.
Примечательно, что в большинстве западных университетов будущие программисты обязательно изучают труды исследователя Сары Баасс, еще в начале 2000-х описавшей опасность бесконтрольного развития технологий в книге «Дар огня». Однако многие учатся кодить самостоятельно и редко уделяют внимание этике. Такие люди используют свои знания для обогащения и становятся хакерами, которые зачастую придерживаются идеологии криптоанархизма и не заботятся о благополучии обычных граждан.
Но часто о последствиях не думают и сами компании, выпускающие на рынок сырые продукты с обилием уязвимостей. Это уже привело к серии DDoS-атак с использованием устройств «интернета вещей» и возникновению критической ошибки в полутора миллиардах смартфонов на OC Android.
Мартин полагает, что решить эту проблему можно, только создав единую организацию, которая объединит всех программистов в мире. «Это как интернет. Он глобален, но им управляют все сразу. Звучит утопично, но это лучше, чем стать жертвой очередного криво написанного софта», — подытожил он.