Инженер-программист Дилан Тейлор (Dylan M. Taylor) добавил в systemd необязательное поле даты рождения – и оказался в центре одного из самых ожесточённых конфликтов в Linux-сообществе за последнее время. Изменение задумывалось как лёгкий механизм соответствия новым законам штатов США о возрастной верификации, но критики увидели в нём угрозу фундаментальным принципам свободного ПО. В ответ на код посыпались угрозы, доксинг (поиск и обнародование персональной информации о человеке без его согласия) и волна ненависти. Редакция издания It's FOSS связалась с Тейлором, чтобы узнать его версию событий.
Что именно изменилось в systemd
Тейлор добавил необязательное поле birthDate в пользовательскую базу данных systemd (userdb). Поле хранится локально, принимает любое значение – вплоть до 1 января 1900 года – и не предполагает проверки документов, распознавания лиц или обращения к сторонним сервисам верификации.
В своём блоге Тейлор подчеркнул: речь идёт о самодекларировании, а не о проверке личности:
Распространённое заблуждение – будто это изменение добавляет в Linux «возрастную верификацию». Это не так. Ни один из моих pull request не включает проверку документов, распознавание лиц или сторонние сервисы верификации. Можно ввести любое значение, включая 1 января 1900 года.
userdb – подсистема systemd для хранения расширенных данных о пользователях. В отличие от классических файлов /etc/passwd и /etc/shadow, userdb поддерживает произвольные поля (местоположение, аватар, язык) и может получать записи из разных источников: локальных файлов, LDAP, домашних каталогов systemd-homed.
Аргументы против слежки
На вопрос, не станет ли поле первым шагом к слежке на уровне ОС, Тейлор ответил, что в большинстве случаев передаваемый сигнал будет сводиться к «да, пользователю 18+» – и практической ценности для слежки не несёт.
Более того, Тейлор привёл контраргумент из области приватности. Если большинство пользователей передают стандартный сигнал, а единицы – нет, то отсутствие сигнала само по себе делает человека более отслеживаемым. Аналогичный принцип использует Tor Browser: все пользователи выглядят одинаково, чтобы ни один не выделялся.
Тейлор также напомнил, что поле location уже существует в userdb – оно тоже хранится локально, может быть пустым и содержать произвольное значение. При этом куки браузера, хранящиеся без шифрования на большинстве компьютеров, представляют куда более серьёзную угрозу приватности.
Почему реальная верификация на Linux практически невозможна
На вопрос о границе между соответствием законам и сопротивлением им Тейлор описал, что потребовалось бы для настоящей проверки личности в FOSS-системе: контроль загрузки на уровне прошивки, принудительная проверка подписей, лишение пользователя прав root и блокировка LD_PRELOAD, чтобы сигналы нельзя было подделать. И даже этого, по его словам, было бы недостаточно.
Сейчас же речь идёт о механизме, сопоставимом с выбором даты рождения при регистрации на интернет-сервисах начала 2000-х – чистая система доверия.
Раскол между корпоративными и независимыми дистрибутивами
Тейлор считает, что FOSS-проекты в ряде случаев вынуждены подстраиваться под законодательство – как минимум те, за которыми стоят компании. Если Linux-сообщество будет игнорировать регулирование целиком, компании перестанут вкладываться в платформу, а Linux будет поставляться на меньшем количестве устройств. Тейлор упомянул Valve и System76 – обе компании публично критикуют эти законы, но не могут их игнорировать.
Прогноз Тейлора: в ближайшие 5—10 лет вероятен раскол на дистрибутивы, соответствующие законодательству (корпоративные), и дистрибутивы, ставящие свободу на первое место (независимые – такие как Artix или Devuan). Linux Mint, базирующийся в Ирландии, находится вне юрисдикции этих законов, и решение остаётся за его мейнтейнерами.
Для установщика Calamares Тейлор предложил добавить выбор даты рождения с флагом включения и отключения на этапе сборки. По умолчанию функция будет выключена. Корпоративные дистрибутивы смогут активировать её при необходимости, а независимые – оставить отключённой без необходимости форка.
Calamares – универсальный фреймворк установщика, который используют десятки дистрибутивов Linux (Manjaro, Lubuntu, EndeavourOS и другие). Модульная архитектура позволяет каждому дистрибутиву настраивать шаги установки под свои нужды.
Масштаб травли
Тейлор ожидал критику, но рассчитывал на цивилизованную дискуссию. Вместо этого он столкнулся с угрозами расправы, доксингом (публикацией номера социального страхования, телефона, домашнего адреса на pastebins и анонимных имиджбордах) и издевательствами над его внешностью.
Злоумышленники заказывали еду на его данные, заставляя рестораны выбрасывать готовые блюда. К его дому отправляли мормонских миссионеров, которые добирались за свой счёт. На всех его GitHub-репозиториях пришлось отключить вкладки Issues и Pull Requests – травля шла и там.
При этом коллеги по сообществу поддержали Тейлора: мейнтейнеры проектов Arch Linux и Universal Blue/Bazzite связались с ним, чтобы убедиться, что с ним всё в порядке.
Намерения на будущее
Несмотря на произошедшее, Тейлор заявил, что намерен продолжать участие в разработке свободного ПО. По его оценке, агрессоры – малочисленная, но громкая часть FOSS-сообщества. Тейлор попросил прекратить персональные атаки, назвав их «детскими и неконструктивными».
