Skip to content(if available)orjump to list(if available)

We do not break userspace (2012)

We do not break userspace (2012)

52 comments

·July 19, 2025

overgard

When I first read this, back in 2012, I thought Linus' was kind of a dick for being so insulting about it. With more experience I have more empathy for Linus' though -- sometimes developers will get hell bent on getting their PR through no matter how bad it is, and you almost have to be mean in order to get through to them. If you just pick at specific issues instead of saying "This is all bad, start again", sometimes you just waste a lot of time.

Also, to be fair I don't think I would know about this "We Do Not Break Userspace" rule if this hadn't been so famous at the time.

wahern

"Running a successful open source project is just Good Will Hunting in reverse, where you start out as a respected genius and end up being a janitor who gets into fights."

Credit: https://web.archive.org/web/20200909035546/https://diff.subs...

sedatk

404

wahern

Somehow I dropped the trailing 's'. Edited.

chamomeal

That is one of the best quotes I’ve ever heard lmao

ants_everywhere

Sometimes being a parent is like this too.

But I think the "don't break user space" rule would be more effective if it was very clearly stated and you could point to a doc that made it obvious to the committer that it was against policy.

Linus seems to have a strong internal sense of what the policy means, and he heaps on Monty Python style verbal abuse to get his point across. But while that's good at indicating how angry it is, it's not clear to me that it's the most effective way of reducing violations of the rule.

andrewflnr

You don't need to be "mean" to make clear that a PR is fundamentally flawed. You can literally say, "the entire approach here is unacceptable, and we won't merge it or anything like it." No profanity, no personal insults, not even picking at ancillary details, just facts.

overgard

I think there's a lot of people that would find saying "the entire approach here is unacceptable" to be "mean" though. But I generally agree with your point of not making it a personal insult.

linusforthewin

There are different management techniques. Some focus purely on the thalamus and some engage the amygdala.

For example, maybe you work as a program coordinator in a liberal arts college, then you may target the thalamus- the center of logical reasoning. You explain to professors how the program you’re responsible for will advance some goal that seems logical though no one feels emotional about it.

Or maybe you’re a drill sergeant whose job it is to ensure that when soldiers are under duress in war, your barked commands and insults will be burned into their amygdala, their emotion center that handles fight or flight immediate responses and related fast and deep emotional memories, so that they will respond as trained instead of forgetting everything that was learned and running away, because that may not be as effective. Logic doesn’t play into decisions under duress.

Linus may have later decided that hurting others was not as helpful, but he wasn’t being a bad leader when he did and said what he felt he needed to at the time.

Sometimes it takes a little tough love to make things happen. Even Jesus had to overturn some tables.

null

[deleted]

anal_reactor

I have learned that number one rule of working in a corporation is "do not offend people". You can explain away a major delay. You can explain away an incident. You can explain away a project not being delivered at all. You can explain away all and any failure, but if you offend someone, you have a big problem. People's egos are extremely fragile, and it makes zero sense to risk even tiniest chance of conflict, unless your very job is at stake.

Seeing someone value a serious project higher than random guy's personal feelings is extremely refreshing.

> But you don't need to be mean

You don't need to be nice either

andrewflnr

> You don't need to be nice either.

...right, mostly. Being nice is nice, but the truth is more important. A corporation that could figure that out would run far better.

ksec

>With more experience I have more empathy for Linus' though

I am glad the pendulum is ( slowly ) swinging back.

mycall

The main problem with "we don't break userspace" is that all general statements are false at some point. As what point is some specific instance considered by everyone incorrect that it doesn't get fixed? This is a strawman arg since I know it is simple enough to create new interfaces to bypass old problematic approaches and Linux is full of evolution.

arscan

Say what you will about the language, but I’ve come to appreciate how important it is to stick up for your users/customers, which is what Linus is doing here. It’s not ok to inconvenience them without an extraordinarily good reason to do so, and it absolutely is not ok to blame them.

I’m sure my reaction to this was different when I first read it many years ago. But now, I can strongly relate to the feeling behind these words.

mparnisari

I guess his comment is acceptable because this is OSS and it's not like he can get fired over it.

In a past employer I've left a PR comment with a much less aggressive tone, and the PR author messaged me saying "your message is unprofessional". Granted, it wasn't my best moment, I had snapped. But if I wrote something like what Linus wrote, i'd be insta-fired.

loeg

It's not really acceptable, and he's since been persuaded to make some strides towards more moderate tone.

adonovan

I saw this at the time, but reading it again now what struck me is how coolly his correspondent responded, without escalation, hurt, or resistance; and no-one else chimed in to confront the attitude. In other words, this kind of aggression was acceptable. It's a real sign of how things have changed--for the better. As you say, Linus has since made strides, and it's not as if he was the only one; I used to do it too (if not nearly as egregiously) until various people I respected called me out for it. Now I shudder to recall what passed for normal 20 years ago.

null

[deleted]

lacidar67

I recently had a coworker reach out to my tech lead to tell me that my very clearly noted DRAFT PR was "not collaborative". Dawg that's the entire point of git...

xelxebar

> unprofessional

This label is such a blatant Americanism. AFAICT it simply communicates a social threat for violating implicit cultural norms, shutting down communication, and carries virtually no useful content beyond that.

