Преступление и наказание в ИТ
Почему у многих серьёзных профессий есть своя, специфическая ответственность. Там пособничество всякое или злоупотребление служебным положением, разглашение чего не надо другим знать. Шаг сделал в сторону — расстрел. На каждую провинность — своя статья в УК. А программист пока стоит особняком, под первоапрельского дурачка косит — типа «это все проблемы на стороне государства железа». Кодит что хотит, в тиши своей берлоги создает прототипы ему одной известной криптоанархической хрени. Кто просчитывает последствия, как пытается предотвратить? Почему ответственные органы разрешили-проморгали?
Э, нет. Так просто, господа айтишники, соскочить не получиться. Будущее мира в наших руках, это я вам как упоротый солюционист говорю. Поэтому за принятие неправильных архитектурных решений, за от балды выбранные алгоритмические подходы, за каждый блудливый goto — придется ответить соплями кровью.
И чтобы мозги ваши сильно не грузить — сразу к факторологии. Видели ли вы как 0 делится на 0? Видели ли вы, как красиво горит гигантский авианосец? Знакомы ли вам эти характерные ощущения холодка по спине, когда ваш баг находят в системе, которая несет на борту ядерное оружие?
Читайте и более не грешите.
1. Деление на ноль
Ниже цитата взята отсюда:
Ночью 21 сентября 1997 года, в результате деления на ноль в компьютеризированной управляющей системе авианосца USS Yorktown (CG-48) Военно-морского флота США произошло отключение всех машин в системе, в результате чего двигательная установка корабля прекратила свою работу и корабль несколько часов оставался без контроля, результатом чего стал взрыв.
Ниже документальные свидетельства непосредственного результата деления на ноль (in progress):
2. Машины-убийцы
Ещё два более современных примера-ссылки:
Далее выцедил интересный комментарий из последнего про то, что не стоит уж слишком полагаться на обработчик ошибок как на панацею от всех непредвиденных проблем:
Вспоминается история, рассказанная на производстве коллегой. На его прошлой работе как-то купили отличный пресс для кузнечного участка. Тонн то ли 50 то ли 100 (это усилие, которое он развивает, а не его вес). Он был крут, и имел систему аварийной остановки: когда в рабочую зону попадали руки работника, он останавливался. Через некоторое время кузнец (его оператор) начал всем демонстрировать весьма эффектное представление — махина несколько метров в высоту опускается на деталь, он туда засовывает руки и махина со скрежетом тормозит в паре сантиметров от ладоней.
А через месяцы и сотни демонстраций случилось что, что на ролике — махина не остановилась и от его рук осталась «пленка»…
Так вот. Аварийные системы НЕЛЬЗЯ использовать как штатные. В случае аварии система на вольво попробует помочь, и вероятно у неё получится, а может и нет —, но выхода то всяко не было. А что происходит на демонстрациях, когда её пытаются применить не в боевых условиях, а продемонстрировать нечто — вы видели. Но эту идею вдолбить в головы покупателей, которых старательно превращают в дебилов той же рекламой, внедрить будет крайне сложно…
Эпоха всеобщего кода только начинается. Точка.
Сложность и глобальность ИТ-систем будет нарастать экспоненциально. Обыватель выполняет пассивную роль потребителя-пассажира, а вот рулить прогрессом, беря на свои плечи всю глубину ответственности, предстоит айтишникам.
RoboAir: https://t.co/V5i1ZqHidB. Первый в мире сервис аренды роботов-газонокосилок. pic.twitter.com/ptlksHhPSw
— Гиктаймс (@GeekTimes_ru) April 1, 2016
3. Делегирование ответственности и роботы повсеместно
Дружище, если ты пишешь код, нужно уже сегодня быть как-то поосторожней. Прежде чем работать на рынке ИТ будущего, тебе нужно reconsider yourself — переосмыслить себя. Необходимо осознание и ответственность сообразные тому, что ты делаешь. Как это водится, когда эндогенно это чувство ещё не сформировано, со стороны мироздания будет применен болезненный катализатор в виде нового законодательства.
По мере проникновения софта во все сферы жизни на Западе уже сейчас всерьёз обсуждают введение личной уголовной ответственности программистов за косвенные преступления и любые аномальные последствия действий автоматизированного оружия или любых других автономных систем с их кодом (ссылка 1, ссылка 2).
S. Korea Using Autonomous Killer Robots to Patrol DMZ (Videos) — https://t.co/cd91qTTmx0 pic.twitter.com/X2ffxWdv7K
— The Last Great Stand (@LastGreatStand) March 26, 2016
No plans for killer US military robots… yet https://t.co/yDELc3U9bj pic.twitter.com/OWeKhl7vlA
— Evan Kirstel (@evankirstel) April 1, 2016
Военные как всегда несколько опережают эпоху, но суть всего сказанного касается и гражданских. Где гарантия того, что твой очередной исследовательский проект на гитхабе не будет стоить человечеству его будущего?
The Rise of #KillerRobots: PredicTED by OZY https://t.co/ChCyHz0ano via @ozy
— Dommages civils (@Dommagescivils) March 23, 2016
Роботизированных механизмов типа роботов-пылесосов становится всё больше, автомашины вон и те собираются сделать полностью автономными —, а отвечать-то за эту роботехническую вакханалию кто будет, а? Вот эти серьёзные дяди подумали-и-порешали, что программистиков-то этих нужно срочно прижать к ногтю, «во избежание».
Политики так всегда делают: что бы не случилось — они ищут крайнего.
Так вот, скоро на Западе будут отдельные статьи. Айтишно-уголовные. Скобку не закрыл в нужном месте — статья такая-то, пункт такой-то. Будьте любезны «трешечку» отсидеть. Ещё не поздно соскочить с этого поезда. Подумай над этим сегодня вечером, когда придет время код коммитить. Эпоха лафы скоро закончится.