this post was submitted on 12 Feb 2024
-25 points (36.3% liked)

Linux

48328 readers
555 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] CameronDev@programming.dev 12 points 9 months ago* (last edited 9 months ago) (1 children)

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.

[–] taladar@sh.itjust.works 6 points 9 months ago* (last edited 9 months ago) (1 children)

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.

[–] CameronDev@programming.dev 2 points 9 months ago (1 children)

Okay, fair point, thanks for clarifying that. I just know glibc versions have bitten me before :(

[–] taladar@sh.itjust.works 2 points 9 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.