Interviews: Linus Torvalds Answers Your Question
Last Thursday you had a chance to ask Linus Torvalds about programming, hardware, and all things Linux. You can read his answers to those questions below. If you'd like to see what he had to say the last time we sat down with him, you can do so here.
Productivity
by DoofusOfDeath
You've somehow managed to originate two insanely useful pieces of software: Linux, and Git. Do you think there's anything in your work habits, your approach to choosing projects, etc., that have helped you achieve that level of productivity? Or is it just the traditional combination of talent, effort, and luck?
Linus: I'm sure it's pretty much always that "talent, effort and luck". I'll leave it to others to debate how much of each...
I'd love to point out some magical work habit that makes it all happen, but I doubt there really is any. Especially as the work habits I had wrt the kernel and Git have been so different.
With Git, I think it was a lot about coming at a problem with fresh eyes (not having ever really bought into the traditional SCM mindset), and really trying to think about the issues, and spending a fair amount of time thinking about what the real problems were and what I wanted the design to be. And then the initial self-hosting code took about a day to write (ok, that was "self-hosting" in only the weakest sense, but still).
And with Linux, obviously, things were very different - the big designs came from the outside, and it took half a year to host itself, and it hadn't even started out as a kernel to begin with. Clearly not a lot of thinking ahead and planning involved ;). So very different circumstances indeed.
What both the kernel and Git have, and what I think is really important (and I guess that counts as a "work habit"), is a maintainer that stuck to it, and was responsive, responsible and sane. Too many projects falter because they don't have people that stick with them, or have people who have an agenda that doesn't match reality or the user expectations.
But it's very important to point out that for Git, that maintainer was not me. Junio Hamano really should get pretty much all the credit for Git. Credit where credit is due. I'll take credit for the initial implementation and design of Git - it may not be perfect, but ten years on it still is very solid and very clearly the same basic design. But I'll take even _more_ credit for recognizing that Junio had his head screwed on right, and was the person to drive the project. And all the rest of the credit goes to him.
Of course, that kind of segues into something else the kernel and Git do have in common: while I still maintain the kernel, I did end up finding a lot of smart people to maintain all the different parts of it. So while one important work habit is that "stick to it" persistence that you need to really take a project from a not-quite-usable prototype to something bigger and better, another important work-habit is probably to also "let go" and not try to own and control the project too much. Let other people really help you - guide the process but don't get in their way.
init system
by lorinc
There wasn't a decent unix-like kernel, you wrote one which ultimately became the most used. There wasn't a decent version control software, you wrote one which ultimately became the most love. Do you think we already have a decent init system, or do you have plan to write one that will ultimately settle the world on that hot topic?
Linus: You can say the word "systemd", It's not a four-letter word. Seven letters. Count them.
I have to say, I don't really get the hatred of systemd. I think it improves a lot on the state of init, and no, I don't see myself getting into that whole area.
Yeah, it may have a few odd corners here and there, and I'm sure you'll find things to despise. That happens in every project. I'm not a huge fan of the binary logging, for example. But that's just an example. I much prefer systemd's infrastructure for starting services over traditional init, and I think that's a much bigger design decision.
Yeah, I've had some personality issues with some of the maintainers, but that's about how you handle bug reports and accept blame (or not) for when things go wrong. If people thought that meant that I dislike systemd, I will have to disappoint you guys.
Can Valve change the Linux gaming market?
by Anonymous Coward
Do you think Valve is capable of making Linux a primary choice for gamers?
Linus: "Primary"? Probably not where it's even aiming. I think consoles (and all those handheld and various mobile platforms that "real gamers" seem to dismiss as toys) are likely much more primary, and will stay so.
I think Valve wants to make sure they can control their own future, and Linux and ValveOS is probably partly to explore a more "console-like" Valve experience (ie the whole "get a box set up for a single main purpose", as opposed to a more PC-like experience), and partly as a "second source" against Microsoft, who is a competitor in the console area. Keeping your infrastructure suppliers honest by making sure you have alternatives sounds like a good strategy, and particularly so when those suppliers may be competing with you directly elsewhere.
So I don't think the aim is really "primary". "Solid alternative" is I think the aim. Of course, let's see where it goes after that.
But I really have not been involved. People like Greg and the actual graphics driver guys have been in much more direct contact with Valve. I think it's great to see gaming on Linux, but at the same time, I'm personally not really much of a gamer.
The future of RT-Linux?
by nurhussein
According to Thomas Gleixner, the future of the realtime patchset to Linux is in doubt, as it is difficult to secure funding from interested parties on this functionality even though it is both useful and important: What are your thoughts on this, and what do you think we need to do to get more support behind the RT patchset, especially considering Linux's increasing use in embedded systems where realtime functionality is undoubtedly useful.
Linus: So I think this is one of those things where the markets decide how important rtLinux ends up being, and I suspect there are more than enough companies who end up wanting and using rtLinux that the project isn't really going anywhere. The complaints by Thomas were - I think - a wake-up call to the companies who end up wanting the extended hard realtime patches.
So I suspect there are companies and groups like OSADL that end up funding and helping with rtLinux, and that it isn't going away.
Rigor and developments
by hcs_$reboot
The most complex program running on a machine is arguably its OS, especially the kernel. Linux (kernel) reached the top level in terms of performance, reliability and versatility. You have been criticized quite a few times for some virulent mails addressed to developers. Do you think Linux would be where it is without managing the project with an iron fist? To go further, do you think some other main OSS project would benefit from a more rigorous management approach?
Linus: One of the nice things about open source is how it allows people to really concentrate on what they are good at, and it has been a huge advantage for Linux that we've had people who are interested in the marketing side and selling Linux, as well as the legal side etc.
And that is all in addition, of course, to the original "we're motivated by the technology" people like me. And even within that "we're motivated by technology" group, you most certainly don't need to find _everything_ interesting, you can find the area you are passionate about and really care about and want to work on.
That's _fundamentally_ how open source works.
Now, if somebody is passionate about some "good management" thing, go wild, and try to get involved, and try to manage things. It's not what _I_ am interested in, but hey, the proof is in the pudding - anybody who thinks they have a new rigorous management approach that they think will help some part of the process, go wild.
Now, I personally suspect that it wouldn't work - not only are tech people an ornery lot to begin with (that whole "herding cats" thing), just look at all the crazy arguments on the internet. And ask yourself what actually holds an open source project like the kernel together? I think you need to be very oriented towards the purely technical solutions, simply because then you have tangible and real issues you can discuss (and argue about) with fairly clear-cut hard answers. It's the only thing people can really agree on in the big picture.
So the Linux approach to "management" has been to put technology first. That's rigorous enough for me. But as mentioned, it's a free-for-all. Anybody can come in and try to do better. Really.
And btw, it's worth noting that there are obviously specific smaller development teams where other management models work fine. Most of the individual developers are parts of teams inside particular companies, and within the confines of that company, there may well be a very strict rigorous management model. Similarly, within the confines of a particular productization effort there may be particular goals and models for that particular team that transcend that general "technical issues" thing.
Just to give a concrete example, the "development kernel" tree that I maintain works fundamentally differently and with very different rules from the "stable tree" that Greg does, which in turn is maintained very differently from what a distribution team within a Linux company does inside its maintenance kernel team.
So there's certainly room for different approaches to managing those very different groups. But do I think you can "rigorously manage" people on the internet? No.
Functional languages?
by EmeraldBot
While historically you've been a C and Assembly guy (and the odd shell scripting and such), what do you think of functional languages such as Lisp, Closure, Haskell, etc? Do you see any advantages to them, or do you view them as frivolous and impractical? If you decide to do so, thanks for taking the time to answer my question! You're a legend at what you do, and I think it's awesome that the significantly less interesting me can ask you a question like this.
Linus: I may be a fan of C (with a certain fondness for assembly, just because it's so close to the machine), but that's very much about a certain context. I work at a level where those languages make sense. I certainly don't think that tools like Haskell etc are "frivolous and impractical" in general, although on a kernel level (or in a source control management system) I suspect they kind of are.
Many moons ago I worked on sparse (the C parser and analyzer), and one of my coworkers was a Haskell fan, and did incredible example transformations in very simple (well, to him) code - stuff that is just nasty to write in C because it's pretty high-level, there's tons of memory management, and you're really talking about implementing fairly abstract and high-level rules with pattern matching etc.
So I'm definitely not a functional language kind of guy - it's not how I learnt programming, and it really isn't very relevant to what I do, and I wouldn't recognize Haskell code if it bit me in the ass and called me names. But no, I wouldn't call them frivolous.
Critical software to the use of Linux
by TWX
Mr. Torvalds, For many uses of Linux such as on the desktop, other software beyond the kernel and the base GNU tools are required. What other projects would you like to see given priority, and what would you like to see implemented or improved? Admittedly I thought most about X-Windows when asking this question; but I don't doubt that other daemons or systems can be just as important to the user experience. Thank you for your efforts all these years.
Linus: Hey, I don't really have any particular project I would want to champion, largely because we all have so different requirements on the desktop. There's just no single thing that stands out as being hugely more important than others to me.
What I do wish particularly desktop developers cared about is "consistency of experience". And by that I don't mean some kind of enforced visual consistency between different applications to make things "look coherent". No, I'm just talking about the pain and uncertainty users go through with upgrades, and understanding that while your project may be the most important project to *you* (because it's what you do), to your users, your project is likely just a fairly small and irrelevant part of their experience, and it's not very central at all, and they've learnt the quirks about that thing they don't even care about, and you really shouldn't break their expectations. Because it turns out that that is how you really make people hate their desktop.
This is not at all Linux-specific, of course - just look at the less than enthusiastic reception that other operating system redesigns have received. But I really wish that we hadn't had *both* of the major Linux desktop environments have to learn this (well, I hope they learnt) the hard way, and both of them ending up blaming their users rather than themselves.
"anykernel"-style portable drivers?
by staalmannen
What do you think about the "anykernel" concept (invented by another Finn btw) used in NetBSD? Basically, they have modularized the code so that a driver can be built either in a monolithic kernel or for user space without source code changes ( rumpkernel.org ). The drivers are highly portable and used in Genode os (L4 type kernels), minix etc... Would this be possible or desirable for Linux? Apparently there is one attempt called "libos"...
Linus: So I have bad experiences with "portable" drivers. Writing drivers to some common environment tends to force some ridiculously nasty impedance matching abstractions that just get in the way and make things really hard to read and modify. It gets particularly nasty when everybody ends up having complicated - and differently so - driver subsystems to handle a lot of commonalities for a certain class of drivers (say a network driver, or a USB driver), and the different operating systems really have very different approaches and locking rules etc.
I haven't seen anykernel drivers, but from past experience my reaction to "portable device drivers" is to run away, screaming like little girl. As they say in Swedish "Bränt barn luktar illa".
Processor Architecture
by swv3752
Several years ago, you were employed by Transmeta designing the Crusoe processor. I understand you are quite knowledgeable about cpu architecture. What are your thoughts on the Current Intel and AMD x86 CPUs particularly in comparison with ARM and IBM's Power8 CPUs? Where do you see the advantages of each one?
Linus: I'm no CPU architect, I just play one on TV.
But yes, I've been close to the CPU both as part of my kernel work, and as part of a processor company, and working at that level for a long time just means that you end up having fairly strong opinions. One of the things that my experiences at Transmeta convinced me of, for example, was that there's definitely very much a limit to what software should care about. I loved working at Transmeta, I loved the whole startup company environment, I loved working with really smart people, but in the end I ended up absolutely *not* loving to work with overly simple hardware (I also didn't love the whole IPO process, and what that did to the company culture, but that's a different thing).
Because there's only so much that software can do to compensate.
Something similar happened with my kernel work on the alpha architecture, which also started out as being an overly simplified implementation in the name of being small and supposedly running really fast. While I really started out liking the alpha architecture for being so clean, I ended up detesting how fragile the architecture implementations were (and by the time that got fixed in the 21264, I had given up on alpha).
So I've come to absolutely detest CPU's that need a lot of compiler smarts or special tuning to go fast. Life is too short to waste on in-order CPU's, or on hardware designers who think software should take care of the pieces that they find to be too complicated to handle themselves, and as a result just left undone. "Weak memory ordering" is just another example.
Thankfully, most of the industry these days seems to agree. Yes, there are still in-order cores, but nobody tries to make excuses for them any more: they are for the truly cheap and low-end market.
I tend to really like the modern Intel cores in particular, which tend to take that "let's not be stupid" really to heart. With the kernel being so threaded, I end up caring a lot about things like memory ordering etc, and the Intel big-core CPU's tend to be in a class of their own there. As a software person who cares about performance and looks at instruction profiles etc, it's just so *nice* to see that the CPU doesn't have some crazy glass jaw where you have to be very careful.
GPU kernels
by maraist
Is there any inspiration that a GPU based kernel / scheduler has for you? How might Linux be improved to better take advantage of GPU-type batch execution models. Given that you worked transmeta and JIT compiled host-targeted runtimes. GPUs 1,000-thread schedulers seem like the next great paradigm for the exact type of machines that Linux does best on.
Linus: I don't think we'll see the kernel ever treat GPU threads the way we treat CPU threads. Not with the current model of GPU's (and that model doesn't really seem to be changing all that much any more).
Yes, GPU's are getting much better, and now generally have virtual memory and the ability to preempt execution, and you could run an OS on them. But the scheduling latencies are pretty high, and the threads are not really "independent" (ie they tend to share a lot of state - like the virtual address space and a large shared register set), so GPU "threads" don't tend to work like CPU threads. You'd schedule them all-or-nothing, so if you were to switch processes, you'd treat the GPU as one entity where you switch all the threads at once.
So it really wouldn't look like a thousand threads to the kernel. The GPU would still be scheduled as one single entity (or maybe a couple of entities depending on how the GPU is partitioned). The fact that that single entity works by doing a lot of things in massive parallelism is kind of immaterial for the kernel that doesn't end up seeing that parallelism as separate threads.
alleged danger of Artificial Intelligence
by peter303
Some computer experts like Marvin Minsky, Larry Page, Ray Kuzweil think A.I. will be a great gift to Mankind. Others like Bill Joy and Elon Musk are fearful of potential danger. Where do you stand, Linus?
Linus: I just don't see the thing to be fearful of.
We'll get AI, and it will almost certainly be through something very much like recurrent neural networks. And the thing is, since that kind of AI will need training, it won't be "reliable" in the traditional computer sense. It's not the old rule-based prolog days, when people thought they'd *understand* what the actual decisions were in an AI.
And that all makes it very interesting, of course, but it also makes it hard to productize. Which will very much limit where you'll actually find those neural networks, and what kinds of network sizes and inputs and outputs they'll have.
So I'd expect just more of (and much fancier) rather targeted AI, rather than anything human-like at all. Language recognition, pattern recognition, things like that. I just don't see the situation where you suddenly have some existential crisis because your dishwasher is starting to discuss Sartre with you.
The whole "Singularity" kind of event? Yeah, it's science fiction, and not very good SciFi at that, in my opinion. Unending exponential growth? What drugs are those people on? I mean, really..
It's like Moore's law - yeah, it's very impressive when something can (almost) be plotted on an exponential curve for a long time. Very impressive indeed when it's over many decades. But it's _still_ just the beginning of the "S curve". Anybody who thinks any different is just deluding themselves. There are no unending exponentials.
Is the kernel basically a finished project?
by NaCh0
Aside from adding drivers and refactoring algorithms when performance limits are discovered, is there anything left for the kernel? Maybe it's a failure of tech journalism but we never hear about the next big thing in kernel land anymore.
Linus: I don't think there's much of a "next big thing" in the kernel.
I wouldn't say that there is nothing but drivers (and architectures are kind of "CPU drivers) and improving scalability left, because I'm constantly amazed by how many new things people figure out are still good ideas. But they tend to still be pretty incremental improvements. An OS kernel doesn't look *that* radically different from what it was 40 years ago, and that's fine. I think radical new ideas are often overrated, and the thing that really matters in the end is that plodding detail work. That's how technology evolves.
And judging by how our kernel releases are going, there's no end in sight for that "plodding detail work". And it's still as interesting as it ever was.
by DoofusOfDeath
You've somehow managed to originate two insanely useful pieces of software: Linux, and Git. Do you think there's anything in your work habits, your approach to choosing projects, etc., that have helped you achieve that level of productivity? Or is it just the traditional combination of talent, effort, and luck?
Linus: I'm sure it's pretty much always that "talent, effort and luck". I'll leave it to others to debate how much of each...
I'd love to point out some magical work habit that makes it all happen, but I doubt there really is any. Especially as the work habits I had wrt the kernel and Git have been so different.
With Git, I think it was a lot about coming at a problem with fresh eyes (not having ever really bought into the traditional SCM mindset), and really trying to think about the issues, and spending a fair amount of time thinking about what the real problems were and what I wanted the design to be. And then the initial self-hosting code took about a day to write (ok, that was "self-hosting" in only the weakest sense, but still).
And with Linux, obviously, things were very different - the big designs came from the outside, and it took half a year to host itself, and it hadn't even started out as a kernel to begin with. Clearly not a lot of thinking ahead and planning involved ;). So very different circumstances indeed.
What both the kernel and Git have, and what I think is really important (and I guess that counts as a "work habit"), is a maintainer that stuck to it, and was responsive, responsible and sane. Too many projects falter because they don't have people that stick with them, or have people who have an agenda that doesn't match reality or the user expectations.
But it's very important to point out that for Git, that maintainer was not me. Junio Hamano really should get pretty much all the credit for Git. Credit where credit is due. I'll take credit for the initial implementation and design of Git - it may not be perfect, but ten years on it still is very solid and very clearly the same basic design. But I'll take even _more_ credit for recognizing that Junio had his head screwed on right, and was the person to drive the project. And all the rest of the credit goes to him.
Of course, that kind of segues into something else the kernel and Git do have in common: while I still maintain the kernel, I did end up finding a lot of smart people to maintain all the different parts of it. So while one important work habit is that "stick to it" persistence that you need to really take a project from a not-quite-usable prototype to something bigger and better, another important work-habit is probably to also "let go" and not try to own and control the project too much. Let other people really help you - guide the process but don't get in their way.
init system
by lorinc
There wasn't a decent unix-like kernel, you wrote one which ultimately became the most used. There wasn't a decent version control software, you wrote one which ultimately became the most love. Do you think we already have a decent init system, or do you have plan to write one that will ultimately settle the world on that hot topic?
Linus: You can say the word "systemd", It's not a four-letter word. Seven letters. Count them.
I have to say, I don't really get the hatred of systemd. I think it improves a lot on the state of init, and no, I don't see myself getting into that whole area.
Yeah, it may have a few odd corners here and there, and I'm sure you'll find things to despise. That happens in every project. I'm not a huge fan of the binary logging, for example. But that's just an example. I much prefer systemd's infrastructure for starting services over traditional init, and I think that's a much bigger design decision.
Yeah, I've had some personality issues with some of the maintainers, but that's about how you handle bug reports and accept blame (or not) for when things go wrong. If people thought that meant that I dislike systemd, I will have to disappoint you guys.
Can Valve change the Linux gaming market?
by Anonymous Coward
Do you think Valve is capable of making Linux a primary choice for gamers?
Linus: "Primary"? Probably not where it's even aiming. I think consoles (and all those handheld and various mobile platforms that "real gamers" seem to dismiss as toys) are likely much more primary, and will stay so.
I think Valve wants to make sure they can control their own future, and Linux and ValveOS is probably partly to explore a more "console-like" Valve experience (ie the whole "get a box set up for a single main purpose", as opposed to a more PC-like experience), and partly as a "second source" against Microsoft, who is a competitor in the console area. Keeping your infrastructure suppliers honest by making sure you have alternatives sounds like a good strategy, and particularly so when those suppliers may be competing with you directly elsewhere.
So I don't think the aim is really "primary". "Solid alternative" is I think the aim. Of course, let's see where it goes after that.
But I really have not been involved. People like Greg and the actual graphics driver guys have been in much more direct contact with Valve. I think it's great to see gaming on Linux, but at the same time, I'm personally not really much of a gamer.
The future of RT-Linux?
by nurhussein
According to Thomas Gleixner, the future of the realtime patchset to Linux is in doubt, as it is difficult to secure funding from interested parties on this functionality even though it is both useful and important: What are your thoughts on this, and what do you think we need to do to get more support behind the RT patchset, especially considering Linux's increasing use in embedded systems where realtime functionality is undoubtedly useful.
Linus: So I think this is one of those things where the markets decide how important rtLinux ends up being, and I suspect there are more than enough companies who end up wanting and using rtLinux that the project isn't really going anywhere. The complaints by Thomas were - I think - a wake-up call to the companies who end up wanting the extended hard realtime patches.
So I suspect there are companies and groups like OSADL that end up funding and helping with rtLinux, and that it isn't going away.
Rigor and developments
by hcs_$reboot
The most complex program running on a machine is arguably its OS, especially the kernel. Linux (kernel) reached the top level in terms of performance, reliability and versatility. You have been criticized quite a few times for some virulent mails addressed to developers. Do you think Linux would be where it is without managing the project with an iron fist? To go further, do you think some other main OSS project would benefit from a more rigorous management approach?
Linus: One of the nice things about open source is how it allows people to really concentrate on what they are good at, and it has been a huge advantage for Linux that we've had people who are interested in the marketing side and selling Linux, as well as the legal side etc.
And that is all in addition, of course, to the original "we're motivated by the technology" people like me. And even within that "we're motivated by technology" group, you most certainly don't need to find _everything_ interesting, you can find the area you are passionate about and really care about and want to work on.
That's _fundamentally_ how open source works.
Now, if somebody is passionate about some "good management" thing, go wild, and try to get involved, and try to manage things. It's not what _I_ am interested in, but hey, the proof is in the pudding - anybody who thinks they have a new rigorous management approach that they think will help some part of the process, go wild.
Now, I personally suspect that it wouldn't work - not only are tech people an ornery lot to begin with (that whole "herding cats" thing), just look at all the crazy arguments on the internet. And ask yourself what actually holds an open source project like the kernel together? I think you need to be very oriented towards the purely technical solutions, simply because then you have tangible and real issues you can discuss (and argue about) with fairly clear-cut hard answers. It's the only thing people can really agree on in the big picture.
So the Linux approach to "management" has been to put technology first. That's rigorous enough for me. But as mentioned, it's a free-for-all. Anybody can come in and try to do better. Really.
And btw, it's worth noting that there are obviously specific smaller development teams where other management models work fine. Most of the individual developers are parts of teams inside particular companies, and within the confines of that company, there may well be a very strict rigorous management model. Similarly, within the confines of a particular productization effort there may be particular goals and models for that particular team that transcend that general "technical issues" thing.
Just to give a concrete example, the "development kernel" tree that I maintain works fundamentally differently and with very different rules from the "stable tree" that Greg does, which in turn is maintained very differently from what a distribution team within a Linux company does inside its maintenance kernel team.
So there's certainly room for different approaches to managing those very different groups. But do I think you can "rigorously manage" people on the internet? No.
Functional languages?
by EmeraldBot
While historically you've been a C and Assembly guy (and the odd shell scripting and such), what do you think of functional languages such as Lisp, Closure, Haskell, etc? Do you see any advantages to them, or do you view them as frivolous and impractical? If you decide to do so, thanks for taking the time to answer my question! You're a legend at what you do, and I think it's awesome that the significantly less interesting me can ask you a question like this.
Linus: I may be a fan of C (with a certain fondness for assembly, just because it's so close to the machine), but that's very much about a certain context. I work at a level where those languages make sense. I certainly don't think that tools like Haskell etc are "frivolous and impractical" in general, although on a kernel level (or in a source control management system) I suspect they kind of are.
Many moons ago I worked on sparse (the C parser and analyzer), and one of my coworkers was a Haskell fan, and did incredible example transformations in very simple (well, to him) code - stuff that is just nasty to write in C because it's pretty high-level, there's tons of memory management, and you're really talking about implementing fairly abstract and high-level rules with pattern matching etc.
So I'm definitely not a functional language kind of guy - it's not how I learnt programming, and it really isn't very relevant to what I do, and I wouldn't recognize Haskell code if it bit me in the ass and called me names. But no, I wouldn't call them frivolous.
Critical software to the use of Linux
by TWX
Mr. Torvalds, For many uses of Linux such as on the desktop, other software beyond the kernel and the base GNU tools are required. What other projects would you like to see given priority, and what would you like to see implemented or improved? Admittedly I thought most about X-Windows when asking this question; but I don't doubt that other daemons or systems can be just as important to the user experience. Thank you for your efforts all these years.
Linus: Hey, I don't really have any particular project I would want to champion, largely because we all have so different requirements on the desktop. There's just no single thing that stands out as being hugely more important than others to me.
What I do wish particularly desktop developers cared about is "consistency of experience". And by that I don't mean some kind of enforced visual consistency between different applications to make things "look coherent". No, I'm just talking about the pain and uncertainty users go through with upgrades, and understanding that while your project may be the most important project to *you* (because it's what you do), to your users, your project is likely just a fairly small and irrelevant part of their experience, and it's not very central at all, and they've learnt the quirks about that thing they don't even care about, and you really shouldn't break their expectations. Because it turns out that that is how you really make people hate their desktop.
This is not at all Linux-specific, of course - just look at the less than enthusiastic reception that other operating system redesigns have received. But I really wish that we hadn't had *both* of the major Linux desktop environments have to learn this (well, I hope they learnt) the hard way, and both of them ending up blaming their users rather than themselves.
"anykernel"-style portable drivers?
by staalmannen
What do you think about the "anykernel" concept (invented by another Finn btw) used in NetBSD? Basically, they have modularized the code so that a driver can be built either in a monolithic kernel or for user space without source code changes ( rumpkernel.org ). The drivers are highly portable and used in Genode os (L4 type kernels), minix etc... Would this be possible or desirable for Linux? Apparently there is one attempt called "libos"...
Linus: So I have bad experiences with "portable" drivers. Writing drivers to some common environment tends to force some ridiculously nasty impedance matching abstractions that just get in the way and make things really hard to read and modify. It gets particularly nasty when everybody ends up having complicated - and differently so - driver subsystems to handle a lot of commonalities for a certain class of drivers (say a network driver, or a USB driver), and the different operating systems really have very different approaches and locking rules etc.
I haven't seen anykernel drivers, but from past experience my reaction to "portable device drivers" is to run away, screaming like little girl. As they say in Swedish "Bränt barn luktar illa".
Processor Architecture
by swv3752
Several years ago, you were employed by Transmeta designing the Crusoe processor. I understand you are quite knowledgeable about cpu architecture. What are your thoughts on the Current Intel and AMD x86 CPUs particularly in comparison with ARM and IBM's Power8 CPUs? Where do you see the advantages of each one?
Linus: I'm no CPU architect, I just play one on TV.
But yes, I've been close to the CPU both as part of my kernel work, and as part of a processor company, and working at that level for a long time just means that you end up having fairly strong opinions. One of the things that my experiences at Transmeta convinced me of, for example, was that there's definitely very much a limit to what software should care about. I loved working at Transmeta, I loved the whole startup company environment, I loved working with really smart people, but in the end I ended up absolutely *not* loving to work with overly simple hardware (I also didn't love the whole IPO process, and what that did to the company culture, but that's a different thing).
Because there's only so much that software can do to compensate.
Something similar happened with my kernel work on the alpha architecture, which also started out as being an overly simplified implementation in the name of being small and supposedly running really fast. While I really started out liking the alpha architecture for being so clean, I ended up detesting how fragile the architecture implementations were (and by the time that got fixed in the 21264, I had given up on alpha).
So I've come to absolutely detest CPU's that need a lot of compiler smarts or special tuning to go fast. Life is too short to waste on in-order CPU's, or on hardware designers who think software should take care of the pieces that they find to be too complicated to handle themselves, and as a result just left undone. "Weak memory ordering" is just another example.
Thankfully, most of the industry these days seems to agree. Yes, there are still in-order cores, but nobody tries to make excuses for them any more: they are for the truly cheap and low-end market.
I tend to really like the modern Intel cores in particular, which tend to take that "let's not be stupid" really to heart. With the kernel being so threaded, I end up caring a lot about things like memory ordering etc, and the Intel big-core CPU's tend to be in a class of their own there. As a software person who cares about performance and looks at instruction profiles etc, it's just so *nice* to see that the CPU doesn't have some crazy glass jaw where you have to be very careful.
GPU kernels
by maraist
Is there any inspiration that a GPU based kernel / scheduler has for you? How might Linux be improved to better take advantage of GPU-type batch execution models. Given that you worked transmeta and JIT compiled host-targeted runtimes. GPUs 1,000-thread schedulers seem like the next great paradigm for the exact type of machines that Linux does best on.
Linus: I don't think we'll see the kernel ever treat GPU threads the way we treat CPU threads. Not with the current model of GPU's (and that model doesn't really seem to be changing all that much any more).
Yes, GPU's are getting much better, and now generally have virtual memory and the ability to preempt execution, and you could run an OS on them. But the scheduling latencies are pretty high, and the threads are not really "independent" (ie they tend to share a lot of state - like the virtual address space and a large shared register set), so GPU "threads" don't tend to work like CPU threads. You'd schedule them all-or-nothing, so if you were to switch processes, you'd treat the GPU as one entity where you switch all the threads at once.
So it really wouldn't look like a thousand threads to the kernel. The GPU would still be scheduled as one single entity (or maybe a couple of entities depending on how the GPU is partitioned). The fact that that single entity works by doing a lot of things in massive parallelism is kind of immaterial for the kernel that doesn't end up seeing that parallelism as separate threads.
alleged danger of Artificial Intelligence
by peter303
Some computer experts like Marvin Minsky, Larry Page, Ray Kuzweil think A.I. will be a great gift to Mankind. Others like Bill Joy and Elon Musk are fearful of potential danger. Where do you stand, Linus?
Linus: I just don't see the thing to be fearful of.
We'll get AI, and it will almost certainly be through something very much like recurrent neural networks. And the thing is, since that kind of AI will need training, it won't be "reliable" in the traditional computer sense. It's not the old rule-based prolog days, when people thought they'd *understand* what the actual decisions were in an AI.
And that all makes it very interesting, of course, but it also makes it hard to productize. Which will very much limit where you'll actually find those neural networks, and what kinds of network sizes and inputs and outputs they'll have.
So I'd expect just more of (and much fancier) rather targeted AI, rather than anything human-like at all. Language recognition, pattern recognition, things like that. I just don't see the situation where you suddenly have some existential crisis because your dishwasher is starting to discuss Sartre with you.
The whole "Singularity" kind of event? Yeah, it's science fiction, and not very good SciFi at that, in my opinion. Unending exponential growth? What drugs are those people on? I mean, really..
It's like Moore's law - yeah, it's very impressive when something can (almost) be plotted on an exponential curve for a long time. Very impressive indeed when it's over many decades. But it's _still_ just the beginning of the "S curve". Anybody who thinks any different is just deluding themselves. There are no unending exponentials.
Is the kernel basically a finished project?
by NaCh0
Aside from adding drivers and refactoring algorithms when performance limits are discovered, is there anything left for the kernel? Maybe it's a failure of tech journalism but we never hear about the next big thing in kernel land anymore.
Linus: I don't think there's much of a "next big thing" in the kernel.
I wouldn't say that there is nothing but drivers (and architectures are kind of "CPU drivers) and improving scalability left, because I'm constantly amazed by how many new things people figure out are still good ideas. But they tend to still be pretty incremental improvements. An OS kernel doesn't look *that* radically different from what it was 40 years ago, and that's fine. I think radical new ideas are often overrated, and the thing that really matters in the end is that plodding detail work. That's how technology evolves.
And judging by how our kernel releases are going, there's no end in sight for that "plodding detail work". And it's still as interesting as it ever was.
really!
Come on! There were great questions like this 5, Interesting question, but instead all we got here were answers to some of the most boring and simplest questions. For such a high profile interviewee/answeree, I would have expected at least some of the better questions to get answers. This is a wasted opportunity, with a great man basically not answering some great questions.
Now this is an article that I enjoyed reading. The questions were spot on.
You can say the word "systemd", It's not a four-letter word. Seven letters. Count them.
Heretic! Blasphemer! Shun the non-believer!
"What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
/)
that was always a problem of Linux being reliant on X Windows, and you don't know if the X windows is going to run properly until it's installed. therefore the installer has to be text-based, or so they claim.
but it's all BS. the people who are doing the video drivers have a vested interest in discouraging direct use of those video drivers -- they are typically employed in jobs that have to do with either X Windows or something related. they want you to use X, even though X is terribly insecure and generally crappy software.
Oh well
I don't think that the singularity people are claiming "unending exponential growth". They're claiming exponential growth long enough for the world to become unrecognizable.
1999 called and wants its meme back.
Seriously, have you actually used any modern Linux distros? Hey, good news, it has gotten so easy to install and use, you don't even need to install it! Download any of a dozen LiveCD / DVD / BRD / Thumbdrive versions, burn it to the appropriate media, and reboot. Bam! You have a fully functional modern OS at your fingertips.
Give it a try, and if you don't like it, it comes with a 100% money back guarantee.
I really wanted the definitive answer to HOSTS vs AdBlock.
Now I know.
If you read beyond the answers to specific questions, and consider how these answers illustrate how this person thinks, you have a very significant interview...
Are we allowed to say that out loud?
Geek humor is to humor what military music is to music.
1999 called and wants its meme back. Seriously, have you actually used any modern Linux distros? Hey, good news, it has gotten so easy to install and use, you don't even need to install it! Download any of a dozen LiveCD / DVD / BRD / Thumbdrive versions, burn it to the appropriate media, and reboot. Bam! You have a fully functional modern OS at your fingertips. Give it a try, and if you don't like it, it comes with a 100% money back guarantee.
Seriously, even Gentoo (notorious for having one of the more complex installs) has a graphical installer as of somewhere near 5 years ago. I don't understand where the original poster is coming from...
"Don't meddle in the affairs of a patent dragon, for thou art tasty and good with ketchup." ~ohcrapitssteve
You mean that when I decide I don't want to use it, they'll refund my electricity and the cycles I lost on my USB stick?? Fuck me
According to Google translate his Swedish quote is 'Burned child smells bad'
Great look at the real Linus, not the sensationalized out of context quote guy!
I would have asked if there will ever be a interface thats easy enough for non techs to use as a desktop..
Going purely by how normal users interact with any software installer, aka hammer the next/ok buttons until it goes away, installing Linux hit easy a good decade ago. You just hit next 8 times and are done.
we have been waiting for this for 2 decades and we have watched Apple reuse Unix and make it easy .. and every version of Windows since 3x is getting easier frontends and more complex backends
Make up your mind!
If hitting next 8 times to install linux is too hard, how is hitting next 10 times to install OSX, or hitting enter 12 times to install Windows, not also equally hard and impossible for you?
a going through hell setup and hardware support that simply sucks...
Well I guess I have to agree there. If "doing nothing what so ever" is that hard for you, then I suppose you will claim everything in the world is impossible, and I guess for you it really would be.
thats just unacceptable and sad that there hasn't been any leadership on those points in all this time.
That's because most of the rest of us, including normal users, are simply not like you.
We can "do absolutely nothing" successfully, which results in everything working.
Perhaps once you realize that half way through a Windows install, you have already performed all the steps a Linux install requires will change your mind.
It does work wonderfully, especially for the common random hardware that's two or three to nine year-old. But you still get some shit like editing the grub line for the first couple boots if you have some video card. Or the state of your alsa + pulseaudio depends a lot on what sound card or distro you're using : if I change one or the other I get a different set up - and if my music player isn't pleased by the result it decides that its volume slider will control the master volume.
What people gloss over is that you don't install OSX on your own. You buy a Mac (the worlds biggest dongle, imo) and it comes preinstalled.
Similarly with Windows, outside of the build it yourself enthusiasts people buy Windows preinstalled on some kind of x86 device.
Look at Chromebooks and you see preinstalled Linux.
Look at Android and you see preinstalled Linux.
Netbooks (that Chromebooks could be considered related to) started out as preinstalled Linux, but MS and Intel joined forces in smothering that baby in the crib.
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
Gnome, KDE, heck even XFCE or LXDE/LXQT would do.
What it comes down to is not the interface, but that it comes preinstalled and configured for the hardware it runs on.
OSX comes preinstalled on Mac (basically a massive dongle these days). Windows comes preinstalled on a range of x86 based devices.
The buyer unpacks, turns on, enters some basic account data, and starts using.
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
that was always a problem of Linux being reliant on X Windows, and you don't know if the X windows is going to run properly until it's installed. therefore the installer has to be text-based, or so they claim. but it's all BS. the people who are doing the video drivers have a vested interest in discouraging direct use of those video drivers -- they are typically employed in jobs that have to do with either X Windows or something related. they want you to use X, even though X is terribly insecure and generally crappy software.
Not sure if you're stoned or trolling or dropped out of a time vortex from the 90s, but
1) GUI installers have been the norm for desktop oriented distros for years, mostly through live CDs.
2) For most of Linux history there's been zero credible competitors to X
3) Wayland is mainly driven by ex-X developers
4) Wayland will still need drivers to have accelerated graphics
5) Neither application developers nor users usually see X, you write against for example Qt and the toolkit takes care of talking to X. They might hate X, but they hide its quirks pretty well.
Live today, because you never know what tomorrow brings
That Torvalds has bought the whole "just a init" marketing spiel surrounding systemd.
It is a init. /dev manager.
And a cron.
And a inetd.
And a network manager.
And a dhcp client.
And a (caching) DNS client.
And a session/seat manager.
And a firewall manager.
And a boot manager.
And a
And soon to be a tty manager.
Its proponents may claim that all those are optional.
From a init point of view sure.
But from a desktop point of view, wanting to use any of those make systemd-as-init mandatory.
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
What you're claiming is at odds with the real situation.
The people who are most against systemd are the serious, professional, often long-time Linux system administrators who have to provision and maintain production Linux systems.
Maybe it's okay if systemd and PulseAudio fuck up your single Ubuntu workstation. That's not a luxury that these admins have. They need their Linux systems to work reliably all of the time.
This level of stability was very achievable in the past, before a distro like Debian adopted systemd. But now that it has, its quality has dropped off precipitously. Yes, this completely unnecessary drop in quality will make responsible people very angry!
There is no conspiracy, like you've convinced yourself that there is. There are just many experienced sysadmins who need Linux distros that work. With all of the major Linux distros switching to systemd lately, and the many problems this has caused, these sysadmins are left in a bad position.
They can't wait a decade for the problems to be sorted out. They need to act now. Many are doing something they probably should have done years ago, and are moving to FreeBSD and OpenBSD. Some are even moving to Windows, as unfortunate as that is.
The robustness and reliability of Linux systems aren't "pet needs". They're the very factors that will, if ignored, result in Linux losing its current position. A robust and reliable Linux kernel is useless if the init system and userland stack running on top of it is full of problems. The entire package just won't be useful.
""" The whole "Singularity" kind of event? Yeah, it's science fiction, and not very good SciFi at that, in my opinion. Unending exponential growth? What drugs are those people on? I mean, really.. """
I agree 100%. I've given talks at Singularity U. Heavy drug use is definitely involved! (And I never drank the Kool-aid).
This has always been my primary issue. The problem being that developers don't care what I want. I can't fault them for it as Linux is generally given away free, so it's not like I'm paying their salaries. They generally care more about their own personal tastes or that of the corporations that buy their linux support contracts.
I do not care for Gnome, KDE, XFCE, or MATE... I absolutely hate Unity. I do like Cinnamon -- but even with lovely distros like Linux Mint and the Ubuntu derivative Cubuntu, there's still so much of the OS that is impenetrable without a text editor and numerous Google searches to find documentation on what to change and how without corrupting your system. Thankfully, I've found many gui config editors that have been helpful. (I'd still like to know how to organize my own START menu... Windows used to be so easy - drag, drop... slide around... put shortcuts into folders if you needed to, etc. Cinnamon, I'm like... hmm... I see how to view and hide categories, but not create new ones or alter them.)
Hardware support will always be an issue until either Linux gets a large enough user base for general HW manufacturers to care OR a manufacturer takes it upon themselves to distribute Linux-only devices/laptops and ensures the parts are well supported throughout the lifetime of the device.
This is why ChromeOS and Android have a better shot at the consumer market -- Google can use its muscle to give a good user experience with a bit of Linux under the hood.
I figure -- give ChromeOS and Android another decade and Linux will likely just be able to borrow whatever drivers those devices are using - maybe even copy the interfaces as well. Heck, Darwin is mostly open-source -- maybe Apple will release more of their magic pixie dust of software solutions under MIT or BSD license for Linux to borrow as well.
I'm happy to see that you don't hate systemd. That was the last shoe to drop. I'll complete the switch to BSD now!
Hi! I'm the guy who asked the question on functional languages. Mr. Torvalds answered my question beautifully and correctly, but I just want to make a small clarification to my original's tone (just for the record). If you read it, it kind of reads as though I have a negative slant against functional languages. I don't actually think that; I rephrased my question several times, and unfortunately I muddled it up in doing so. (The eye and the mind see different things, so the saying goes)
I think both low level languages and higher ones have their uses and purposes, I've used both, but I only do a bit of programming, a small amount compared to a professional. I was interested in what someone with significantly more experience than I thought, and I (personally) think his answer is spot on. I mainly wanted to be clear that I didn't intend to ask him a question as though I wanted him to favor one side or another, that was just an accident...
"Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
Tipo error: In the last sentence I wanted to write "fair" not "fear" :-)
I think it's one of those "And when she was good, She was very, very good, But when she was bad, she was horrid." type things.
Linux installers have the "simple" cases covered pretty well by now, and if you're not doing anything too funky, you're fine.
But if you have some sort of edge case - rare hardware, non-standard partition setup, etc., you can quickly fall off the rails of the GUI installer and be relegated to a regime where there's only a handful of people in the world who might be able to understand your situation well enough to help you fix it.
For people who have run into those sorts of situations, they tend to remember it. The fact that 99.9% of people can install with no problems doesn't counteract the fact that they spent 12 hours banging their head against the wall trying to fix a "simple" issue with their installation.
The 'ask linus' should have been renamed 'ask linus vanilla questions about Linux, exclusively'.
Waste of time.
You can say the word "systemd", It's not a four-letter word. Seven letters. Count them.
Heretic! Blasphemer! Shun the non-believer!
[deep voice]
Linus, I find your lack of leadership disturbing.
[mechanical breath]
[Linus clutches his neck, choking as his trachea is crushed]
Release him, Lennart!
[deep voice]
As you wish.
[Linus doubles over, gasping for air]
Linus mentioned a Swedish phrase: "Bränt barn luktar illa"
I got curious and ran it through Google Translate.
"Bränt barn luktar illa" in Swedish = "Burned child smells bad" in English.
What the hell?
Is that a bad translation or is that actually right? If that's right, that seems pretty grim to me. Would a native Swedish speaker on this thread be willing to explain that the origin of that phrase?
friends don't let friends teleport drunk
I'm happy to see that you don't hate systemd. That was the last shoe to drop. I'll complete the switch to BSD now!
Dragonfly BSD works quite well on the desktop, as does Funtoo Linux, which is systemd-free. Gentoo also works and still uses OpenRC by default, although there is growing concern some of the devs are quietly preparing to push a systemd agenda (kdbus patches in the kernel, one of the devs commenting he hopes systemd would become the Gentoo default, and a habit of the moderators in the Gentoo forums to shut down any discussions critical of systemd).
Linus may not be showing good leadership in this instance, but not everyone has drunk the urine just yet, and there are others stepping up to the plate to maintain or create alternatives.
The Future of Human Evolution: Autonomy
you don't install OSX on your own.
You can though, and I have, and it's incredibly simple to do. Of course, they do have the huge advantage of very minimal hardware support to worry about, but the installer is a very nice piece of work.
Is that a joke?
Maybe in 1998 that was true, but no longer.
Linux supports more hardware out of the box than all the version of Windows combined.
I just built a new machine and had zero driver issues. Everything works out of the box. It has been at least 10 years since I have had any wireless or audio issues.
It is also easy to install if you have a sane distro, like opensuse.
Inside 30 minutes, I can go from blank hard drive to fully functional and updated OS with all my development tools.
You can't install just Windows, never mind update it, inside 30 minutes.
There really isn't an easy OS to install, run and manage than Linux, assuming a sane distro, these days.
What distro uses a text-based installer by default?
Why didn't anyone ask him why he still insists on eating his shit after he drops a load in the toilet? Why didn't anyone ask why he tries to give squirrels blow jobs?
don't forget Git
Probably from installing the Debian base system from 3.5" floppies in 1997. The waiting a day or so while the rest of it downloads over your dodgy dialup connection. The one that didn't work until you bought a new modem because the dodgy Winmodem you had didn't work outside of Windows.
Of the 7 linux boxes I keep up and running and actually use for something on a very regular basis, 4 of them do not have any flavor of X installed. One of those 4 has a few X libraries installed (for me to one run app over a SSH tunnel on a local X server), but the other 3 are pure command line only.
So how exactly is Linux reliant on X windows?
Granted, a lot of things that a majority of people use a computer for need a windowing environment (a blinking cursor *is* graphical!) but very serviceable Linux machines with no X exist in lots of places.
Don't blame me, I voted for Kodos
I have to strongly disagree. I've been using Linux-based OSes intermittently since around the time 2.2 was released and have run some of my machines exclusively on Debian or its derivatives since 2004. It used to be a pain to deal with, particularly multimedia and WiFi drivers, but these days it's almost guaranteed that more will work out of the box on Ubuntu than does on a fresh Windows install.
My current laptop is 100% functional on Ubuntu 12.04 or newer with no messing around required. WiFi works, GPU works, SD reader works, etc. My home-built desktop requires a slightly newer distro to support accelerated graphics out of the box and still depends on binary drivers to get useful 3D performance thanks to its Geforce 970 graphics, but otherwise is also fully supported. Both of those require a pile of drivers to work fully even on the latest beta versions of Windows, some of which are very hard to find thanks to OEM-only components where the vendors don't provide standalone downloads. The closest I got in either case to going out of my way for Linux compatibility is choosing nVidia graphics over AMD, but in both cases I'd have done the same even for a Windows-only box because they simply had the better offerings.
I haven't been required to even go as far as dropping to the command line or editing a config file to get something working in years. The last time I had to do anything like that was back when VDPAU was a new thing and I was trying to get a XBMC running with hardware video decoding and HDMI audio output on a fairly new nVidia graphics card. nVidia's ALSA support was pretty flaky at the time so every kernel update required recompiling a few things to get sound back.
I still do tend to use consoles and config files to set things up the way I like them because I know what I'm doing and can get it done faster, but it's in no way required. If I was setting up a new PC for my grandmother I'd probably use Ubuntu rather than Windows because she could do everything on the internet exactly the same as she currently does but wouldn't be able to fuck it up by clicking on every stupid popup she gets.
I used to get high on life, but I developed a tolerance. Now I need something stronger.
The last I check, Linux from scratch does not have a graphical installer. Worse thing is you need to compile loads of codes, configure the boot loader, etc. :)
But Linux users who cares about understanding Linux should try it out. For users who don't, use an tablet. Those shiny devices can pretty much settles most people computing needs these days.
The job of the init system is actually to change the system state, and hopefully to be able to guarantee that it does so. Scripts have some inherent limitations in this regard, which is why even OpenRC relies heavily on C libraries. Understanding why people have been trying to replace SysV init for the last two decades would make a lot of Systemd's design decisions more clear to you, I feel. However, I do feel you are entirely mistaken if you think there is some propaganda movement to label it as 'just' an init system. System initialization is only a subset of the problem at hand, and even the name was chosen to reflect that.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
Looks like answered more than one question. Quality control around here has really gone to shit.
Linus has seemed to have weathered many storms and has gathered some wisdom and perspective missing from his earliest pronouncements. This was one of the best /. Q&As ever.
For people who have run into those sorts of situations, they tend to remember it. The fact that 99.9% of people can install with no problems doesn't counteract the fact that they spent 12 hours banging their head against the wall trying to fix a "simple" issue with their installation.
How is that different from Windows, though? When I got my GA-MA770-UD3P 1.0, trying to install XP produced a black screen with a broad variety of video card options, and two different known-good power supplies. Eventually a BIOS update fixed the problem, which is why I single out the motherboard. My CPU and RAM both might have played parts, oddly. Gigabyte told me they couldn't explain it and they wanted me to pay hourly for them to figure it out, but eventually they must have figured it out because a BIOS update cured the problem.
Meanwhile, Linux installed just fine.
A Windows update is also staggeringly likely to send you back to the store to replace your peripherals. For people who don't have any, whatever, but MFDs and scanners and whatnot often don't work on the new Windows for some dumb reason. Usually they speak the same protocol as still-supported devices... which is handy if you're a Linux user.
I've had Windows just mysteriously refuse to play ball on machines where Linux works great. Just trying to find a driver for my Renesas USB3 card for Windows is ugh, but obviously, the driver comes with the Linux kernel. Blah blah blah. Anecdote, data, whatever.
If you have some sort of edge case, any OS can crap on you.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I love to give open source a hard time, because most of its advocates (who are generally not contributors, but rather evangelists) are blind to the bad sides.
But, pretty much anything Linux is rock-solid and quite user friendly since my brother sent me a CD in 1997 or so. If I didn't have a penchant for certain aspects of Windows, and a strong muscle memory for short-cuts (which I realize can be customized, but I also made a previous point), I would have no reason to use anything other than Linux.
And I say that knowing that there are problems with some major Desktop Environments and some minor annoyances with other window managers.
I have several Live CDs available in case I need to resolve a Windows issue. And it works, every time.
So would I. I can't even figure out how to create a folder (sub menu) in the start menu on Windows 10. And with my more than 50 shortcuts I use regularly, the default "all programs" is useless.
("Use regularly" means I don't want to have to search for them every f**king time. In fact, I turn search off, because it interferes with using the keyboard to navigate the start menu).
I'm quite interested in his quote of Alpha _implementations_ being "fragile" and reliant on too much software tricks, so to say. Does someone has some more info on that ?
Oh, it was asked, but my question about Red Hats' (and their one employees') increasingly out-sized dominance even over desktop apps wasn't deemed worthy, much to all our detriment.
I would have asked if there will ever be a interface thats easy enough for non techs to use as a desktop.. we have been waiting for this for 2 decades and we have watched Apple reuse Unix and make it easy .. and every version of Windows since 3x is getting easier frontends and more complex backends.. but Linux still has a garbage interface... a going through hell setup and hardware support that simply sucks... we can't get drivers for average hardware.. Its just sad ... Hey Great Server software.. but crap for desktop users.. and its been what 25 years now?... thats just unacceptable and sad that there hasn't been any leadership on those points in all this time.
This is so bizzare. Slashdot is obviously broken, your post says "by Anonymous Coward on Wednesday July 01, 2015 @08:00PM (#50027053)" but that can't be right.
Watch this Heartland Institute video
8 months ago I installed Linux Mint on my wife's grandmother's computer and on my grandfather's computer. Since then I have received 1 tech support call from grandpa (couldn't find his bookmarks in Firefox) and 2 from grandma (mainly related to not understanding how Skype works. But that's an application issue. The OS recognized and worked correctly with the camera and mic instantly). It's just not that hard anymore. Things are stable and far more intuitive in desktop land.
To be fair, Windows is also much better today than it was 10 years ago (well, 7, anyway, or 8.1 + a skin to get a regular start menu, and we'll see about 10). Come to think of it, it's only OS X that's gotten markedly crappier in my opinion.
We don't have a state-run media we have a media-run state.
As I understand the three major forks:
One (OpenBSD) is for having as secure a desktop/server/embedded platform as the maintainers can manage - important in this post-Snowden era (as it was, all unknown, in the era preceding Snowden B-b). It is based outside the US so it can incorporate strong encryption without coming afoul of US export controls.
One (NetBSD) is for developing network internals software and networking platforms (typically ported, when possible and not part of a proprietary product, to the others and other OSes.)
One (FreeBSD), now that its original purpose of getting the code disentangled from proprietary accomplished and the other two projects forked from it, is for making an open unix-like system run on the widest range of hardware platforms and devices possible.
Unless you're using your machine for building networking equipment or it's a new hardware platform under development, the choice seems clear.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
I'm unique - there are a dozen OS that I don't like. I don't complain about them, I just don't use them. You're like the majority of people. Really.
You are unique. Uniquely stupid and unable to pass basic reading comprehension.
The GP felt dismayed that Linus has drunk the systemd coolaid, and wants to switch to FreeBSD. I pointed out that not everyone has been taken in by the systemd nonsense, and that their are distros available that remain untainted, that if he wants to switch to *BSD I've found Dragonfly to be quite nice, but that there are a number of Linux choices he has available if he doesn't want to switch.
But go ahead and label that whining, since I don't love the excrement you find so appealing. And feel free to demand I spend my free time writing a competing pile of excrement for having the audacity to prefer existing init systems, such as those used by the *BSDs, and OpenRC, and to mischaracterize my contentment with OpenRC and other superior-to-systemd init systems as "doing nothing."
Feel free to say whatever nonsense you like. It reveals far more about yourself and other systemd astroturfers on this site than it does those of us who prefer the alternatives. And yes, it does reveal you as a bully as well as an idiot.
The Future of Human Evolution: Autonomy
Linus:
"It's like Moore's law - yeah, it's very impressive when something can (almost) be plotted on an exponential curve for a long time. Very impressive indeed when it's over many decades. But it's _still_ just the beginning of the "S curve". Anybody who thinks any different is just deluding themselves. There are no unending exponentials."
Cromwell's Rule:
"If the prior probability assigned to a hypothesis is 0 or 1, then, by Bayes' theorem, the posterior probability (probability of the hypothesis, given the evidence) is forced to be 0 or 1 as well; no evidence, no matter how strong, could have any influence."
1999 called and wants its...
WHAT??? 1999 called? Did you warn them about 9/11? The Indian Ocean tsunami? The Japan earthquake? I hope you didn't waste such an amazing opportunity chatting about nerd trivia.
Shit. They got to him too.
Sure, no problem. If you dislike systemd that much, it certainly makes sense to move to a different software platform.
I don't particularly dislike systemd per se. I do observe the controversy around it, and the image of it and its project, painted by its opponents (some of whom have enough creds that it's unlikely that they're talking through their hats), indicates that the claimed issues are likely to be real problems, and this may be a tipping point for Linux adoption and user choice among distributions or OSes.
Your Snowden argument isn't particularly applicable in this instance, as you have access to the full source code for systemd. If you're not comfortable looking through C code, then any init system would be a problem for you. ... If you think that porting your laptop, home servers and desktops to a completely different operating system is less effort than learning how systemd works, then I can only conclude you haven't tried to learn how systemd works. Or you've severely underestimated the work involved in moving to another OS.
I did my first Linux drivers (a PROM burner and a Selectric-with-selonoids printer) on my personal Altos ACS 68000 running System III, wrote a driver for a block-structured tape drive for AUX - working from my own decompilation of their SCSI disk driver (since the sources weren't available to me initially), ported and augmented a mainframe RAID controller from SvR3 to SvR4, and so on, for nearly three decades, through hacking DeviceTree on my current project. I don't think C has many problems left for me, nor does moving to yet another UNIX environment - especially to one that is still organized in the old, familiar, fashion. B-)
As for trying to learn how systemd works, that's not the proper question. Instead, I ask what is so great about it that I should spend the time to do so, distracting me from my other work, and how doing this would meet my goals (especially the undertand-the-security-issues goal), as compared to moving to a well-supported, time-proven, high-reliability, security-conscious alternative (which is also under a license that is less of a sell to the PHBs when building it into a shippable product.)
Snowden's revealations show that the NSA, and others like them are adept, at taking advantage of problems in obscure corners of systems and using that obscurity to avoid detection. The defence against this is simplicity and clarity, avoiding the complexity that creates subtle bugs and hides them by burying them in distractions. Bigger haystacks hide more needles.
The configuration for systemd isn't buried. It's there for all to see and change, in plain text. Logging in binary form is _optional_. You can choose to direct logged messages to syslog, or use both syslog and binary, to have the "best of both worlds", albeit with the best of disk usage.
Unfortunately, I don't get to make that choice myself. It's made by the distribution maintainers. My choice is to accept it, open the can of worms and redo the work of entire teams (and hope their software updates don't break things faster than I fix them), or pick another distribution or OS.
Again, why should I put myself on such a treadmill of unending extra work? If I could trust the maintainers to mostly make the right choices I could go along - with no more than an audit and perhaps an occasional tweak. But if they were making what I consider the right choices, I wouldn't expect to see such a debacle.
Entangling diverse processes into an interlocking mass is what operating systems are all about! ;)
No, it's not. The job of an operating system is to KEEP them from becoming an interlocking mass, while letting them become an interacting system to only the extent appropriate. It isolates them in their own boxes, protects them from each other, and facilitates their access to resources and ONLY their LEGITIMATE interaction wherever appropriate and/or necessary. The job is to Keep It Simple while letting it work.
Your phrasing, and making a joke of this issue, is symptomatic of what is alleged to be wrong with systemd and the engineering behind it.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
A stand alone complex is not a conspiracy.
http://www.urbandictionary.com...
I'm unique - there are a dozen OS that I don't like. I don't complain about them, I just don't use them. You're like the majority of people. Really.
You are unique. Uniquely stupid and unable to pass basic reading comprehension.
The GP felt dismayed that Linus has drunk the systemd coolaid, and wants to switch to FreeBSD. I pointed out that not everyone has been taken in by the systemd nonsense, and that their are distros available that remain untainted, that if he wants to switch to *BSD I've found Dragonfly to be quite nice, but that there are a number of Linux choices he has available if he doesn't want to switch.
But go ahead and label that whining, [--rant---rabid froth--bullshit--]
Bully for you. I quoted what I was responding to. And yes, you're still whining.
You seem to feel the need to lug the goal posts around while clutching at straws to build your strawman... meh, you probably need the exercise anyway.
I have no problems with people who don't want to use systemd, I don't use it for production machines myself (but apparently I'm a piss and kool-aid drinker). I don't like people who demand that choice be removed - and when the anti-systemd crowd complain it's not because they can't use their choice of init system. It's because they're fascists who want to deny others the choices they disapprove of. You know - like bullies.
Like you they attack anyone who isn't opposed to systemd - whether we actually use systemd or not. That's anti-choice, and bullying. You demand that developers don't use systemd. You demand the distros don't use systemd.
When people point out that you have no right to complain - you claim you're being bullied and that the alternative is unfair. What a load of bullshit. If you don't like it don't use it. If developers don't feel you are as special as you think you are, either: ask them nicely to reconsider (once) - bullying isn't going to work and name calling doesn't engender sympathy; do the work yourself instead of whining about how fucking hard it is; put the money up for someone else to do the work; likewise the neglected systemv-init - or just don't. Pick one.
In real life Open Source is not like some science fiction book you author - it's authored by others, and we don't do the work because someone, no matter how special they think they are, demands it.
I don't use systemd for work - but I do use it in projects I contribute to, and I will probably move to use it for work in the next year or two (when more of the bugs are ironed out). Because the existing init system is a poorly maintained unmanageable project and I have neither the time nor desire to help fix that - but you don't hear me whining, bitching, protesting, or pissing and shitting all around the place in protest and attacking and maligning anyone about it.
If only a tiny percentage of the energy the anti-system mob put into complaining and protesting was invested in work or other contributions to systemv-init - you'd have nothing to bitch about because systemd wouldn't be being built into to so many Linux distros. But that's not your point or you'd just be recommending other people who don't like systemd use OS/distros that don't rely on it - instead of recommending OS/distros that don't include the choice, ranting about urine drinkers, shit (speaks volumes of you), and systemd kool-aid. You know - quietly going about your business instead of acting like spoilt brat. A whiner. If you don't like it, take your ball and fuck off - oh wait.... it's our ball.
Who, Lennart Podperson?
trying to install XP
BZZZZT! Comparing a 20 year old OS to bleeding edge Linux distros is stupid. Try the Win 10 (almost nightly) builds and experience an install experience than any Linux build.
Wealth is the gift that keeps on giving.
...Star Crack, Mr. Torvalds.
...Star Crack, Mr. Torvalds.