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.
I don’t know, Apple releases a “new” version of macOS with big fanfare every year, and I’ve never heard anyone complain about it as if it were a huge breaking change.
A lot of people engineer their computing environment to break with newer branches/versions of an OS, so they need to remain on the previous OS version for a bit until it’s safe for them to upgrade. It’s VERY important to have an upgrade path, and be able to test how apps will work in the new environment.
For example, compare which PHP packages are on Ubuntu 20.04 vs 22.04 vs 23.10. As a dev, you will have to be sure your PHP app can work with whichever PHP package is provided. Rebuilding your entire app from scratch every time an OS upgrade comes out is not sustainable, so devs will remain on an older version until they have enough time/resources to rewrite it for the newer OS. They might stay on 20.04 until the OS no longer receives updates and becomes End of Life. They might start looking at 24.04 and seeing which PHP version will be available on it, and rewrite accordingly.
This is just one example for one set of packages. Multiply this by tens of thousands of packages, and you can see how delicate and complex an OS upgrade can be. Not just for the maintainers, but complex for end users as well.
Just use distrobox, especially for developing software.
Not only because of the versioning, but also because it’s more reliable and easier to manage/ contain in a distrobox container.
Ultimately all systems are just collections of other tools with their own version. Assessing the user impact depends a lot on what the user wants to do.
For instance in windows rs1 (early win10) and rs4(later win10) has pretty significant changes to the low level memory architecture, stuff like drivers is generally going to have much better compatibility between rs4 and sv1 (win11’s first big update) than between rs1 and rs4. However sv1 changes the right click menu so an end user is likely to believe that is way more different, and from their perspective, perhaps they are right.
Likewise on Linux stuff like your x11 (and especially if you go from x11 to wayland) is going to matter more for your user experience than the overall os version. To some users their browser version might just be the most important thing. Windows has a bit of an inherent advantage here in that a given windows version has many of its components (wddm, kernel etc) fixed for a particular os version, while in Linux you are more free to choose.
Version numbers are inherently technical and all the end user should care about is whether they are running the latest for whatever level of risk they can accept.
I’ll also add that for many users a new big update once a year is a good thing to be looked forward to. I don’t think there’s really a failure of communication here so much as a compromise of many different needs and I certainly don’t think the Linux version number is having any sort of impact on Linux adoption rate.
I think there’s also an undercurrent here of the “users find numbers scary” thing. I think this a generally patronizing idea, and in my experience non technical folks prefers the straightforward numbering scheme and understand major.minor style version updates over the code names (e.g when talking android for instance I have found android 10 is a lot more identifiable than android p, which has more recognition than android pie. Which probably explains why Google discontinued the code names thing). However if you are still not persuaded, then ubuntu does an animal code name thing.
I think you are missing the nuance of the post. It isn’t that users think numbers are inherently scary. It’s that they think the number of versions available is scary because it lends itself to the belief that those versions are mutually incompatible. Add that to the fact that software installation instructions often provide different instructions to install on different versions of a distro, or articles have titles like “How to do ____ in Ubuntu 20.04” leaving users to wonder if it still works in later versions. Of course, the answer is usually “yes”, but they won’t know that off the bat, and the reason is the presence of the version number. Meanwhile, a guide will almost never have a title like “How to do _____ in Android 11”. It will usually just say “Android”.
I disagree. Have you ever updated your Android or Iphone to a newer version of the OS? Did it seem complex there? I’d say no and on Linux Desktop it’s not different.
This isn’t about whether I think the version number confuses me.
I am arguing against the prominence of version numbers in Linux distros. Just like how users can go years without knowing what version of iOS or Android they’re using. In that case, upgrading Android versions is also presented as nothing more than a large update and not changing OS versions.
I explicitly want to avoid users drawing the comparison between, say, Windows 7 and Windows 10, and thinking an upgrade of that scale happens every six to nine months.
I think i disagree. There are definitely breaking changes between distro upgrades, even if they are under the hood changes.
https://discourse.ubuntu.com/t/mantic-minotaur-release-notes/35534
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.edit: not entirely true.In a future release, Python 2 is going to be removed. There are thousands of python2 only scripts still floating around, the drop of python2 is going to hurt someone.
I think we lie to ourselves a bit about the reliability of upgrades, they are often flawless, but definitely not always. Fixing the issues can be easy for seasoned linux users, so we can tend to fix and forget. (This is not a dig at anyone, I am guilty of this as well)
I see where your coming from, with the desire to avoid overly concerning new users, but I dont think changing the terminology here is the answer.
I would prefer to keep the existing terminology and instead fix the messaging to make it clear that while there may be a risk, it is a minimal risk.
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.
Okay, fair point, thanks for clarifying that. I just know glibc versions have bitten me before :(
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.
It clearly doesn’t stop anyone from trying Linux.
What stops them is compatibility issues with apps or hardware. Otherwise, non geeky people don’t care about these things.
I’d even say that the amount of distributions or desktop environments is more scary for people.
Exactly
We go through cycles of this. People get it in their head that “linux is finally ready for mainstrream desktop usage”. A lot of people “make the change” and then assess it for themselves.
But there is always this crowd of evangelists that insist on either being ridiculously pedantic or downplaying some of the headaches. And this is a perfect example of… both?
On the Windows side? Most people will never notice that. I think MS have reached the point where they don’t even give users a choice after N weeks? You just go down in the middle of watching a naughty video and come up to Cortana turning on all the spyware and telling you to use Edge already.
On “Linux”? It is almost (?) always a series of special commands you provide your package manager and/or upgrade app where it feels like someone is trying to warn you at every step of the way that you WILL destroy your computer. And… it might. I am still not convinced that something didn’t get borked with Fedora and plasma and I probably need to just set aside an hour or two to reformat.
The end result is largely the same (depending on what version and what distro). But it very much goes beyond “numbers are scary” and into “But you said I shouldn’t run random commands I find on the internet with the word ‘sudo’ in them. And now I should?” territory.
Personally? I think this is actually an excellent selling point. I hate that Windows does whatever the hell it wants these days. I like that I am making a conscious effort to update my OS. And, while I dislike them in practice, I think “immutable OSes” are the way to make this palatable for the masses.
You don’t know that it hasn’t stopped anyone from using Linux. The reality of large numbers is that with a big enough sample size, any minor frustration (or seemingly minor) has almost certainly stopped someone from using Linux.
From that perspective, the fact that the mascot is a penguin named Tux has certainly stopped someone from using Linux, but I’m not sure that’s a meaningful thing to worry about or a good reason to change it…
I’d even say that the amount of distributions or desktop environments is more scary for people.
The same people must be terrified at the super-market
Anyone coming from a development background will entirely get the idea of stable releases. 23.10 or 24.04 are just rolling releases of a stable distro. It’s the production ready version. You can choose to opt-in to the development updates at the risk that your system might be slightly more unstable, but that’s not a decision that a casual user should consider.
The version numbers on Ubuntu specifically, are just dates. 23.10 is the stable release from October, 2023. That’s all it is and there’s really no point in thinking about it deeper than that. It’s a date, not really a version number.
I don’t think non-LTS Ubuntu releases are technically rolling releases. They are more like shorter supported snapshots.
In science it is common to first proof your thesis before jumping ship and demanding change. The human mind is difficult to understand. Make a study about it and prove your point. Anything else is just BS.
Windows updates are not entirely new versions of the OS. Its kernel is at version 6 since Vista and did not get any major changes.
From a user’s perspective, neither has the Linux kernel. The kernel’s version number may increase but the strict principle of “don’t break userland” has meant that old software is almost always compatible with newer kernels.
Ive always considered updates to be updates, akin to windows updates… But also say this is a problem how should someone fix it, making arbitrary graphical changes to ui? Update system without the users knowledge or changing the terminology?
Rolling release distros don’t do this. Gentoo isn’t versioned. I’d guess that Arch isn’t either. Not that you’re the first person to look at an issue that exists only with some distros and assume it extends to all of Linux (and I doubt you’ll be the last).
I disagree with your interpretation, that it seems complicated
For Ubuntu it is also pretty obvious that the versioning is YEAR.MONTH and that there’s always a .04 and .10 and it should be clear that there aren’t two major upgrades per year.
I… I had not realized this. The year.month that is
Also, with windows and Mac OS, the new versions are usually just an excuse to make you pay again.
Pay what?
Mac hasn’t charged for an OS in ages, and Windows has given “free upgrades” for several version because they’re stealing more data and want people to switch.
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.
The other difference is updating from 23.04 to 23.10 requires running a separate utility, changing repos, and can often break things (PHP upgrading but things still pointing to the old socket version for example). That’s why it feels like a major upgrade, because it is a lot closer to going from W10 to W11, vs just 23H2 to 24H2 which is invisible.
Can you complain with them