Skip to content
DevMeme
6116 of 7590
Compilers Post #6707 · source on Telegram

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

50
Anonymous ★ Top Pick 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
  1. Anonymous ★ Top Pick

    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

  2. Anonymous

    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

  3. Anonymous

    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

  4. Anonymous

    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.'

  5. Anonymous

    Calling Fedora’s default GCC “unreleased” is stability theater - the ABI is whatever your toolchain vendor shipped on Tuesday

  6. Anonymous

    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

  7. Anonymous

    Dismiss a compiler warning as 'unreleased'? Congrats, it's now Fedora's default - and your kernel won't build

  8. @decide_later 1y

    sooo, does it mean that RedHat engineers and managers get to decide the toolchain Linus would use as the main one to build Linux?

  9. @DerKnerd 1y

    Probably, that also means, that fedora is more bleeding edge than stock arch :D

  10. @dsmagikswsa 1y

    This? Why is it beta?? https://gcc.gnu.org/gcc-15/

    1. @decide_later 1y

      > released on April 25, 2025 even though it's not beta anymore, isn't it too cutting-edge for comfort?

    2. @DerKnerd 1y

      it was released yesterday, for a fixed release distro that is beta as fuck

      1. @qtsmolcat 1y

        Which, tbf, said distro warns about

        1. @DerKnerd 1y

          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

          1. @qtsmolcat 1y

            Same, Ubuntu LTS in any server I have control over

  11. @minlexx 1y

    link to lkml thread?

    1. @tepo4ka 1y

      https://lkml.org/lkml/2025/4/20/335

      1. @DerKnerd 1y

        this just reminded me, why I will never build kernel stuff :D

  12. @RiedleroD 1y

    once again I ask myself why linus uses fedora instead of literally anything else that ships stable packages

    1. @RiedleroD 1y

      even arch linux doesn't have gcc 15 yet

    2. @deadgnom32 1y

      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.

      1. @SamsonovAnton 1y

        Very bad approach, especially for fundamental projects that must have widest compatibility.

        1. @CcxCZ 1y

          That's what test suites and CI are for.

          1. @SamsonovAnton 1y

            Apparently, Linus does not give a shit about that.

            1. @CcxCZ 1y

              Did he break kernel for older compilers?

              1. @purplesyringa 1y

                I mean, yes, he absolutely did

                1. @purplesyringa 1y

                  AFAIK there's an honest to god rc that doesn't build on GCC 14, it's not even just a broken master

                  1. @CcxCZ 1y

                    lel now that's fun

            2. dev_meme 1y

              Yeah, that's the whole meme

        2. @deadgnom32 1y

          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.

          1. @deadgnom32 1y

            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

  13. @RiedleroD 1y

    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

    1. @DerKnerd 1y

      I am honestly confused he doesn't use Debian

      1. @RiedleroD 1y

        yeah tbh that's what I'd use in that situation

      2. @deadgnom32 1y

        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.

    2. dev_meme 1y

      Well, someone should be on Fedora Someone who quickly can sort out found errors

    3. @BearChild 1y

      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.

      1. @RiedleroD 1y

        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

        1. @RiedleroD 1y

          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

          1. Deleted Account 1y

            Any compiler should be able to compile atleast whatever was made with previous compiler version

            1. @RiedleroD 1y

              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

              1. @RiedleroD 1y

                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

              2. Deleted Account 1y

                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)

        2. @BearChild 1y

          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.

    4. @deadgnom32 1y

      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.

  14. @DerKnerd 1y

    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

  15. @DerKnerd 1y

    Ironically, I despise snaps on desktop but on server they are kind of neat :D

  16. @Strangerx 1y

    Afaik Linus was on Debian last time I checked it What made him move to Fedora though?🤔

    1. @deadgnom32 1y

      he is on fedora since many years, I was at university when I've seen interviews, where he told he uses fedora.

    2. dev_meme 1y

      I thought you switched to Fedora 13 years ago due to him

Use J and K for navigation