Slashdot videos: Now with more Slashdot!
We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).
Those aren't the reasons why I currently shy away from VMWare (it sounded like he was asking more from a moral point of view, hence the answers I gave), but those reasons, plus others, prompted me to start looking for alternatives.
The biggest problems I had with VMWare back then was 1.) when they made the switch to the web-based managed interface for VMWare Server 2 (it was sluggish and very unresponsive compared to the VMWare Server 1 management console) and 2.) the lack of a mature CLI toolset for managing VMs (this was big for me because I wanted to be able to SSH into a VM server and do trivial things, like start a VM without having to get a GUI involved).
I first made the switch to VirtualBox because it was free, had a good GUI management utility (for managing local testing or development VMs), and a nice CLI utility (VBoxHeadless) for managing remote VMs on a headless server. Eventually I started running into weird performance issues with VirtualBox which prompted me to give KVM a second hard look.
I had first looked into using KVM a few years prior due to the hypervisor being built-into the standard Linux kernel, which sounded really appealing to me, but it wasn't quite ready for production use. Once KVM/libvirt became stable enough to use, I made the switch to that and I haven't looked back. It has everything I need: a rich CLI environment (virsh), a rich API for managing it at a lower level (libvirt + bindings to all the popular languages), a decent GUI that works surprisingly well over X11-forwarded sessions (virt-manager) for when it make more sense just to do things in a GUI environment, and a nice range of storage options for VMs (raw disk image files, qcow2 images, LVM logical volumes (my personal favorite), block devices, etc).
Just recently I've started playing with LXC containers. For instances where I don't need the benfits of full paravirtualization and don't mind sharing the host machine's kernel it's awesome. It performs better than paravirtualization because there's less overhead (thanks to kernel and process namespaces), and if I need to change something in the guests' filesystem I can access the files directly from the host machine, or chroot into it if I need to do something fancy.
I'll give VMWare the credit they deserve; they paved the way for paravirtualization on the x86 front in the early 2000s and for many years I was a faithful user (even fanboy) of theirs. When they had their IPO back in 2007 I bought as many shares as I could afford and advised my friends and family to do the same because I knew they were the industry leader in an industry that was exploding.
I also realize that I am not VMWare's target audience and have since moved on to tools that are more suitable for my needs.
1. Made their management tools run on only Windows, shitting on the Linux community
2. Deprecated VMWare Server 1.x (free and very functional) for VMWare Server 2 (free and barely functional)
There are far better free alternatives out there nowadays if you're not managing a full-blown cloud infrastructure (see: LXC and KVM). And if you are, there's OpenStack.