Debian 中的 Xsnow "抗议软件"

Hacker News Top 新闻

摘要

Debian软件包xsnow包含一个政治彩蛋,当语言设置为俄语时会显示乌克兰国旗,引发了关于DFSG合规性的讨论。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/30 18:38

# Debian 中的 Xsnow "抗议软件" 来源:https://lwn.net/SubscriberLink/1079385/3d7a57da58b41aa9/ ## \[LWN 订阅者专属内容\] > ### 欢迎来到 LWN.net 以下订阅者专属内容由一位 LWN 订阅者提供给您。数千名订阅者依赖 LWN 获取来自 Linux 和自由软件社区的最佳新闻。如果您喜欢这篇文章,请考虑订阅 LWN (https://lwn.net/subscribe/) 。感谢您访问 LWN.net! [xsnow](https://www.ratrabbit.nl/ratrabbit/xsnow/index.html) 应用程序用于在 X11 桌面上生成动画降雪效果(以及其他令人愉悦的消遣),它似乎并非表达政治声明的明显渠道。然而,xsnow 的维护者似乎在程序中加入了一项政治抗议:一个在程序语言设置为俄语("ru")时触发的彩蛋。一位用户抱怨说,这种功能应该从 Debian 的 [xsnow 包](https://packages.debian.org/STABLE/games/xsnow) 中移除,但 Debian 似乎没有任何规则明确禁止此类功能。 #### 投诉 6 月 14 日,Alexander Ivanov 向 Debian 的开发邮件列表发送了一条[消息](https://lwn.net/ml/all/CAFE1aJnp3YVZ+M45wf1F4PfAyZagVQcMgHau7AyXdiXwtYFeWg@mail.gmail.com/),投诉如果用户的区域语言设置为俄语,会触发“一种伪装的可视元素(标有 'EXTRATREE' 的乌克兰国旗),且出现概率显著更高”。相关代码位于 xsnow 3.8.3(Debian 13 "trixie" 版本打包)以及 3.8.6(unstable 版本)的 `src/scenery.c` 文件中,从第 326 行开始: ``` #ifdef USE_EXTRATREE if (global.Language && !strcmp(global.Language,"ru") && drand48() < 0.3) tt = MAXTREETYPE; if (drand48() < 0.02) tt = MAXTREETYPE; #endif ``` 如果语言设置为俄语,Xsnow 更有可能显示乌克兰国旗(`src/Pixmaps/extratree.xpm`)。Xsnow 允许用户从几种语言中选择一种;当应用程序设置为英语时,我没有看到任何乌克兰国旗,但它们应在大约 2% 的情况下出现。我确实看到了预期的装饰物,例如月亮、雪、树木、北极熊、鸟类以及带雪橇的圣诞老人。将语言设置改为俄语后,xsnow 立即在桌面上放置了几面旗帜以及其他装饰物。下面的截图显示了在 Debian 13 上的效果。 > ![[在 Debian Trixie 上运行的 xsnow]](https://static.lwn.net/images/2026/xsnow.png) #### 违反 DFSG Ivanov 声称该行为违反了项目 [社会契约](https://www.debian.org/social_contract) 中的 [Debian 自由软件指导方针](https://www.debian.org/social_contract#guidelines) (DFSG)。具体来说,他表示这种“针对性行为”违反了不歧视个人或群体(DFSG #5)和不歧视领域原则(DFSG #6)。 Ivanov 并未提交错误报告,而是将问题报告给“更广泛的 Debian 开发社区”。他之所以选择这条途径,是因为 Debian 包的维护者 Willem Vermin 同时也是 xsnow 项目的维护者,并且正是他引入了这一更改。 Chris Hofstaedtler [回复](https://lwn.net/ml/all/[email protected]/) 说 Ivanov 搞错了;DFSG 要求的是软件的*许可证*不能有歧视,而不是*软件本身*。“所使用的许可证似乎没有违反 DFSG 的第 5 或第 6 点。下次请仔细阅读 DFSG。” Xsnow 主要采用 GPLv3 许可证,尽管某些文件使用其他 Debian 批准的许可证。 Russ Allbery [同意](https://lwn.net/ml/all/[email protected]/) DFSG 与之无关;他还警告说,引用社会契约和 DFSG “会将对话变成规则辩经,而并未解决实际问题”。不过,尽管 xsnow 符合 DFSG,他确实表示显示旗帜的行为可能不是 Debian 希望存档的内容: > 总的来说,我认为以欺骗方式行事的软件——包括根据用户名、区域设置或其他本地设置或信息而隐藏的行为变化,且任何用户都不会合理期望这种行为会以这种方式变化——可能不是我们希望保留在 Debian 中的东西。这是一个非常危险的滑坡,而且很可能会引发大量争议却收益甚微。 Ivanov [表示](https://lwn.net/ml/all/[email protected]/) 他理解 xsnow 并未违反 DFSG 这一点。但他说,其隐藏功能是否应被视为错误或应被修补的行为,“以恢复应用程序对所有用户的中立和预期功能?” Bill Allombert [建议](https://lwn.net/ml/all/[email protected]/) 他提交一个错误报告,因为 Debian 开发邮件列表不是投诉的正确场所。 #### 预测:xsnow 不会改变 截至目前,Ivanov 尚未提交错误报告,讨论似乎也已告一段落。我发邮件给 Vermin,询问他是否知道这一投诉,以及如果提交了错误报告,他是否愿意撤回乌克兰国旗的显示。目前尚未收到回复。 即使 Vermin 可能不愿意更改 xsnow 的行为,Debian 包维护者也因为技术原因被要求做出更改——或者因其冒犯性内容而被从档案中移除。2025 年 8 月,经过长时间的讨论,两个“冒犯性”的 [fortune 包](https://lwn.net/Articles/1031750/) 在 trixie 发布前被移除。2025 年 10 月,Debian 技术委员会 [决定](https://lwn.net/Articles/1041316/) 需要回滚一项上游 systemd 的更改,因为新行为破坏了许多依赖世界可写 `/run/lock` 目录的程序。在以上每个案例中,维护者被否决之前都经过了相当多的讨论和审议。 这并非要支持或反对移除 xsnow 的彩蛋;只是想指出,即使维护者很可能不同意,针对某个包提交错误报告也并非徒劳。作为一个项目,Debian 赋予其开发者在管理包方面的广泛自由度,但在项目认为必要时,维护者的决定可以在极少数情况下被推翻。然而,要让项目这样做,申诉者需要付出努力。仅仅在邮件列表上抱怨不太可能取得任何结果。

相似文章

snowdesktop:面向开发者的不可变 Debian 桌面

Lobsters Hottest

SnowLinux 是一个完全可定制的、基于 Debian 的不可变桌面发行版,专为开发者打造,使用 mkosi 构建,灵感来自 ParticleOS,支持使用用户密钥的 Secure Boot 签名、TPM/FIDO2 LUKS 加密,并预装了 snap、flatpak 和 docker。

Debian 与塞壬

Lobsters Hottest

前 Debian 开发者反思 Debian 允许在开发中使用 LLM 的决策,担忧这可能会导致复杂性上升和对专有软件的依赖增加。