Linus Thinks Virtualization Is 'Evil'
Front page first-timer crdotson writes "Linus said in an interview that he thinks virtualization is 'evil' because he prefers to deal with the real hardware. Hardware virtualization allows for better barriers between systems by running multiple OSes on the same hardware, but OS-level virtualization allows similar barriers without a hypervisor between the kernel and the hardware. Should we expect more focus on OS-level virtualization such as Linux-VServer, OpenVZ, and LXC?"
That your OS being tied to a particular piece of hardware without a ton of effort is also "evil." Migration is one of the best things ever.
The shift towards virtualization represents a further shift in control away from each person towards a reliance on the honest of others.
The dangers of knowledge trigger emotional distress in human beings.
Because I'm used to working with a hammer.
Linus is not a god, just a guy, with his own prejudices.
Virtualization is good for new junior programmers learning how to program firmware, sinceeany low level calls can not really destroy the real hardware, since protection can bee built right in.
It's a crutch, but since we have a generation of programmers who can't do "the hard stuff" becuase "java does it for them", its certaintly good to have around.
The title is a bit on the FUD style. PROPER virtualization is not criticized by Linus, but improper implementation, namely cheap OS-level virtualization wich could lead to lazy shortcuts to patches and features implementation.
Cloud computing != virtualization
There's no -1 for "I don't get it."
It's actually Evil to not virtualize, because you waste electricity! It requires additional power for each physical server to run a single OS, plus the airconditioning costs for all those servers. This means your poluting the planet more by not virtualizing!
If you want to see where virtualization is going, check out where VM370 was in 1977 or so. That is about as far as the current virtualization technology has gotten. Bare metal has its place, as does virtualization.
"To those who are overly cautious, everything is impossible. "
Linus has never been diplomatic, but it's mostly true. A huge amount of virtualization done today involves the same host and guest OS, and in most of those cases, using something slimmer than full blown virtualization would make a whole lot more sense, even if only for the improved performance. One of the problems is familiarity, container type isolation isn't applicable to as many cases, so fewer people are familiar with it. One of the other problems is the perception that full virtualization is more secure (which is probably untrue).
There is however, a large swath of problems that aren't solved well by container type isolation that virtualization does solve well. If you need to simulate different physical systems (with separate IP addresses), that's much easier with virtualization. Likewise if you need very different guest and host OSes, that's not a strong point of container type isolation. Also, if your guest OS is sensitive to hardware changes, virtualization makes a lot of sense. There's more, but you get the idea.
Game! - Where the stick is mightier than the sword!
I disagree. its a layer that *when properly done* reduces the complexity as the underlying hardware is totally masked, and you have to deal only with known virtual hardware.
Having to reboot to play video games.
For those of you that look at FreeBSD jails, Linux OpenVZ, etc etc and say "but I want to migrate between servers!!!" there is an example of this being a possibility.
http://www.7he.at/freebsd/vps/
This guy did it with FreeBSD, but the real problem is that he needs funding to continue polishing it before it can ever be implemented into a FreeBSD release. I wish more people knew about this as we'd love to have it at work.
Conversely, a virtualization environment presents a somewhat "neutral" hardware profile to installed OSs. This makes it useful for installing legacy software on new hardware.
And adds a new load of bugs in the process.
When I was writing PC emulators years ago there were a lot of obscure bugs in the emulated applications when the fake hardware we gave it didn't quite work the same way the real hardware did and there was no way to emulate it precisely.
For example, suppose you have Linux running with an ext4 filesystem that's emulated by a disk file on a real Linux system using an ext4 filesystem on RAID. Do filesystem barriers work?
The whole point of a modern OS is to virtualize the hardware so that each software application can play nice with each other.
The hypervizor is the new ring 0. And it's going to evolve into a microkernel and user mode drivers. It's the new operating system and that what he should be working on if he likes hardware bits. The "Operating Systems" of old are evolving into plug in Operating Environments. It's the future, the revolution, get over it.
If not, then I'm going to stick with my virtual machines.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Accept now you need a Linux Vitalization admin and a Windows Virtualization admin.. You have just doubled the number of "platform specific" gotchas you need to learn, plus unlike having a single VMWare cluster you now have two clusters, probably increasing your hardware cost per vm by needing both platforms to maintain a proper save resource overhead to handle failures.
EA David Gardner -"... but the consumers have proven that actually what they want is fun."
Armchair quarterback: I bet if I added up your accomplishments against those of Linux Torvalds, you would be found wanting.
You don't need to be a baker to know when the bread is stale.
And while I think vranash is mostly off-base, I find your counterpoint to be of a class much worse than his criticisms because it doesn't attempt to bring about a better understanding of the situation, all it does is try to shout down someone you disagree with.
When information is power, privacy is freedom.
Linus likes to say things that are a bit over-the-top. He trusts that his audience can detect the tongue-in-cheek nature of the comments.
I do the same thing. If I say something like "I hate and fear Perl", I don't mean it literally.
Some people were upset about Linus's presentation about Git where he bashed Subversion. I thought it was pretty clear that he was exaggerating his comments for comedic effects, and I was entertained rather than outraged.
Linus does sometimes say things I disagree with. He resisted having an official kernel debugger for years, because he said kernel developers should be able to hold everything in their heads and not need a debugger to help them. (Did he ever give in on that?) But this current issue is a non-issue.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
... the John Carmack of Open Source *nix Kernels. Seriously, what has he personally done in the past 5 years other than fsck us with first Bitlocker and then Git, a decade long string of incompatible 2.6.x releases, and finally, in order to 'me too' bad judgements by other open source companies, releasing a half baked kernel as 3.0 that might as well have been called 2.7 or 2.8 for all the new features it provides. (That is to say... none?)
I think that doing "a decade long string of [...] releases" in just 5 years is quite an accomplishment.
(Ducks)
Why can't
Let's see, for starters Linus continues to effectively manage the evolution of the Linux kernel after 20 years - that in itself is an amazing accomplishment. Not only that, but he took a couple of months off to write git, which is an amazing distributed source code management system that is free for everybody to use. He's already accomplished more than most computer scientists accomplish in one lifetime, and Linus is in his early 40's.
Assuming you mean Bitkeeper rather than Bitlocker, I think Linus fucked Linus with Bitkeeper then Git rather than us. As a sysadmin/user I've upgraded kernels from early 2.6 to far more recent (from memory, 2.6.5 to 2.6.32) and not struggled with incompatibility.
And as for 3.0 not providing new features over 2.6.39... you're right. It doesn't. It's just 2.6.40 given a different name which makes more sense given the current development model.
So what's Linus personally done over the last 5 years? He's managed a big and growing project with a worldwide developer base. That's a pretty damned good acheivement in my book.
This reminds me of some discussion back (IIRC the late 1970s) when the US Social Security dept. was upgrading. They finally had to rewrite their code for the new 3000 series (3090?). Supposedly, the code that they were running was originally written in Autocoder (a kind of assembly language) for the IBM 702 or IBM 705. Then it was moved to a 1620, which ran an emulation of the 702. Then it was moved to an IBM 360, which simulated the 1620 running the emulation. Then it was moved to VM, which could run multiple instances of the 360 program simultaneously. Then, finally, they were going to have to rewrite the program because there were so many changes to it and nobody knew how to write Autocoder any more, and anyway the emulations took up too many cycles. It's apocryphal, but I'll bet it's not far off the truth.
It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
but I remember a day when the corporate OS was capable of running finance, engineering, sales, and shipping all on the same box and with up times you could easily live with. Then along came Windows and it was like freak'n Tribbles because the OS failed so much they where putting one service on one box/OS. I've already seen virtualization getting praised at Windows shops because of how much hardware it can save. A side benefit is that now they can throw in a LAMP stack without asking and save some bucks because budgets are tight.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
He's personally responded to a couple of emails I've written to the list about issues, one a change that wasn't compatible with our usage and one an actual nasty corruption bug. In both cases he responded very quickly with a very precise description of what was going on, and took charge of making sure it got fixed (in one case guiding me to make a patch for the usage I needed)
He's managed to keep a large project putting out regular releases and not regressing badly in any way. That's a bigger accomplishment than you realise until you've managed a large project with an ever growing number of participants, all with their own styles of doing things.
It's not all about shiny new features, it's about doing the current things better or supporting new hardware - and what do you care about the number he chooses. He didn't do it to make you happy, he did it to celebrate a birthday.
As others have said, what have you contributed to the world recently? I guess haters just gotta hate.