5 ms·
There's no minor and major. All releases are equivalent but the first number is bumper when the second becomes large enough, which happens every 2-3 years.
by bonzini 2y ago
There's no minor and major. All releases are equivalent but the first number is bumper when the second becomes large enough, which happens every 2-3 years.
- yjftsjthsd-h 2y agoIn fairness, that is a weird versioning scheme, and I really do wish that Linux either switched to full semver (in which case it'd be version 2.9000.0 or so by now) or just drop the leading digit and go full build number kinda like NT does. But as cousin comments note, not my project not my call:)
- nolist_policy 2y agoI like qemu's version scheme were the major version increases every year (since version 4.0). So x.1 the first release in a year and you can see from a quick glance how "old" a version is.
- yjftsjthsd-h 2y agoI don't mind date-based versions, though if you're going to do that I feel like it'd be easier to go all the way? I can't tell how old qemu 4.0 is, but even without knowing details I would feel pretty confident in roughly when a hypothetical qemu-2024.1 had been released.
- dessimus 2y agoI would think most if not all of the enterprise distros would object as generally they lock their kernel versions for the duration of a "release" lifecycle and backport security fixes from newer kernels to the version they chose. They wouldn't want users thinking they were still using a "2024" kernel in 2032, for example, when they have 10+ years of support to provide.
- RandomThoughts3 2y agoNote that the world would be significantly better if entreprise distros stopped doing that and just shipped the latest kernel. I understand freezing user space because most developers don’t care about shipping stable software and break compatibility all the time but the kernel takes its pledge to never break user space very seriously. The backporting is very much hit and miss.
- bonzini 2y agoRegressions in upstream kernel exist; they may be security issues, assertion failures, performance regressions, and so on. It's just too much work to validate a whole new kernel every six months, and also much harder to pinpoint a regression. People have tried shipping the latest kernel; it's the same in all environments, from enterprise distros to network appliances to phones, people end up sticking to an upstream release and do backports on top.
- RandomThoughts3 2y agoI have been using upstream kernels on multiple machines including network equipments for more than a decade now. I will take the risk of regressions over back ported patches any day. Apart for regulations mandating vulnerable (we can call them outdated if you prefer being coy) versions, the elephant in the room is obviously non mainlined drivers but I wouldn’t touch that with a ten feet pole anyway.
- yjftsjthsd-h 2y agoThe one difference is that in at least some cases RHEL freezes things to provide a stable kernel ABI - https://access.redhat.com/solutions/444773 https://access.redhat.com/solutions/444773
- RandomThoughts3 2y agoSure but the world would also be better without out of tree patches which don’t track the mainline.
- homebrewer 2y agoWhat for? Every kernel release is equal as far as maintainers are concerned, the list of features that go in depends on what is ready in time. They would have to change release processes significantly to accommodate "major versions", and I don't think they would want to do that. Also, the kernel doesn't really have an external kernel API, the user API is supposed to be 100% stable, and its internal kAPI is nobody else's business, so there's one less reason for semver.
- CorrectHorseBat 2y agoWhy then confuse users with the first dot? The second dot having a meaning makes it even more confusing. Just drop the first dot like Chrome and Firefox did.
- ithinkso 2y agoAs the comment above stated - so that the numbers don't grow too large
- CorrectHorseBat 2y agoBut why does that matter? They are as large as they are, a dot in between doesn't change that. The only thing I can imagine is trying not to break scripts looking at the kernel version and expecting two dots. If that's the case it makes more sense to use the OpenBSD way and increase after 9.
- bdhcuidbebe 2y agoKernel version scheme has been bikeshedded for decades already, See LKML if you want to contribute further
- rurban 2y agoSo what new feature set would be more major than PREEMPT_RT? Anybody will remember the great 6.12 for years, whilst 7.0 will be forgotten in a month.
- usr1106 2y agoFull semver is an illusion. It's often debatable what is a new feature (we support a previously unsupported functionality) vs. what is a bug fix (it did not work correctly before). Also what is a non-compatible change is not always clear. Did the user do it wrong in their existing code or did the project make an incompatible change? The kernel has said for long times that they don't make incompatible changes. We don't break user space as they say. So you could prefix their numbers with an imaginary "1.". Of course sometimes opinions vary, whether a change breaks userspace or breaks wrong code. That said the kernel numbering scheme is weird. Increasing the first digit after 19 *or* 20 is less logical than imperial units.
- bonzini 2y ago> The kernel has said for long times that they don't make incompatible changes Which is also not entirely true, as sometimes bad or obsolete functionality is dropped (e.g. /dev/mem). Given how big the kernel is, probably all versions would be a semver bump for one of it's many subsystems.
- fuoqi 2y agoYeah, I wish they have just used dates for user-facing releases. At least, it would contain some useful information.
- perlgeek 2y agoFor regular releases without semver, I'd slightly prefer a version number that contained the year (and possibly month), like Ubuntu does it. Gives immediate feeling for how old (or young) a version is.