Skillbox
430

“Рабы” Python и права андроидов: как политкорректность влияет на IT-индустрию

Времена, когда скандальные игры вроде Postal и Manhunt становились хитами, остались в прошлом. В 2020 уже нельзя строить нарративы вокруг насилия, чрезмерной жестокости, расизма и шовинизма. Политкорректность коснулась не только сценариев, но и кода. Теперь разработчики избегают таких понятий, как “черный список”, “мастер” и “раб”. Разбираем другие примеры влияния политики на IT-индустрию.

В закладки

Кодеры против рабства

В сентябре 2018 года американский разработчик Виктор Стиннер отправил запрос на изменение терминов кода Python. Программист предложил убрать слова master (“хозяин”) и slave (“раб”), а вместо них использовать parent (“родитель”) и child (“дитя”). По его словам, “хозяин” и “раб” задевают чувства кодеров, предки которых находились в рабстве.

Предложение Стиннера вызвало споры в комьюнити, но в итоге идею разработчика одобрили. Термин slaves заменили на workers (“рабочие”) и helpers (“помощники”), а словосочетание master process превратилось в parent process.

При этом термины webmaster и postmaster остались без изменений. Метод .slave(), который отправляет команду SLAVE на NNTP-сервер, тоже сохранили, чтобы не переписывать протокол отправки.

Кроме того:

  • master process заменили на parent process;
  • master option mappings заменили на main option mappings;
  • childs заменили на children;
  • в SSL master заменили на server;
  • master pattern object заменили на main pattern object;
  • pliant children заменили на helpers.

Интересно, что проблему “хозяев” и “рабов” затрагивали и раньше. В 2003 году сотрудник службы пробации Лос-Анджелеса обвинил производителей электроники в дискриминации из-за использования слов master и slave в интерфейсе видеомагнитофона. К его жалобе прислушались, а производителям запретили использовать такие маркировки в США.

Master и slave в программировании прежде тоже пытались вычищать. В 2014 году компания Drupal заменила эти термины на primary (“основа”) и replica (“копия”). Затем Django заменила слова на leader (“лидер”) и follower (“последователь”).

Многие программисты к этой тенденции отнеслись скептически. Так, Python-разработчик Ларри Гастингс посоветовал поискать в CPython master совпадения по слову kill. “Все знают, что убивать плохо, и использование этого термина может расстроить некоторых людей. Но я бы все-таки не стал убирать слово kill из Python”, – заметил Гастингс.

В тот же период сотрудники Google выпустили внутренний документ с описанием новой политики “уважительного кодинга”. Менеджеры предложили отказаться от слов master и slave, но указали и другие термины – например, whitelist и blacklist. Авторы документа отметили, что такие названия присваивают черному негативные коннотации.

Вопрос с правками в коде пока не решен. Ситуация напоминает изменения в редакционной политике, которые регулярно вводят крупные медиа. Однако начать использовать одно слово вместо другого в тексте проще. В случае с кодом возникает путаница, которая может влиять на эффективность разработчиков и результат их труда.

​Термины из программирования

Так, замена master и slave на parent и child не равнозначна. В первом случае термины отражают систему управления и подчинения – master контролирует, а slave находится под контролем. “Родитель” и “дитя” устроены по принципу матрешки, то есть один объект (child) вложен в другой (parent) и наследует его свойства.

Игровая цензура

Другой прецедент установил сервис Steam, принадлежащий Valve. Осенью 2018 Valve объявила, что вводит Adult Policy. Новая политика позволила публиковать игры со сценами насилия, наготы и секса. Разрешено все, что не запрещено. А суть запрещенного контента Valve описала коротко – нельзя размещать игры, которые нарушают закон или занимаются “откровенным троллингом”.

Компания также ввела два фильтра для пользователей. Первый – Adult Only – отсеивает игры с откровенными сексуальными сценами, а второй – Mature Content – фильтрует игры с любым контентом для взрослых, в том числе со сценами секса и насилия.

Большинство пользователей одобрило нововведения, а на платформе начали массово размещать игры с порнографическим содержанием.

Но либеральная политика Steam все-таки дала сбой. В начале 2019 года платформа анонсировала размещение игры Rape Day, сценарий которой построен вокруг насилия над женщинами в условиях зомби-апокалипсиса. За одобрение такого контента сервис жестко раскритиковали. В результате Steam все-таки передумала выкладывать игру на платформе.

В то же время недавно стало известно, что Steam затягивает процесс размещения игр Liberate Hong Kong и Karma, в которых отражены протесты в Гонконге. Предполагается, что платформа намеренно тянет с рассмотрением, поскольку не хочет конфликтовать с китайскими властями.