Communication takes two. If we want peers to take responsibility for their words and actions, then shouldn't we also take responsibility for our role in interpreting and reacting the same?

Some of the best work environments I've been part of allowed space for people to accept the fact that we're all human with human emotions. If someone blows up, maybe they're overstressed or maybe they're yelling at a kid about to get run over by a car.

null

[deleted]

jaimex2

the only reply to that is 'that is your opinion'

Offence is taken, not given.

xpressvideoz

> Btw, why pulseaudio is even trying to access a V4L2 control? I would expect an audio application to take care of its own audio business, and to not try to access other random Kernel APIs.

> In other words, only an application that handles video should be using those controls, and as far as I know, pulseaudio is not a such application. Or are it trying to do world domination?

Mauro's first response does seem a bit defensive, and reads like an attempt to justify his actions. It even feels a bit like an accusation against PulseAudio. I didn't know the exact context at the time, but now that I read the entire email, I think I'm getting why Linus was triggered.

JuniperMesos

This is obviously a famous "Linus gets mad" moment. Honestly, I think Linus' comments, while intemperate, were not super-unreasonable, and I think the amount of flak he got for this was unfair. It's better in some sense if you can express anger at a collaborator for making a bad technical decision that makes things harder for other people without telling them SHUT THE FUCK UP, but that kind of emotion is also pretty natural when you're working on something that you passionately care about. If I had made this kind of error in kernel code, and gotten yelled at by Linus about it, I would've felt appropriately chastised (as Mauro appears to have here), and wouldn't have held it against Linus.

sitzkrieg

very funny considering linux userspace is the most fragile thing imaginable

ethan_smith

The Linux userspace ABI has actually been remarkably stable for decades - that's why containers, ancient binaries, and compatibility layers like Wine work so reliably despite kernel changes underneath.

sitzkrieg

when was the last time you tried running a binary that was compiled against an ancient glibc?

FreakLegion

All the time, where ancient is, say, 15+ years old. I can't remember ever having an issue with it, unlike the reverse [1]. Even if there were issues, though, glibc's symbol versioning is a different beast than the Linux ABI.

1. https://news.ycombinator.com/item?id=31963255

null

[deleted]

null

[deleted]

santoshalper

I'm really impressed by how Mauro handles himself in the face of a huge man-baby temper tantrum.

add-mobius

Linus is not a man-baby. He’s an actual man. This is what a man looks like- he stands up for users and the integrity of the product with force, even at the risk of being called man-baby by someone over a decade later.

dolebirchwood

There is a tendency among conflict-avoidant people to lionize "keeping cool" as a moral virtue. This strategy of putting passionate (yet justifiable) anger to shame ensures there is minimal rocking of the boat, thereby allowing all aboard to sit peacefully with smiles on their faces as the ship sinks due to their own negligence and dereliction.

komali2

Do you believe conflict resolution requires telling someone to "shut the fuck up" in all caps and then insult their abilities as an engineer? Do you believe this is the most effective method of conflict resolution that doesn't involve "rolling over?"

Personally I think Dale Carnegie cracked that nut nearly a century ago and had the research of many great figures in history to back it up. If you haven't read "How to Win Friends," spoilers: he never suggests screaming someone out of a room.

sschnei8

You can “stand up for users and the integrity of the product” without telling someone to SHUT THE FUCK UP

_101

You’re generalizing expectations for an average human and trying to apply it to an human with extraordinary responsibilities.

It takes an incredibly strong hand to lead a team whose product is the operating system of most of the Internet.

Do you think Jobs, Bezos, or Gates would say, “Hey guy. I respect you, man, and you write great code. I think we should work together to solve this. Are you cool with that? Maybe we can grab a latte.”

No, they didn’t do that shit.

Pretending you’re their HR manager and get to tell them what’s acceptable doesn’t make you equal or better than them. People have faults, but you can’t get on your high horse picking on them when you’re using their shit everyday.

komali2

This is interesting to me because usually the attitude on this forum is that emotions get in the way of rational behavior and thought. Of course we're all different people but I've noticed that trend. The more Spock, the better, at least in technical fields and debate.

Yet that goes away as soon as it becomes time to defend Linus Torvalds. Then it's "actually his emotional outbursts are rational and necessary."

I hate to say it but I've always wondered how different the attitude towards Linus would be if everything about him and his history was the same, except, he was a woman.

If your gut reaction is to defend him because he's so clearly a once in a generation engineer and very smart, remember, the even more experienced and wise version of him has disavowed this earlier, emotional outburst version of him: https://lkml.org/lkml/2018/9/16/167 Why defend behavior that he himself has agreed is indefensible?

glenstein

>Why defend behavior that he himself has agreed is indefensible?

Great point and a great link. For someone not as fully immersed in the context of this history of Linus outbursts, I found this comment to be the most clarifying and important in the thread.

He's essentially being celebrated for behavior that, as you noted, he himself has agreed is indefensible. Just quoting from your link:

>This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me.

>I know now this was not OK and I am truly sorry.

>The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.

>I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.

Impressively introspective, at least compared to the comments that are the topic of this thread. Fascinating how many people think they're taking Linus' side are taking a side that he wants nothing to do with.

_101

I’d defend the hell out of Linus as a woman.