Xsnow "protestware" in Debian
93 points
by 6581
2 hours ago
| 13 comments
| lwn.net
| HN
kstrauser
1 hour ago
[-]
I could not be less sympathetic on this. If you don't want people protesting your actions, don't, like, invade their country.

"But what if it was the US doing the invading?" Yes, even then. If some Iraqi author made an Xsnow that waved little Iraq flags, that's their right. Even if I disagree, it doesn't harm me, and it might inspire me to consider our actions.

"But what if it makes someone's boss get mad at them?" If my boss saw an Iraq flag on my screensaver, I'd say "huh, look at that! I guess that was added in the new version. I'll change it to another screensaver." And if you live in a country there the likely reaction is that your boss might execute you, your government are the baddies.

reply
tryauuum
37 minutes ago
[-]
> don't, like, invade their country

I did not invade any country

At least this app just displays the flags and not prints such accusations

reply
sssilver
45 minutes ago
[-]
Isn't there discrepancy between that and The Debian Linux team removing “offensive” quotes for the “fortune” application[1]?

[1] https://x.com/LundukeJournal/status/1952340426892984580

reply
striking
34 minutes ago
[-]
I think there is in fact a discrepancy between displaying flags and advocating directly for gendered violence:

> Debian contributor "NoisyCoil" said that they had wanted to argue in favor of keeping the packages, but after looking at the content they had decided against it:

> > I went peeking at the package and, unless I'm completely missing something, the second offensive Italian fortune says that women's "no"s should be interpreted as "yes", while the third one explicitly calls for violence on women [1]. Like, it literally says women should be beaten on a regular basis. I'm afraid I can't help you here, sorry.

from https://lwn.net/Articles/1031750/, linked in the fine article

reply
croes
17 minutes ago
[-]
What is offensive on the Ukrainian flag?
reply
sssilver
4 minutes ago
[-]
I think the point of all this is that there is no absolute scale of "offensiveness". Different societies have different values. Obviously, enough people found the Ukrainian flag easter egg offensive enough for the matter to have landed on LWN and the HN front page.
reply
alwa
31 minutes ago
[-]
That may be, but if I do in fact live in a place where my "government are the baddies," why does it follow that open software should punish me—for nothing more than happening to be alive within that jurisdiction—by provoking my "baddie" government to visit its badness upon me personally? For speech I wasn't even trying to make—for speech that you kind of put in my mouth without asking me?

It would be fine if you gave me a beautiful and whimsical way to choose to express my feelings, and I took it. But when you're disguising the flag in code as an "EXTRATREE," that signals to me that you're trying to slip through a surprise without my noticing:

    #ifdef USE_EXTRATREE
          if (global.Language && !strcmp(global.Language,"ru") && drand48() < 0.3)
      tt = MAXTREETYPE;
          if (drand48() < 0.02)
      tt = MAXTREETYPE;
    #endif
I think it's great that you live somewhere—and enjoy a relationship to your working environment—where you don't have to worry about that kind of thing! I wish more people got to enjoy those kinds of freedoms. I don't think the way to make that happen is to rub individual people's faces in the crappiness of their predicament.

I'm reminded of a situation I encountered some years ago where a person opened a web browser in front of a classroom—no porn in their history, nothing untoward, just going to a high-profile mainstream news site or something in service of a classroom discussion—and all the targeted ads were for things like HIV medicines and mainstream campaigns choosing ad variants that depicted gay couples.

Not the time or the place, that person didn't ask for it, and it led to deep consequences for them—from "outing" on one side, to accusations of "grooming that classroom full of students" and "probably being riddled with AIDS" on the other—that this good, responsible, kind, wise person did nothing to invite.

The targeters probably thought they were doing something righteous or even "accepting" by "making sexual minorities feel seen" or something—but by putting words in the person's mouth without their consent or agency, they caused great unnecessary harm to somebody who didn't deserve it.

reply
thesuitonym
1 minute ago
[-]
In that same file it also says

    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
reply
croes
16 minutes ago
[-]
What exactly is the punishment in seeing a Ukrainian flag?
reply
LtWorf
17 minutes ago
[-]
Looking at your comment history, it's odd how you feel this way about certain countries but not certain others.
reply
saltamimi
6 minutes ago
[-]
Protestware as a whole has never worked to solve anything. Awareness of a particular issue is the only positive thing "protest" software has successfully tried, with the second order effect being better supply chain management.

