返回

文章详情

Debian中的Xsnow“抗议软件”

Hacker News2026年6月30日 16:54

继续阅读文章。Xsnow应用程序生成一个动画的降雪效果(和其他愉快的消遣),适用于X11桌面,并不像一个明显的政治声明渠道。然而,xsnow的维护者似乎在程序中包含了一个政治抗议:当程序的语言设置为俄语('ru')时会触发一个复活节彩蛋。一位用户投诉应该从Debian的xsnow软件包中删除此功能,但Debian似乎并没有明确禁止这种特性的任何规则。投诉在6月14日,亚历山大·伊万诺夫向Debian的开发邮件列表发送了一条消息,投诉如果用户的语言设置为俄语,将触发“一个伪装的视觉元素(标记为'EXTRATREE'的乌克兰国旗),概率显著提高”。代码位于xsnow 3.8.3的src/scenery.c文件中,从第326行开始,Debian 13(“trixie”)打包的版本和不稳定版3.8.6中:#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上的情况。DFSG违反伊万诺夫声称这种行为违反了Debian自由软件指南(DFSG),这是该项目社会契约的一部分。具体来说,他说“有针对性的行为”违反了不歧视个人或群体的原则(DFSG第5条)和不歧视努力领域的原则(DFSG第6条)。伊万诺夫没有提交缺陷报告,而是向“更广泛的Debian开发社区”报告了这个问题。他表示采取这种方式是因为Debian软件包的维护者Willem Vermin也是xsnow项目的维护者,并且最早是引入这一变化的人。克里斯·霍夫施泰特勒回复说伊万诺夫错了;DFSG并不要求软件是非歧视性的,而是软件许可证是。他说:“使用的许可证似乎没有违反DFSG的第5或第6条。请下次仔细阅读DFSG。”Xsnow主要根据GPLv3许可,尽管某些文件采用其他Debian批准的许可证。拉斯·阿尔伯里同意DFSG并不相关;他还警告说,引用社会契约和DFSG“将对话变成了规则辩论,而没有解决实际问题”。然而,即使xsnow符合DFSG,他也表示国旗显示可能是Debian不希望在其存档中存在的事物:我通常会说,行为欺骗性的程序,包含基于用户名、区域或其他本地设置或信息的隐藏行为变化,用户合理而言不会期望以这种方式改变行为,可能不是我们希望在Debian中存在的。这是一个非常滑坡,也很可能造成大量戏剧而几乎没有好处。伊万诺夫表示他理解xsnow没有违反DFSG的观点。但是,他问,难道不应该将其隐藏的功能视为bug或应该修补的行为“以恢复应用程序对所有用户的中立和预期功能”?比尔·阿洛姆伯特建议他提交一个缺陷报告,因为Debian开发邮件列表并不是投诉的正确场所。到目前为止,伊万诺夫还没有提交缺陷报告,讨论似乎已经结束。我已经给贝尔敏发邮件询问他是否知道这个投诉,以及如果提交bug他是否愿意撤回乌克兰国旗的显示。到目前为止,我还没有收到回应。即使维尔敏可能不想改变xsnow的行为,Debian的软件包维护者在技术原因上被要求进行更改——或者因攻击性内容而删除了软件包。2025年8月,在讨论了很长时间后,两个“攻击性”的命运软件包在trixie发布之前被移除。2025年10月,Debian技术委员会决定需要恢复上游systemd的更改,因为新行为破坏了许多依赖于可写的/run/lock目录的程序。在每种情况下,在维护者被推翻之前,进行了相当多的讨论和审议。这不是在争论xsnow的复活节彩蛋是否应该被删除;这实际上是关于我们应该否决定对Debian的构建保持警惕。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