Linus Torvalds Says Linux Kernel v5.0 'Should Be Meaningless' (betanews.com) 165
An anonymous reader shares a report: Following the release of Linux kernel 4.16, Linus Torvalds has said that the next kernel will be version 5.0. Or maybe it won't, because version numbers are meaningless. The announcement -- of sorts -- came in Torvalds' message over the weekend about the first release candidate for version 4.17. He warns that it is not "shaping up to be a particularly big release" and questions whether it even matters what version number is slapped on the final release. He says that "v5.0 will happen some day. And it should be meaningless. You have been warned." That's not to say that Linux kernel v5.0 -- or whatever it ends up being called -- will not be significant. With the removal of old architecture and other bits of tidying up, with v4.17 RC1 there were more lines of code removed than added: something described as "probably a first. Ever. In the history of the universe. Or at least kernel releases."
Re:I can haz frist post! (Score:5, Insightful)
Linus already not that "active" ... (Score:2)
Once Linus is no longer maintaining the kernel (or has died), you will miss him more than you miss Steve Jobs.
Why? Hadn't Linus dropped off the top contributor list long ago? We are already well past the point where Linux development is done, or guided, by hobbyists; development is now dominated, and guided, by corporations.
Linus is more of an administrator in the development process, approving changes more than making changes. The corporations could easily supply someone for that role too.
Linus would be missed as a spokesperson, a figurehead, an occasional source of humor (ex. comments when irritated), but f
Re: (Score:3)
Yes. And Steve Jobs was never the Employee of the Month at the Foxconn factory where the iPhones are actually made. But that doesn't matter.
It's still Linus who ultimately decides what is and what is not accepted into the kernel (either directly or by delegating it to people he personally trusts) and makes the major decision regarding where the kernel is headed and that's the thing that actually matters not writing a few hundred lines of code to sup
Re: (Score:2)
Re: (Score:2)
yeah but it cannot be linux as he hold and defend that trademark
An heir will sell the trademark to Microsoft of Oracle. :-)
Re: (Score:1)
Once Linus is no longer maintaining the kernel (or has died), you will miss him more than you miss Steve Jobs.
Steve Jobs would be alive today if only his doctors could have opened him up to fix him!
Follow the Mozilla model (Score:1)
Re: (Score:2)
Snaps snaps snaps!
Re: (Score:2)
Think there's a difference in interupreting the sense of 'should'.
He is saying 'should' as in 'I expect it should be meaningless' as in 'As it stands, I don't see a forseeably different reason to bump the version number, but it's going to happen anyway to keep the numbers small'.
It all boils down to there originally being meaning, and the kernel suffering greatly as a result of how they went (spending years of drift from stability that would be herculean to overcome as it sat in unstable.
Then they decided t
Re: (Score:2)
Well, they are not going to break backwards compatibility as that would break Linux, so the major version would be forever stuck at 2, and they no longer differentiates between adding features or adding bug-fixes (they are the same), so the two other numbers in the semantic versioning would also be somewhat meaningless.
Re: (Score:2)
Congratulations, AC. Your logical attitude will win you a one-way trip to the re-education camps. I'm sure I'll see you there. But I don't see what any of this has to do with Linux.
Re: (Score:2)
> It's filled with frothing-at-the-mouth types who think anyone disagreeing with them is pure evil.
What you're describing is not coming from LGBT its coming from so-called liberalism, It just so happens that many (if not most) LGBTs are also liberals.
It should (Score:4, Insightful)
0.0.xx releases should be bugfixes. 0.xx releases should be minor feature updates. X.00 releases should be releases that break, or significantly change, the ABI, or that add major functionality.
Re: (Score:2)
The problem for the kernel is it has exceedingly broad scope and as such has hit difficulties with the 'major functionality' criteria.
Some major networknig addition that only matters for telcos lands in a kernel and that drives a bump, even though 90% of the users don't even use it? There a new DM module for a nice enterprise storage that does nothing for a phone user?
When they did do the major functions are held back dance, some 'major things' that were quick got held up for years waiting for other 'major
Actually it is time for microkernels (Score:2)
Of course, while microkernels are apparently the obvious better choice, as they are everyone's theoretical wet dream, everyone who tried them realized that the waste due to the tight intetfaces between modues is too big, and that they hence will always be too inefficient.
With computer power so far beyond user demands, with so many layers in the software stack and/or application implemented with convenience rather than performance in mind, or implementation speed rather than execution speed if you prefer, the reduced performance of the light interfaces is rather insignificant overall. Greater reliability and security would outweigh such minor overall performance costs.
Re: (Score:2)
Certainly in some software and especially desktop software, the efficiency of communication between parts of the kernel is down in the noise. However there continue to be exceedingly latency sensitive scenarios where the developers have done the hard work to minimize every last little hit to performance. Of course this is taking the claim that micro kernel necessarily means a compromise on performnace at face value, which is not necessarily true.
The Linux kernel is one of those things that seem to work be
Re: (Score:2)
Interestingly enough, it's more like a 'master of all trades'. The reality is that while there are some unique needs for a phone versus a desktop versus embedded networking equipment versus a server, they also have a lot in common (the general concept of organizing codes into 'processes' and 'threads'). Also, we are deeply in a world where purpose-built hardware has to a large extent given way to generics (nowadays it's more likely your cell phone signal is handled by SDR on servers in the tower than a ha
Re: (Score:3)
0.0.xx releases should be bugfixes. 0.xx releases should be minor feature updates. X.00 releases should be releases that break, or significantly change, the ABI, or that add major functionality.
That's one way to do version numbers. That's how the Linux kernel used to do things. And Linus found that it didn't work very well for the kernel, so he changed to a different approach.
Re: (Score:2)
Fair enough, but the jump between .17 and .0 seems odd unless there's some reason. Why not .18? Or .9 to .0 like everyone used to do it?
Re: (Score:2)
Fair enough, but the jump between .17 and .0 seems odd unless there's some reason. Why not .18? Or .9 to .0 like everyone used to do it?
Linus's "meaningless" quote addresses his motivations: he doesn't want there to have to be a reason. He wants to discourage people from treating a "5.0" release any differently than they would treat a "4.17" release, because with the current kernel development model, every version increment is essentially equal.
Re: (Score:1)
Just drop the first digit then.
Didn't Solaris or something do that?
As a user, I'd think it makes sense to bump the first digit for the long-term supported ones. I'd be able to know 5.0.x was going to have the x incrememnted with bugfixes longer than anything until 6.0.x
The number is no longer then about features, but still provides useful information.
Re: (Score:1)
I understand that. My point is that when he makes jumps as I described, he's inviting people to assume there's a reason. Presumably Linux has influence over the version numbering.
If you go from 4.9 to 5.0, that's just a .1 bump. If you go from 4.17 to 5.0, it implies there's a reason why you changed the big number instead of the little one.
Re: (Score:3)
Well then he should just drop the numbering plan all together. We should name kernel releases after porn stars. Cindy, Tammy, Candy....
Re: (Score:2)
Good plan, although unlike numerics with this system not everyone knows in which order they come.
Re: (Score:2)
Key thing is to pick one and stick with it. Windows 10 is all very well, but what are they gonna do when they are on V94, huh?
I seem to recall that the API uses bytes for major and minor versions, so Windows 256 is gonna be a problem.
Pretty short sighted if you ask me. All my version numbers are uint64s representing the number of nanoseconds since 02:14 on August 29th, 1997.
Re: It should (Score:2)
Windows 10 was supposed to be the last Windows version.
Re: (Score:2)
So Linus basically invented semantic versioning and now that it's become religion he's dropping it.
Cheeky bugger ;-)
Re: (Score:2)
Cheeky bugger ;-)
You might even say he's a git.
Re: (Score:2)
We already have:
0.0.xx releases which are stable releases from the linux-stable repository, these include bug fixes. However, only LTS (Long Term Support) kernels have on-going support.
0.xx releases are the cumulative releases. Each release is unique. Each release is generally compatible with the previous release. However, note the kernel has config options with allows the kernel to be conditionally built which allows sub-systems to be configured in and out. Therefore, the kernel version only identifies the
What's in a number, what's in a name? (Score:3)
People put way to much emphasis on labels. While you might expect to break more compatibility on a major number than on a minor, i.e. I'd probably be more wary to install a 5.0 than a 4.22, it's been shown time and time again that it doesn't really matter. Why the urge to have a major number anyway? I'd be calling it 5.0 if something huge changed.
With most software it's mostly a marketing game. We change major numbers so we can charge you again. But with the transition to SaaS, this practice will even change for CSS, why FOSS felt the urge to play the game in the first place is beyond me.
Re:What's in a number, what's in a name? (Score:5, Insightful)
Many version numbers in software are meaningful.
If anyone depends on your software, then using major/minor/patch version numbers to distinguish which changes are backwards incompatible, feature additions, and bug fixes is very helpful to those downstream. See https://semver.org/ [semver.org]
Re: (Score:2)
Indeed. It's rumored that Microsoft skipped Windows 9 because of potential compatibility issues.
https://www.informationweek.co... [informationweek.com]?
Re: (Score:2)
That's no rumor, that's the reason. Many install scripts (and other programs) didn't bother looking for "Windows 95 || Windows 98" but were just looking for "Windows 9", because whether it's 5 or 8 after the 9 didn't matter. That's all that could have happened after the 9.
All these programs and scripts would break in Windows 9.
Another reason was that MS learned that people wisened up and knew that only every OTHER version of Windows was actually usable, so they tried to trick people into thinking that 10 is
Re: (Score:1)
I personally think the (very improbably) reason that in German "Windows Nine" would sound like "Windows NEIN!" or, well, "Windows NO!", and thus causing failure in the German market was the best explanation ;-)
Re: What's in a number, what's in a name? (Score:2)
Germans simply would say Windows neun.
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
Yeah, I don't think software version numbers are necessarily (or should be) meaningless. However, I think it's true that version numbers are arbitrary. Maybe that's what Torvalds meant.
It may not seem like much of a distinction, but the point is that developers can number their software any way that they like. The actual numbers are not objectively an indicator of anything. If the developer has no reason for the number they've chosen, then the version number has no meaning. However, if they have a rea
Re: (Score:2)
He simply meant that for the linux kernel, the version numbers after 2.6 are meaningless except to say x is newer than y. It's just how they chose to do it. He is not making some grand statement about version numbers in general, it's just the particular approach they do for the kernel.
The kernel is well enough known, does a lot of different things, and wrapped by other organizations that it can be one of the 'special snowflakes' and not really be a big part of the whole 'versioning' philosophy.
Re: (Score:2)
Versions are a way of conveying information. For simplistic and/or obscure projects, adherence to general rules of thumb help people know how to interact with your software.
For the kernel, well, they are special and for them torturing themselves over whether a particular interval has something that *means* x or y or z changes in an x.y.z version is a waste of time. For them, the direct technical stakeholders have a much more nuanced understanding of how it develops than any version number could possibly c
Re: (Score:2)
A company I worked at had to change version numbering from two decimal places to one, because another company stripped tailing zeros when displaying our firmware version and people thought that V2.9 was older than V2.52... Because 9 is less than 52.
Re: (Score:2)
This would've been the moment for me where version 2.91 follows 2.89, with the patchnotes reading "2.90: Patch skipped because company (name) is too stupid to display it correctly".
Re: (Score:1)
Its for a rather small open source project with less than 100 users, but yea, I screwed up on the version number code and now its kind of a baked in mis-feature.
nonsense (Score:1)
I still have high hopes that 5.0 brings windows subsystem support
Re: (Score:1)
Doesn't SystemD do this?
Re: (Score:2)
I heard there was talk to make it run Linux well too after that
Its more meaningful to use the year.month.day (Score:1)
2018.4.17 would be a much more useful over version numbers as consumers would know how old their IoT devices actually are.
Year of linux desktop should be more like 1995.4.17 for gnome, kde, xfce to indicate how far behind they are when comparined to windows and macs.
Re: (Score:1)
Do you add another .x for bugfixes and keep the old release date?
It seems using strictly dates could get real messy.
Re: (Score:1)
Sure, but then one needs a look up table to know what's what.
20180101 is the Long Term Release.
20180515 is the new update
20180613 is the bug/security update to 20180101 with none of the features of 20180515
etc. etc.
That sounds like a mess.
there are 3 numbers, the meaningless first, the feature explaining second (the 2 combined really), and the fix number for that.
if they just went to a single number, it would be hard to keep it sorted out as a user. am I downloading 4.17.0 equivalent, or 4.16.2 equivalent?
t
Headline fail (Score:2)
Version numbers are not meaningless (Score:1)
Version numbers are a very broadly understood proxy for communicating risks associated with change to your users.
The fact some have elected to fuck up version numbers for financial gain and politics shows version numbers are in fact not meaningless. As a user I would much prefer Linus et al stop playing games with version numbering. Often people working a project develop a project centric mindset that does not extent to the thinking or value propositions of users.
You think everyone has the time to rummag
Look, we all know where this is going (Score:4, Funny)
As demonstrated by both Apple (with their OS X, but no OS XI) and Microsoft (with their Windows 10, but no Windows 11), ten is just the highest number an OS can have. Linus is just preparing for the day when Linux, too, reaches its final version number.
Re: (Score:2)
This is Linus we are talking about. If there's one person in the world who realises he also has toes it's him. Apple and Microsoft may only be able to count to 10 but I expect Linux will go up to 20.
Re: (Score:3)
21 if he is in the shower.....
semantic versioning (Score:5, Insightful)
This is how Semantic Versioning [semver.org] ought to work:
So, while Linux kernel version numbers may be meaningless, it would perhaps be better if they were actually meaningful.
Re: (Score:3)
It's the kernel. You can't do incompatible API changes. Does that mean Linux should be on version 1.387.4?
Re: (Score:2, Insightful)
Linux kernel historically has had no API/ABI stability at all and Linus actively opposes any such concept. For a good reason too, we wouln't want to end up like Windows with their backwards compatibility baggage. On the other hand that means it's really hard to support hardware in any other way than having it in the kernel itself - just ask nVidia how their closed driver efforts are going when a new kernel/x.org versions arrive.
Re: (Score:3)
This is completely wrong. The Linux kernel API/ABI is utterly stable. You can install one of the first distributions, switch the kernel to 4.x, and things will work just fine.
You may have to enable a.out support though.
Re: (Score:2)
Sure you can, happens all the time, both with Linux and with other kernels. For Linux, those changes have simply been so haphazard that the rest of the Linux ecosystem assumes little and tries to compensate for them.
Re: (Score:1)
Historically, major versions are for major feature set changes. They don't have to break backwards compatibility. Sometimes they even correspond to complete rewrites, and it's hard to argue that's not useful.
Major versions should break broken APIs (Score:3)
Re: (Score:2)
it would perhaps be better if they were actually meaningful.
It is meaningful in its meaninglessness. The semantic versioning system assumes that you make software in a way that breaks functionality frequently or that you roll out bug fixes at a different cadence to feature improvements. The Linux kernel hasn't been maintained like that in a long time.
Re: (Score:2)
Where does it assume that?
And the problem with that is...?
Indeed! Probably because Linus thinks that a lot of standard software engineering "is meaningless".
Re: (Score:2)
Where does it assume that?
Right in the major version number.
And the problem with that is...?
Version numbering ceases making sense when you classify it according to bug fix / feature improvement but don't have a development cadence that incorporates standard fixes and maintenance fixes. When every fix involves both bux fixes and feature improvements then the entire premise of the versioning system you promote falls apart. You may as well just Start at 1.0 and then increase the decimal point at every commit. Which version of Linux are you running? 1.123512345 or the
Re: (Score:2)
Where in the major version number does it say that you "break functionality frequently"? Lots of software projects increment their major version number very infrequently.
No, I'm simply saying that people should remember that version numbers are not meaningless, it is only Linux kernel version numbers that are meaningless because Linus happ
Re: (Score:2)
Where in the major version number does it say that you "break functionality frequently"?
Dunno I was quoting you with your incompatible API changes. Maybe you were wrong.
No, I'm simply saying that people should remember that version numbers are not meaningless
They aren't. They form a logical sequence of releases. But the specific versioning system you proposed is meaningless to the development process of the Linux kernel. Maybe you don't understand Linus's comment because you don't understand the kernel development. I tried to explain it to you but you either didn't read it or willfully ignored it choosing instead to just repeat your original reply without addressing any subsequent
Re: (Score:2)
I simply stated that version numbers are meaningful and that major version number changes indicate API changes. How does that imply that a project "breaks functionality frequently"?
I wasn't making a comment about the Linux kernel, I was making a comment about version numbers in general.
Version numbers are NOT meaningless (Score:1)
At least, they are not supposed to be. Version numbering, particularly decimal-delimited versioning, was originally intended to communicate concisely the level of risk involved with the change from the prior version, with each field, progressing left to right, representing less risk.
For example:
2.4.12 -> 2.4.13 ~= Little risk involving a low degree of time and expense managing integration failures and customer blowback. Often these changes can be rolled out in production with little or even no integrati
Yeah (Score:1)
Re: (Score:1)
At least they fix things which are mostly not fixed in the mainline kernel.
Don't worry, even core Linux developers don't understand what they are doing which has many unpleasant effects. Examples? The broken IO since 3.x (see bug 1
Moving away from point releases (Score:3)
Re: (Score:1)
Not really. I would say that atrocities such as Semver have made point releases more popular than ever. You aren't wrong about rolling releases with whole numbers being popular too though.
The numbers are not meaningless (Score:2)
In particular, a legitimate "5.0" release really needs to be a "GT" version, and should include sport suspension, an aero package, 21-inch wheels, and Brembo brakes.
Good opertunity for positive press (Score:1)
Version numbers are pretty meaningless, but it does mean you can generate some news. Write up a big press release about all the changes since version 4.0, stick in some stats about how many computers are running linux and you might get into the mainstream press.
Here is my version (Score:2)
Five dot oh: complete with systemd.
The red pill: Back to the way it once was. Meaning less trouble.
Numbers are fine. (Score:2)
not meaningless (Score:1)
Version numbers are coherent. You instantly know where in the chain of evolution you are.
I despise projects that use names instead... "marshmellow finger", "Toxic lake"... what does that even mean? That is not information I want to have to store in my brain.
Version 5.0. I know exactly what that means and I am grateful for the simplicity.
Linux kernel lifecycle (Score:2)
He's right, when we went from 0.98/1.0 to 2.0 kernel, there were entire suits of new hardware supported, kernel modules, many new features, to say nothing of breaking existing functionality for many things.
20 years later and the major releases are functionally changing things only kernel programmers would care about.
Not to diminish those contributions, but by this point it's more slow roll evolution and iteration.
Deleting Code (Score:2)
Up next (Score:1)
We go for three levels deep whilst reporting one of Linus' burps.
LINUX (Score:1)
Re: (Score:3)
Linux itself is quite meaningless. Tacking on a version number doesn't change much.
Give me a proper Windows system any day.
The problem there is that a Windows system that is secure and stable is difficult to find. Soon , the windows OS itself will be a subscription product, locking you in to a new version of the walled garden.
Re: (Score:3)
Windows is great for games.
macOS is great for desktops.
Linux is great for servers.
Re: (Score:2)
macOS is great for desktops.
For those who can afford it I guess it's OK, but I can (and do) build a system much more powerful and install Linux on it for the price of a Mac desktop. Probably closer to half the price of a Mac, but I haven't priced one lately.
Re: (Score:3)
macOS is great for desktops.
For those who can afford it I guess it's OK
I don't see what's so special about it. As soon as you step outside of web/email/basic use then there's suddenly a great big hole compared to windows. Even basic stuff like text editors and FTP programs are completely lacking (show me the Mac equivalents of Notepad++ or WinSCP...)
My guess is that Macbooks mostly sell because they look pretty compared to the $500 Windows laptops you see in most stores.
My answer to that is to try spending $1500 on a windows laptop. You might find something equally pretty but
Re: (Score:2)
https://www.barebones.com/prod... [barebones.com]
Re: (Score:1)
no, windows laptops are flimsy, mac laptops are robust and have incredible battery life. don't have to fart around with driver downloading either.
windows and its hardware are an inferior world, I'm in both for laptops as my mac book pro is supplied by employer but at home my family and I have wintel laptops
Re: (Score:2)
we have a choice at work between those or mac books so we see the lifetime of hundreds. those Dell have MUCH more reliability problems
Re: (Score:2)
Even basic stuff like text editors and FTP programs are completely lacking (show me the Mac equivalents of Notepad++ or WinSCP...)
Depending on what you mean by "equivalent"... Equally functional, or looks/feels the same?
In either case, a lazy search in Google gives plenty of results.
Atom or Sublime Text are popular text editors. Most developers I work with use one or the other. Notepadd++ is a useful program but I use it more for viewing and searching XML and JSON files, or things like firewall config files.
FileZilla is cross platform and has been around for many years.
Or you can always use vim or emacs and sftp in the terminal. Those
Re: (Score:2)
And ... Linux for servers was a solved problem a decade ago.
I guess this is the real reason why incrementing the Linux version number is irrelevant.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
you're being silly. the discontinued CPU aren't what are used in PC, look them up and in what kind of devices they are used.
Re: (Score:2)
What good should do is merge android and chrome browser as app platforms, and allow apps to be installed in a container inside chrome, the app would be installed into a sandbox and could have access to its own files and nothing else, unless the user manually shares files with it, apps would of course be distributed as Webassembly and use DOM APIs, WebGL, HTML5 Video, etc, JIT for native speed. Apps could be installed through an app store. This is different from an extension becuase a Chrome app would not ha