I don't use Linux or Xsnow but it baffles me how distributions would allow something like this. Sure, it's just flags now, but if you look at faker and colors.js, you'll see the other side of the coin of what happens when you allow software like this.

reply
neilv
1 hour ago
[-]
I'm very sympathetic to Ukraine and the desire to demonstrate or speak out, but I don't see how this instance is very effective, and doing it has a significant cost to the integrity of Debian, as this argument says:

> Russ Allbery agreed that the DFSG was not relevant; he also warned that citing the Social Contract and DFSG ""turns the conversation into rules lawyering without addressing the actual issue"". However, even though xsnow is DFSG-compliant, he did say that the flag display may be something Debian does not want in its archives:

> > I would, in general, say that software that behaves in deceptive ways, which includes hidden behavior changes based on usernames, locales, or other local settings or information that no user would reasonably expect to change behavior in this way is probably not something that we want to have in Debian. It's a very slippery slope and also likely to create a lot of drama to very little benefit.

reply
JdeBP
1 hour ago
[-]
It is interesting to read M. Allbery's comment side by side with the discussion here on Hacker News about a CLAUDE.EXE program with hidden behaviour that subtly changes the way that it outputs an information banner based upon timezones, hostnames, and domain names.

* https://news.ycombinator.com/item?id=48734373

