The jump in distro versions, say, from Fedora 38 to Fedora 39, is not the same as the jump from Windows 10 to Windows 11. It’s more like the jump from version 23H2 to 24H2.

Now, I’m sure even most Windows users among those reading will ask “wtf are 23H2 and 24H2”? The answer is that those version numbers are the Windows analogue to the “23.10” at the end of “Ubuntu 23.10”. But the difference is that this distinction is invisible to Windows users.

Why?

Linux distros present these as “operating system upgrades”, which makes it seem like you’re moving from two different and incompatible operating systems. Windows calls them “feature updates”. They’re presented as a big deal in Linux, whereas on Windows, it’s just an unusually large update.

This has the effect of making it seem like Linux is constantly breaking software and that you need to move to a completely different OS every six to nine months, which is completely false. While that might’ve been true in the past, it is increasingly true today that anything that will run on, say, Ubuntu 22.04 can also run without modification (except maybe for hardcoded version checks/repository names) on Ubuntu 23.10, and will still probably work on Ubuntu 24.04. It’s not guaranteed, but neither is it on Windows, and the odds are very good either way.

I will end on the remark that for many distros, a version upgrade is implemented as nothing more than changing the repositories and then downloading the new versions of all the packages present and running a few scripts. The only relevant changes (from the user’s perspective) is usually the implementation of new features and maybe a few changes to the UI. In other words, “feature update” describes it perfectly.

  • taladar
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    10 months ago

    For 23.10, glibc changed version, if a user is running a binary that explicitly links against an older version, that binary will not work anymore. I would like to live in a world without these kind of binaries, but they exist, and users do rely on them.

    That is not actually true. glibc hasn’t changed ABI versions in a backwards incompatible way in a long time. You can’t use new binaries on the old system usually but you can absolutely use old ones on the new system.

    Many other libraries do change ABI versions more frequently though.

      • taladar
        link
        fedilink
        arrow-up
        2
        ·
        10 months ago

        It is frequently a problem when running old systems and binaries are compiled for something newer, especially with distros like RHEL that “support” stuff for much longer than most upstream projects are willing to wait to use new features.