Linus Torvalds Defines 'Production Environment'
Description
A screenshot of a classic email exchange on a developer mailing list. The image shows a quoted complaint in purple text from a developer (Kees Cook) asking for a 'mess' to be reverted, expressing frustration with updates for 'unreleased compiler versions.' Below the quote is the now-famous reply from Linus Torvalds. In his characteristically blunt style, Linus refutes the claim, stating the compiler is the default in Fedora 42, a major Linux distribution. He explains the change was necessary because the kernel 'DID NOT BUILD' without it. The exchange is a prime example of the pragmatic and sometimes abrasive leadership style in high-stakes open-source projects. It illustrates the classic 'works on my machine' problem, but on a grand scale where the lead developer's machine sets the new standard for everyone else, highlighting the real-world friction between supporting the cutting edge and maintaining backward compatibility
Comments
50Comment deleted
The ultimate 'works on my machine' privilege is when your machine belongs to Linus, and suddenly your environment isn't just a dev setup, it's the new CI baseline
Apparently the deprecation schedule for GCC is: 1) Fedora marks it default, 2) Linus hits ‘dnf upgrade’, 3) everyone else discovers their “stable” toolchain was legacy all along
The beautiful moment when someone tries to lecture Linus Torvalds about 'unreleased compiler versions' only to discover they're arguing against the very changes that make the kernel buildable with the current Fedora release - it's like telling the architect their building violates physics while standing inside it
When someone asks Linus to revert kernel changes for an 'unreleased compiler' and it turns out to be the default compiler shipping in a major distro - that's the kernel development equivalent of being told your production database is 'just a test environment.' The real joke is thinking you can maintain backward compatibility with compilers that don't exist while ignoring the ones that actually ship to millions of users. Classic case of 'works on my machine' meeting 'your machine is a time capsule.'
Calling Fedora’s default GCC “unreleased” is stability theater - the ABI is whatever your toolchain vendor shipped on Tuesday
In kernel land, an “unreleased compiler” is the one Fedora already shipped; when the kernel won’t build, Werror isn’t a flag - it’s the change-management system
Dismiss a compiler warning as 'unreleased'? Congrats, it's now Fedora's default - and your kernel won't build
sooo, does it mean that RedHat engineers and managers get to decide the toolchain Linus would use as the main one to build Linux? Comment deleted
Probably, that also means, that fedora is more bleeding edge than stock arch :D Comment deleted
This? Why is it beta?? https://gcc.gnu.org/gcc-15/ Comment deleted
> released on April 25, 2025 even though it's not beta anymore, isn't it too cutting-edge for comfort? Comment deleted
it was released yesterday, for a fixed release distro that is beta as fuck Comment deleted
Which, tbf, said distro warns about Comment deleted
but to be honest, the reason I use ubuntu on my servers and printer controllers is that it is stable and the packages shipped are tested. But honestly, a fixed version distro, which is supposed to be stable, that uses a compiler that is still in beta in release screams unstable to me. I mean Arch Stable ist more stable Comment deleted
Same, Ubuntu LTS in any server I have control over Comment deleted
link to lkml thread? Comment deleted
https://lkml.org/lkml/2025/4/20/335 Comment deleted
this just reminded me, why I will never build kernel stuff :D Comment deleted
once again I ask myself why linus uses fedora instead of literally anything else that ships stable packages Comment deleted
even arch linux doesn't have gcc 15 yet Comment deleted
because devs usually develop with latest versions of libs — when you need to downgrade them to be compatible with 10 years outdated versions way more bugs are created, like it is on debian. Comment deleted
Very bad approach, especially for fundamental projects that must have widest compatibility. Comment deleted
That's what test suites and CI are for. Comment deleted
Apparently, Linus does not give a shit about that. Comment deleted
Did he break kernel for older compilers? Comment deleted
I mean, yes, he absolutely did Comment deleted
AFAIK there's an honest to god rc that doesn't build on GCC 14, it's not even just a broken master Comment deleted
lel now that's fun Comment deleted
Yeah, that's the whole meme Comment deleted
well, if that's not the case and you need to run a modern software on debian you will find yourself in a situation like: - well, I'm a dev, why not build it from the source? you look at the requirements to build it. first you note, dependencies on debian are about 10 years outdated and totally incompatible with this software. then you look how to build those dependencies and note they need a more modern build toolchain as the one provided by debian, so you need to build the toolchain and all the dependencies alike. then you notice things aren't completely compatible with each other and you need to patch them by hand... doing so completely by hand is so much hand-work, that you ask yourself, why not just use gentoo, where the whole process of building in right versions from scratch is automated, everything is patched to work well together and you have a control over installing stable or unstable versions. Comment deleted
last time I needed something like this, I've just installed a gentoo chroot into the home directory and let it build everything I need with ease. all I needed was emerge --auto-unmask ${myDeps} etc-update # to save auto-unmask configs emerge ${myDeps} ./configure make make install Comment deleted
in every other regard maybe, but you'd think at least on his work machine he'd use something that won't break his setup randomly Comment deleted
I am honestly confused he doesn't use Debian Comment deleted
yeah tbh that's what I'd use in that situation Comment deleted
he is confused why people use debian, and especially he pity the package maintainers. those poor people sometimes need to rewrite the software nearly from scratch and just support their own parallel version producing bugs you won't find anywhere else. Comment deleted
Well, someone should be on Fedora Someone who quickly can sort out found errors Comment deleted
Stay on bleeding edge can detect error more early than using a "stable" version. Since he is a developer, this is not strange. Knowing this issue earlier is better left it behind and let it trouble everyone when gcc 15 is shipped widely. Comment deleted
on one hand true, on the other, fedora is supposedly stable release, they just happen to ship beta builds sometimes for whatever reason. a rolling release distro would be more understandable I think Comment deleted
also, I feel like gcc 15 should be able to compile code made for gcc 14 and whatever made it not compile was a bug in the compiler Comment deleted
Any compiler should be able to compile atleast whatever was made with previous compiler version Comment deleted
I mean I can see a compiler deprecating and then removing a compiler-specific feature within 2 versions, so e.g. I wouldn't guarantee that any gcc 13 project builds with gcc 15 flawlessly Comment deleted
linux as a project should be in a place where it takes care of warns and deprecations fast enough to not have to worry about single-version upgrades tho Comment deleted
I mean, yes. Thats why i said at least the last version. 15 -> 14, 14 -> 13. Like It is, or with minimal modifications(since some things may get deprecated) Comment deleted
Actually, Fedora panned to upgrade GCC to 15 in 2024. They just thought GCC 15 would release before F42. 😂 F42 is on GCC 15, and F41 is on GCC 14. This is stable during the release. Comment deleted
it doesn't breeak a setup randomly. it is a major update, you can read what's inside and upgrade to it when you feel the time is right. Comment deleted
my current machine is arch because the dev tools i use are most recent there (mainly go and rust). But for kernel dev I would honestly try to take the distro with even the oldest supported gcc Comment deleted
Ironically, I despise snaps on desktop but on server they are kind of neat :D Comment deleted
Afaik Linus was on Debian last time I checked it What made him move to Fedora though?🤔 Comment deleted
he is on fedora since many years, I was at university when I've seen interviews, where he told he uses fedora. Comment deleted
I thought you switched to Fedora 13 years ago due to him Comment deleted