VMWare is at it again, launching a bunch of tools to manage and distribute virtual machines across a network. I can't wait for virtualisation to become truly mainstream: not only does it have the potential to virtually (sorry) eradicate whole classes of security problem (run your online tasks in a virtual machine and vape it from the cosmos when you're done, malware and all), but it should provide a new and rather tasty distribution channel for open source software – one that does with ease and aplomb things that proprietary software cannot.
You'll all have tried live CDs – bootable images of operating system distributions that take over your PC but don't touch the existing setup. These are fine, if a bit clumsy: although burning CDs is immeasurably less painful and expensive than once it was, it's still a tedious business.
So, why not wrap the operating system up in a virtual machine? Then you can download the binary, spawn a new environment and run what you like, again without touching what's already installed. In fact, you don't even have to stop running the existing OS, which will calmly reside alongside its new neighbout without even realising it's there. At this point, we've got to the "try our new OS by clicking this link" stage of the game, which is hugely advantageous to operating systems that don't mind – in fact, positively encourage – being copied around the place.
It then gets more interesting. Many Linux distros come bundled with lots of applications, of course, but once you get into the idea that you can supply a complete OS along with your application then the whole idea of “a Windows version” or “a Mac version” of software goes away. You just pick your hardware – which will be x86, of course – and produce an application running on the OS of your choice, tweaked as much as you like to your advantage, and all bundled up in a nice ball of virtual delight. This sorts out all manner of problems that happen because your users are installing your software into systems of unknown health and configuration, and gives you much more control over all aspects of what the marketeers are pleased to call 'the user experience'.
Of course, you can't do this with Windows – you can't tweak the OS very much, and you certainly can't go shipping it online willy-nilly. That's naughty. So if you want to have the advantages of a more reliable, cross-platform application, you'll have to go the open source route.
Against the idea are the usual issues of operating system pluralism – too many different sorts of user interface confuse the consumer, different file types and filing systems create incompatibilities, it's difficult to mix and match utilities and other applications. These have all been real problems in the past and will be again. But these days, the emphasis on Web-based services, the much greater commonality between OS GUIs, and the existence of many more common file formats, should make things a lot easier.
Virtualisation will rewrite the rules in so many ways. I'm sure we haven't thought of the half of them.