При этом интересно, что студии игр и платформы из года в год пытаются дистанцироваться от политики, но оставаться полностью аполитичными им не удается. Некоторые аналитики усматривают в этом проблему и считают, что за аполитичностью скрывается глубинный консерватизм индустрии видеоигр.

Впрочем, стандарты общества меняются и студиям все чаще приходится отвечать за свои решения. Достаточно взглянуть на список игр в Wikipedia, которые вызывали скандалы и споры в СМИ. В 80-е таких случаев были единицы, в 90-е уже больше, а с начала 2000-х скандалов с каждым годом становилось все больше. И в первую очередь это касается игр AAA-класса.

Список обвинений

В чем обвиняют студии? Часто в расизме. Например, чешская Warhorse выпустила игру Kingdom Come: Deliverance, в которой отсутствуют темнокожие персонажи. Действие игры разворачивается в Богемии XIV века, где в тот период темнокожее население отсутствовало в принципе.

В то же время в игре Battlefield 1 о Первой мировой войне есть персонажи негроидной расы, причем среди всех фракций, что не соответствует историческим реалиям.

В этом случае обсуждать стоит не столько проблему расизма, сколько значимость исторического правдоподобия в играх. В каких случаях важно строго следовать фактам, а в каких можно пренебречь историческими реалиями? Гейм-дизайнерам важно решить, что важнее – точное воспроизведение реальных событий в игре или репрезентация разных групп среди персонажей.

В попытке быть политкорректными создатели игр часто перегибают палку. Например, в чате игры Battlefield V нельзя использовать сочетание white man – система считывает это как оскорбление и заменяет его звездочками. В то же время использовать black man или Asian man можно без ограничений. Также чат затирает упоминания нацистов и евреев, хотя действие шутера разворачивается в период Второй мировой войны.

Бывают и более парадоксальные случаи. Например, создателей Far Cry 4 обвинили в расизме: людям показалось, что на постере игры показано унижение темнокожего персонажа белым. Но оказалось, что оба героя на постере – азиаты.

Нашумевшую Detroit: Become Human обвинили в неуважении к правам роботов, а также в эксплуатации темы насилия над несовершеннолетними.

Обычно студии стараются отвечать критикам, а иногда даже вносят коррективы. Например, геймеры были недовольны количеством гомосексуальных персонажей в Mass Effect: Andromeda – они не могли выстраивать отношения в игре и получать за это бонусы. Создатели пошли навстречу и добавили бисексуального героя.

Критика не всегда сказывается на популярности. Например, игру Witcher III раскритиковали из-за использования гендерных оскорблений, таких как "cunt" или "pussy", адресованных женщинам. Тогда как персонажей-мужчин в игре оскорбляют невинным словом freak. Несмотря на это, “Ведьмак” пользовался успехом.

Но неполиткорректные решения разработчиков все чаще обращают на себя внимание – достаточно вспомнить Геймергейт, который повлиял как на игровую индустрию, так и на законодательство.

Ясно одно – игры, наполненные насилием, жестокостью и шовинизмом, все еще существуют и, вероятно, продолжать существовать. Но таким продуктам все сложнее запускаться на крупных платформах и выходить на массовую аудиторию. Так что в ближайшие 10 лет мы вряд ли застанем появление новой Postal, Carmageddon или Manhunt.

Разработчикам и гейм-дизайнером стоит учитывать контекст и реагировать на тенденции в обществе. От этого зависит не только репутация студии, но и коммерческий успех продукта.

{ "author_name": "Skillbox", "author_type": "editor", "tags": [], "comments": 0, "likes": 8, "favorites": 6, "is_advertisement": false, "subsite_label": "skillbox", "id": 105739, "is_wide": false, "is_ugc": false, "date": "Fri, 07 Feb 2020 13:33:56 +0300", "is_special": false }
0
{ "id": 105739, "author_id": 245876, "diff_limit": 1000, "urls": {"diff":"\/comments\/105739\/get","add":"\/comments\/105739\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/105739"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 245876, "last_count_and_date": null }
Комментариев нет
Популярные
По порядку
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9qZWN0SWQiOiI1ZTRmZjUxODYyOGE2YzcxNDUxNWY0ZGEiLCJpYXQiOjE1ODI1MzY0NDB9.AwBBnUWMy3RR1xtAoaXVr81WvqxdlD4C8CBpwFiONzw", "release": "abd3605d" } { "page_type": "default" }