Игрушка для Debian показывает флаг Украины только при русской локали

Одна строчка на C в xsnow: если язык — «ru», поднять шанс появления украинского флага до 30%. Мейнтейнер он же автор проекта, поэтому жалоба в рассылку Debian уперлась в вопрос о скрытом поведении, зависящем от локали.

Вкратце

Мейнтейнер скринсейвера xsnow добавил код, который показывает украинский флаг с вероятностью 30% пользователям с русской локалью против 2% у остальных. Жалоба о дискриминации промахнулась: DFSG регулирует лицензии, а не поведение.

Расс Оллбери назвал настоящую проблему: софт, который тайно меняет поведение по локали. Разворот от разработчика Debian: флаг и раньше появлялся случайно, патч лишь изменил шансы.

Тридцать строк на C, которые показывают украинский флаг только русским локалям

игрушка xsnow: снег и деревья на рабочем столе
игрушка xsnow: снег и деревья на рабочем столе

xsnow — десятилетиями существующая настольная игрушка, которая сыплет снег и рисует деревья на экране. LWN разобрал изменение, которое мейнтейнер Willem Vermin внес в scenery.c. Vermin одновременно и упаковщик в Debian, и автор проекта. Когда язык пользователя выставлен на русский, графика с украинским флагом под меткой EXTRATREE появляется с вероятностью 30% против 2% у всех остальных.

if (global.Language && !strcmp(global.Language,"ru") && drand48() < 0.3)
   tt = MAXTREETYPE;

14 июня 2026 года жалобщик по имени Alexander Ivanov вынес это в рассылку разработки Debian, заявив, что нарушены пункты 5 и 6 DFSG (Debian Free Software Guidelines), которые запрещают дискриминацию людей, групп или областей деятельности. Его прочтение быстро поправили: DFSG регулирует лицензии, а не поведение во время работы, и с лицензией xsnow все в порядке. Расс Оллбери согласился, что DFSG тут тупик, но поднял настоящий вопрос: хочет ли Debian у себя софт, поведение которого тайно меняется в зависимости от локали.

«Софт, который ведет себя обманным образом, включая скрытые изменения поведения на основе имен пользователей, локалей или других локальных настроек... вероятно, не то, что мы хотим видеть в Debian. Это очень скользкая дорожка». — Расс Оллбери, цитата из статьи

На момент публикации формального баг-репорта заведено не было, поэтому ничего и не произошло: жалобы в рассылке не двигают Debian, двигают формальные баги.

Тред: флаг был всегда, изменились только шансы

Факт, который переворачивает любую встревоженную реакцию, пришел от разработчика Debian: xsnow и раньше показывал эти флаги случайно, а патч лишь повысил вероятность.

«Если вы там, где показ украинского флага может стоить вам пули, то 1) запускать xsnow было небезопасно и раньше, и 2) что гораздо важнее, я искренне надеюсь, что вам удастся выбраться из вашей ситуации». — Josh Triplett, разработчик Debian

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

«Когда вы маскируете флаг в коде под "EXTRATREE", для меня это сигнал, что вы пытаетесь протащить сюрприз так, чтобы я не заметил». — комментатор, возражающий против навязанной ему позиции

Самый цитируемый комментарий в треде описал реальные ставки на местах: в России украинский флаг на рабочем мониторе «может обернуться для вас серьезными проблемами (потерей работы или хуже)», вынесенный на верхний уровень читателем, которого это возмутило. Другие сочли всю панику раздутой: xsnow — игрушечный скринсейвер под Xorg, который почти никто не ставит.

Повторяющийся тест, к которому приходил тред, — подстановка: откатили бы мгновенно палестинский флаг для локалей на иврите или ЛГБТ-флаг для персидских? Ответ решает, протест это или прецедент. Один дистрибутив не стал ждать разрешения спора: Slackware-current взял июньское обновление, но применил патч от ALT Linux, вырезающий protestware.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 9 из 26 Читать дальше
🌍Other

Суверенный цифровой ID Европы просит у Google разрешения доверять вашему телефону

Кошелёк ЕС спрашивает у Google Play Integrity, настоящий ли ваш телефон. Устройство на GrapheneOS или e/OS проваливает проверку не потому, что небезопасно, а потому, что оно не от Google — и Швейцария уже показала, что можно иначе.

★ 679 · 💬 289 · waag.org · 4 мин