Further LWN commentary (as observed at https://news.ycombinator.com/item?id=48736518) is that the result would not be solely drama but potentially some fairly nasty real world consequences for some people.

reply
belorn
1 hour ago
[-]
The simple solution that should make everyone happy is to simply document it. That way it is no longer a hidden behavior, and the Debian maintainer could even do that as a patch without the help of upstream.
reply
neilv
54 minutes ago
[-]
That might be responding too narrowly to this objection.

Then there's the question of singling out some subset of Debian users based on their country, for different behavior they presumably don't want and that is against their individual interests (see the other comment, about displaying a flag getting you beaten).

The solution is to treat everyone fairly and honestly, and to set an example for how people can get along. Imagine Debian is an international space station: the astronauts will help each other, not bicker and backstab. There are other venues for conflicts.

reply
belorn
16 minutes ago
[-]
The deceptive aspect is the stronger part of the objection. Banning any and all political messages in Debian packages would go too far and I doubt the community would support it. People and in extension developers, can be quite political active and will put some of that into their works. I am sure (as in I don't need to verify) that the pride flag is somewhere in Debian right now, in some package, and banning it would cause much more conflict than allowing it to remain where it is. The problem really only exist if people would have it shoved into their faces through deception.

An other example of political message is when projects redirect donations to a cause. Should projects be banned from having a "donate to Ukraine" somewhere in a program, maybe with a Ukraine flag next to it?

reply
smw
1 hour ago
[-]
The maintainer and upstream are the same person
reply
krunck
1 hour ago
[-]
One comment really nails the problem with this sort of thing:

" People in Western countries don't realize how bad the situation on the ground actually is¹; random Ukrainian flags showing up on your work monitor can result in severe problems for you (like losing you job, or worse), especially if you work in the government sector. If they show up on your laptop in a random cafe or an airport, you might very well get a beating from one of many "war heroes" that walk around the cities these days.

No, the government sector doesn't just make missiles and bombs, it also covers schools, hospitals, many other things."

reply
epistasis
1 hour ago
[-]
And that's not even so bad compared to what would happen to somebody in occupied Ukraine: they would be sent to "the basement." That's the euphemism for the local torture chamber, outside of which they deposit the dead bodies of the tortured to let everybody in the area know what happens if they do something like speak Ukrainian.
reply
netsharc
1 hour ago
[-]
When the war started, Europeans were forcing famous Russians living in Europe to denounce their government's evils. For example an opera house demanded a Russian opera singer to say something against the regime or be "blacklisted".

As if it's so fucking easy to denounce a dictator who has murderous tendencies and who rules your homeland, as if it's so easy to insult him, and then what, not be able to return home and see your friends and family until that dictator is defeated?

I found those demands so unthinkingly heartless, it's responding to tyranny with your own tyranny...

reply
fer
33 minutes ago
[-]
I mean, it's easy to be apolitical and stay in russia. They can always do that and not break the russian social contract.

Молчание - знак согласия

reply
JoshTriplett
1 hour ago
[-]
Note that xsnow already displayed such flags randomly, and this just changes the probability.
reply
dgellow
1 hour ago
[-]
They don’t have to use the software. It’s such a non issue. Xsnow is closer to art than critical software, you can easily ditch it
reply
JdeBP
1 hour ago
[-]
The naïveté of that position is that the users are not informed ahead of time that there's a random chance of a political protest popping up on their screen, so do not get to make an informed choice before it is perhaps too late. It's not mentioned in the doco. It's obfuscated in the source code as an 'extra tree' in an array of xpmtrees. The commit that added this had the commit message 'willem'.
reply
dgellow
1 hour ago
[-]
Please, tell me, who is ever using xsnow in a place where that would be problematic? It’s such a niche software. Again, complete non-issue.
reply
michaelmrose
38 minutes ago
[-]
So 3% of the pop uses Linux. I shouldn't be surprised that 3% of those use Debian. I WOULD be surprised to find that more than 1 in 10k has EVER used xsnow 1 in 1M running it continually. Note this is actually wildly overstated. I have not even touched on the settings which would show flags.

Then we have to imagine they run xsnow all the time and somehow don't notice the dangerous political stuff OR run it for the first time.

If we start with 140M Russians this has certainly never happened and will almost certainly NEVER happen.

It is actually far more likely that someone should actually get caught using it trying to see the flags and have to explain that to their boss.

reply
sombragris
1 hour ago
[-]
Slackware-current upgraded xsnow to the latest version in June 20th but applied a patch from ALT Linux that removed the protestware bits just because of this reason. I support this.
reply
pluc
25 minutes ago
[-]
Wouldn't that be.. acceptable, if not entirely the point? Raising awareness? Some rando getting arrested for a screensaver they didn't know contained a flag is pretty efficient propaganda and would likely turn at least the involved people and their inner circles? It might not be the point but I doubt they'd be disappointed
reply
WD-42
1 hour ago
[-]
How is this an issue? Xsnow is a novelty. You have to make two decisions: the first to still be using Xorg at all, the second to install the application itself which is essentially a gag screensaver.

The idea that some govt employee would get fired for this is extremely far fetched.

reply
michaelmrose
1 hour ago
[-]
This sounds like a you problem. Suppose you have software that shows famous faces and quotes as a screensaver would you make it by default not show anyone of color so it would be acceptable in rural Oklahoma or make it show no women so it would be acceptable in Iran?
reply
mopsi
1 hour ago
[-]
That's also a good argument for completely removing rainbow flags from everything, in more countries than one. Will we see that happening?
reply
Arodex
1 hour ago
[-]
I thought it would talk about the situation on the ground in Ukraine, but no...

Will anyone think of the poor Russians just trying to go on with their lives?

Do people in Russia realize how bad the situation is on the ground for Ukrainians?

>No, the government sector doesn't just make missiles and bombs, it also covers schools, hospitals, many other things.

Schools forming future soldiers, hospitals healing soldiers so that they can go back to the front...

The naivety here is astounding. The commenter, those who agree with him and all "normal" Russians would benefit to read Hannah Arendt:

https://philosophybreak.com/articles/hannah-arendt-on-standi...

Cue the famous quote...

https://quoteinvestigator.com/2010/12/04/good-men-do/

reply
netsharc
1 hour ago
[-]
So, are you American? What are you doing about your governments funding and supplying of genocide? Your litany of excuses also apply to the average Russian...
reply
Arodex
28 minutes ago
[-]
Nope, European, from a country that did the most to oppose Israel, despite the fact it is very difficult for any continental European country to do so as we are tainted by the Shoah...

And America is electing more and more anti-israel politicians.

https://www.axios.com/2026/06/28/republican-party-israel-net...

https://www.axios.com/2026/04/15/iran-war-israel-democrats-c...

reply
JCattheATM
1 hour ago
[-]
Except most Russians support their government and believe its lies...
reply
netsharc
58 minutes ago
[-]
I can say that about Americans. What proof do you have, or do you "just know it"?

https://nestcentre.org/what-russians-think-about-the-war-aga...

> For most ordinary Russians, the war is not a central concern. This may sound cynical, but it’s the truth.

> When they do think about it, they tend to view it much like the weather: something that one may or may not like, but which lies beyond individual control and to which one simply adapts.

I admire a friend of mine in London who every weekend went to anti-genocide rallies in London. But at the same time I can imagine it's excruciating work, yelling and protesting and not saving any single Palestinian child's life. Meanwhile in Russia, protesting will get you arrested and probably be sent to the frontline (as a man) or prison (as a woman). Given those choices, would you also not say "Well, I can be angry and depressed about the Ukranians (and my fellow countrymen forced to fight the war) being killed, or I can just go about my day and put this exhausting thought aside"...

Meanwhile in America, there's a political party using the Nazi playbook to subvert democracy and succeeding. Are you American? Are you doing everything to stop that, or do you see yourself powerless and so you go about your day and put that exhausting thought aside?

reply
JCattheATM
50 minutes ago
[-]
> I can say that about Americans.

Eh, you'd be wrong. It's a different issue in the US, half the population believe and vote for nonsense, the other half are strongly against it.

> What proof do you have, or do you "just know it"?

Friends with Russians, and try to read useful sources like Meduza. It's absolutely very much the case that most of that population are brainwashed and believe the state propaganda.

> Meanwhile in Russia, protesting will get you arrested and probably be sent to the frontline (as a man) or prison (as a woman).

Yes, so an armed uprising is necessary if voting is not an option. But if there is no will, there will be no effort.

> Meanwhile in America, there's a political party using the Nazi playbook to subvert democracy and succeeding.

America will still have elections, and we won't have to deal with our Putin-wannabe again after their term is up.

reply
netsharc
38 minutes ago
[-]
> America will still have elections, and we won't have to deal with our Putin-wannabe again after their term is up.

Heh.. Russia has "elections" too.

So easy to point and jeer and say "they're bad, but over here the circumstances are different!"...

As if armed uprisings are child's play, and those not rising against tyrants are cowards. I bet if you were in Russia, you'd also made excuses why you haven't joined the resistance and learned how to make bombs and kill FSB soldiers. Fact is "the will" only comes with backs against the wall, like when food runs out (Arab uprising) or it's no longer tolerable (Iran). And then what will the revolution bring? Who's in charge in Iran, Libya, Egypt? It's easy to be an armchair revolutionary calling people cowards and brainwashed from 10000 miles away..

Addendum: and if a Russian has sympathy for the Ukranians but is powerless to do anything, wouldn't it be attractive to start believing the lie that it's the Ukranians that are assholes, that they're also doing bad things (just look at the average Israeli's support of the genocide - "it's because they want to annihilate us!"); if you start believing that stuff, you can "forgive" yourself not doing anything against your tyrannical government.

reply
simion314
1 hour ago
[-]
Yeah, but is open source so if some of the extra rare "good Russians" do not like this super small chance of getting hurt then they diserve their regime, they will finally protest when the regime will affect their own lives but stay silent while other people get genocided.

I do not own any popular software to put anti Zed/Putin shit in it so sorry I can inconvinience those super rare good Russians.

reply
estebank
31 minutes ago
[-]
A lot of people talking about how displaying the flag at all could get somebody in Russia in trouble. You could see the increasing of the likelihood as helpful then, because the flag could always appear. By making it come up more often it communicates to the user that it can appear it gives a chance to the user to notice it in a "safe" situation and not use xsnow if they are in a situation where it could cause trouble for them. The existence of the flag is not quite mentioned at https://www.ratrabbit.nl/ratrabbit/xsnow/, and the site is loading too slow to see if it is shown in https://www.ratrabbit.nl/ratrabbit/xsnow/visuals/index.html.
reply
Insimwytim
1 hour ago
[-]
So, if someone were to modify a Debian package to show Palestinian flag for Hebrew speakers or Iranian flag for ...Enligsh speakers, the change won't be instantly reverted and the user won't be restricted, right?
reply
pwdisswordfishq
24 minutes ago
[-]
Or LGBT flag for Arabic and Persian speakers.
reply
asveikau
1 hour ago
[-]
I was not totally clear on this. The article makes it sound like the behavior is in the debian patches, and not upstream?

I believe upstream is here, and has the same code as quoted:

    https://sourceforge.net/p/xsnow/code/HEAD/tree/trunk/xsnow/src/scenery.c#l332

  if (global.Language && !strcmp(global.Language,"ru") && drand48() < 0.3)
     tt = MAXTREETYPE;
reply
hexagonwin
1 hour ago
[-]
it is in upstream. but the debian package maintainer is also the upstream maintainer.
reply
_0xdd
1 hour ago
[-]
One of the comments that struck me on the lwn.net site is the (albeit small) possibility that someone in Russia could be running the software and unintentionally land themselves in hot water if someone discovers these images on their computer. I'm sure that's not the intended consequence, but I could be problematic.
reply
weare138
1 hour ago
[-]
The issue with that claim is xsnow already displayed the Ukrainian flag regardless. And it's in no way a critical app most people would even have installed to begin with. I had no idea it was even still being maintained.
reply
kjs3
1 hour ago
[-]
Most do not acknowledge the slippery slope exists until they are sliding down it about to hit bottom...
reply
weare138
1 hour ago
[-]
Has anyone confirmed who this 'Alexander Ivanov' person is or even if this is a real person and not some AI bot? I searched for the email address used and it only appears recently in these handful of posts about xsnow.
reply
cloudie78
1 hour ago
[-]
So next time something like this slips through and it runs rm -rf /* ? Then what?

Shit like this erodes trust.

reply
JdeBP
1 hour ago
[-]
I wonder how many people immediately thought about whether similar things had been snuck into xfishtank and xpenguins.
reply
Svoka
2 hours ago
[-]
How is seeing more Ukrainian flags a discrimination?

Discrimination implies something harmful. Like invading neighbor country and perpetrating genocide. This complaint says more about Ivanov than anything else.

reply
4bpp
1 hour ago
[-]
The imputed discriminatory part is that the software only shows the additional flags to users with Russian locale, not that it shows the flags at all.
reply
Svoka
1 hour ago
[-]
Not sure you know what discrimination is.
reply
jszymborski
1 hour ago
[-]
Yah that's where I stand on it. The message isn't harmful or hateful, it dares only make a political statement.
reply
4bpp
1 hour ago
[-]
It's still selective degradation of functionality, as presumably people who download a snowglobe animation program don't do it to see any sort of statement apart from normative depictions of wintery things. The problem would be the same if it showed Russian flags only to users with Ukrainian locale, or ads for Mountain Dew only when the user's locale is set to French, or even just something as impossible to interpret as offensive on its own as adding lots of little cactus men whenever the locale is Dutch.
reply
jszymborski
58 minutes ago
[-]
right, which means the software is less useful and as such you might not want to use it. Plenty of software like that listed on repositories, which I think is fine.
reply
stonogo
53 minutes ago
[-]
> presumably

So it's "selective degradation of functionality" based entirely on your assumptions regarding the motivations of the users? How is this a useful description?

reply
Svoka
1 hour ago
[-]
But also it is showing how russians think that Ukrainians existing is somehow discriminatory against them.
reply
bradrn
1 hour ago
[-]
This point in the comments made me think twice:

> People in Western countries don't realize how bad the situation on the ground actually is; random Ukrainian flags showing up on your work monitor can result in severe problems for you (like losing you job, or worse), especially if you work in the government sector. If they show up on your laptop in a random cafe or an airport, you might very well get a beating from one of many "war heroes" that walk around the cities these days.

[EDIT: I see @krunck reposted this at the top level — https://news.ycombinator.com/item?id=48736518]

reply
Svoka
1 hour ago
[-]
Oh no! Imagine the horror of losing your job. It compares nothing to literal genocide their army perpetrating.

And yes, it is their, not their government, not some mysterious leaders. Russians reelected same government for 35 years with it invading neighbours pretty much every 5 years.

reply
DiabloD3
1 hour ago
[-]
As a reminder, the most dangerous job in Russia is "opposition leader".
reply
orbital-decay
1 hour ago
[-]
Imagine living in the occupied part and being sent to the basement for this. Probably not that black and white now... although seeing both activist and slacktivist types being very loud about the land but not the people over and over again, I wouldn't be entirely surprised if you don't care.
reply
epistasis
1 hour ago
[-]
Given the number of colonized people that speak Russian, including residents of Ukraine, Georgia, Uzbekistan, etc. etc. etc. I think this sort of Easter Egg based on language rather than geographical location is quite appropriate.

My family speaks both Ukrainian and Russian, and in Russian speaking spaces here in California we find many many many eager supporters of Ukraine's sovereignty, because when they hear Ukrainian spoken they tell us! And also tell us they wish they had been able to keep their non-Russian family language alive too. Most of these supporters are not from the Moscow or St. Petersburg areas though...

reply
nosioptar
1 hour ago
[-]
It's not even an anti-Russian statement!

I wouldn't get bent out of shape if Xsnow showed me a Canadian/Greenlandic flag in response to me using en-us.

reply
galdauts
1 hour ago
[-]
Very much agreed. It‘s a statement by the authors of that software, and that is well within their rights.
reply
7bit
1 hour ago
[-]
How can anyone complain about Ukrainian flags, unless these people have a problem that the Ukraine exists.
reply
adamrezich
1 hour ago
[-]
I thought we all agreed that flags-as-political-statement in software were Certified Cringe after the one-click “add a French flag overlay to your Facebook profile photo” thing, eleven years ago?
reply