Review of VMWare Competitor
nontrivial writes "Linux Medical News has a decent review of Win4Lin, a MS Windows emulator. The article and submissions also touch on other solutions for having to run Windows applications. I use Win4Lin daily, and I must say it is rather spooky how well it works. The review doesn't spell it out, but Win4Lin 2.0 does include sound and serial and parallel support, and so far I've had no problems with the beta. It runs Windows in a SDI type interface, comes with DOS emulation, and can be run in many odd resolutions if you don't like running it in it's own virtual console. The bad news is that it technically requires a licensed copy of Windows (95, 98, etc, not NT), it is intended for business applications (so no DirectX support for example), and only TCP/IP networking is supported within the emulation. But overall it's stable (no more crashes than MS causes, and it doesn't take the whole box down when you see blue), it's fast (native speed), and it's cheap ($35). IMHO it's the best transition software I've used."
Here is how I use it:
I setup a heterogeneous 3-tiered system at a client's office. Linux runs the app-server, Postgresql, etc on a raid 5 box. All the workstations are Win95, NT, etc. I wrote the server software on the Linux box and the client software on the Windows boxes. How do I support all this stuff? On my laptop with VMWare.
I have a Dell Inspiron 7500 w/192 MB running Mandrake. I have the same app-server, Postgresql, etc. running on it as runs on the raid 5 server. I have Win98 running on VMWare and all the client software running on it. I can develop, debug, and test right on the laptop. The only change I have to make when I deploy is to change the server IP number to the real server (which I keep in a text config file) - *everything* else is the same.
If you have a similar situation, then VMWare is the killer app for Linux. I highly recommend it.
-tim
What is this utility, and where can I get it?
Here it is: href="http://uranus.it.swin.edu.au/~jn/linu x/
you have to install a patch to your current kernel.
am i the only one that's a little nervous about installing a kernel update from a third party vendor (who's software i'm only trying to EVALUATE)
and so i go back to my nightly prayers..."Yeah, though i walk through the valey of the shadow of death, i fear no company from redmond, for i knoweth Sierra will developeth linux clients for upcoming games" cough *Counter-Strike* cough. (wine just ain't cuttin' it.)
FluX
After 16 years, MTV has finally completed its deevolution into the shiny things network
"It is seldom that liberty of any kind is lost all at once." -David Hume
Lotus Notes
I guess we were many people here expecting this kind of software to get rid of windows.
(BTW, these 2 words could have also been Microsoft Exchange).
Of course, we might have to troubleshoot some kernel stuff at all but the fact its openness makes it possible is also the reason why we love Linux, no ? The future is bright.
--
Trolling using another account since 2005.
Oh, I can think of some reasons: For one, the company I work for uses Outlook + Exchange for groupware. So everyone is required to use these programs. However, I'm a Linux/FreeBSD sysadmin, so I run Linux on my desktop, with VMWare running so I can use Outlook. Another reason: when installing new software on our servers (I work for an ISP), we want to be absolutely sure that we don't run into any unexpected problems. Therefore we usually test upgrades and patches on a virtual machine in VMWare. A third reason: for developers of distributions like Debian, it is a nice way to test the new boot floppies and installation program, without having to reinstall your machine after you're done or when you find out that it did not work.
Exactly the point. We are using VMware to do port of application on 4 platforms and test them on various Linux distributions, BSD's, etc. Also, to test new potentially harmful package, you just clone your VMwared redhat istallation, try it, if it breaks something you don't even need backups. In fact, we almost never run windows on our VMware installs, most of the time it's various BSDs and Linuxes and occasionally Solaris.
VMware is not just windows emulator. It's very convenient tool to run multiple OSes on signle hardware, and I must note it does it really well.
-- Si hoc legere scis nimium eruditionis habes.
I clicked on the link in the story above, and it took a second, so I went to get a glass of water. When I got back, I had warped into some alternate universe slashdot.
It took me a while to realize THAT WAS the link, and they were just using slashcode. Oh well, it was trippy while it lasted.
Comparing Win4Lin with VMWare is not quite fair: Win4Lin is a Windows emulator, while VMWare emulates an i386. Thus, VMWare is a much more powerful tool than Win4Lin, since VMWare can do more that run Windows applications: it runs Windows itself, or any other OS which runs on an i386.
I wonder when someone's gonna come out with some form of DirectX support in one of these Windows Emulators/Virtual Machines. It might not be able to cut it for a lot of 3d games, but I'm sure there are many games that don't tax the system nearly as much like The Sims, Star Craft, other games. Now that XFree86 4.0 is supporting 3d better it might even be possible to get decent 3d support in the virtual machine enabling older 3d games like Everquest, Half Life, etc. Someone who wants the extreme speed would be willing to reboot, but some of us wouldn't mind being able to grab a quick game whenever the temptation hit us, and not have to worry about things like other users or currently running applications.
treke
It seems like Win4Lin is more a competitor for WINE than VMWare, in that it interacts with windows software at a much higher level. Whilst details are sketchy, the site gives the impression that it doesnt emulate the full hardware.
For instance, the line:
The Win4Lin software package consists of a set of server processes, kernel hooks and drivers. These facilities combine to create a tightly integrated environment between Linux and Windows.
gives the impression that it preprocesses the running software to allow it to run.
In fact the key difference between Win4Lin and MAME is that it uses a real copy of Windows to provide the libraries and bugs.
The main disadvantage of Win4Lin compared to VMWare seems to be that it is not a real virtual machine, which makes it impossible to run anything else than Windows. Since VMWare is capable or running Linux on Linux, it can be used for kernel development and other dangerous stuff. It can also run other OS's such as Solaris or OS2.
I also wonder if the use of Win4Lin doesn't make your system vulnerable to Windows viruses (such as macro viruses in Word): since these applications now have access to your Linux file systems, they can easily destroy your data.
Personally I'm sick and tired of ignorant users complaining about lack of DirectX/3D support in Linux. Why? Because even Microsoft has issues with DirectX/3D support in NT/2000. In Windows NT/2000, the game must be mainly OpenGL-based or, in the case of 2000, use the newer DirectX versions that are suppored. If Microsoft cannot even get it's own products to work with its own, alternate, lesser-used OS, how the freak do you think Linux will???
You see, DirectX was originally little more than a set of function wrappers to direct hardware and, gulp, DOS-like memory mapped I/O! Hence, the problem with NT. By DirectX 6, Microsoft finally realized that an API for unprotected memory and hardware access was a BAD idea and finally started migrating DirectX to a protected state.
Still, implementation in Windows 2000 is far from perfect, but I'm sure DirectX 8 will improve on a lot things. Since Microsoft isn't licensing it's DirectX code, I seriously doubt anyone will be able to product a hardware-accelerated DirectX implementation very soon. And even if they managed to reverse engineer some of it, it would be hard to keep up with Microsoft's constant changes.
So quit asking for the impossible! Lobby software vendors to support DRI. If anything, I'd made the selling point that UNIX vendors don't change half the function names and parameters every freak'n version release! [ God that pisses me off Microsoft! ]
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
What we really need is a general-purpose X86 processor emulator for Linux; Something I can compile on an Alpha box and then load *any* X86-based system into it and expect it to run.
Dog is my co-pilot.
Run it inside vmware...? (I'll get me coat)
--
W.A.S.T.E.
I guess some people still need to run bl0ated windows software for some reason, but VMWare lets you do a whole lot more than that. As for your point about developing in a simulated environment, yes you probably wouldn't want to release code that you never ran on a real machine, but in some instances VMWare just saves a lot of time -- you don't lose your editor when your machine goes down (happened a lot to me in Visual Dev.) and you don't have to keep jumping from keyboard to keyboard when writing a network application in an environment where ssh is not an option.
This has not been a paid endoresement, I just really like this program.
VNC Server = "Universal Solution"?
In addition to remote display via X to other UNIX/X clients, I suppose you could run multiple VNC servers on the Linux with this program running under some of them -- and pump it to other, non-Windows platforms with a VNC viewer but no X support (e.g., Mac, Win3.x, VMS, DOS, etc...). Hmmm, anyone care to try it?
~$150/copy of Windows vs. ~$X/CAL for NT Termainl Server / Citrix WinFrame?
Now when it comes to "cost effectiveness", if you're paying ~$150 per user/session, isn't that a heck of a lot more than CAL (client access licenses) for NT Terminal Server or Citrix WinFrame? Let's say you could license Windows on a "concurrent basis", would it not still be more expensive? Heck, Microsoft might license Windows exactly for virtual machines at a much higher price for that reason.
Illegitimate use of Windows 9x?
So at what point does Microsoft limit your use of their Windows 9x products with their EULA? Could they not outlaw you from using it in such a manner, or say your "right-to-use" (RTU) license doesn't cover it??? They could claim their is "no way to enforce proper licensure because you can run multiple copies". Heck, they might even sue Telos (even though their product doesn't have anything to do with such "misuse" -- although that didn't stop the Napster verdict ;-). I'd say they'd do any or all of this if it gave their NT Terminal Server some "competition".
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
Win4Lin is not like Vmware! Vmware is its own little virtual computer, you can install windows on it....Win4Lin is like Wine, you can run singular applications like word or Excel, or IE
From the whitepaper: Win4Lin delivers Windows application support by providing a virtual machine environment to execute native Windows 95/98. Because Windows is actually running on the system, application support is very comprehensive. Most applications will simply install and perform as expected
Pax,
White Rabbit +++ Divide by Cucumber Error ++
free experimental electronic music netlabel at www.viablehybrid.com
Pax,
White Rabbit +++ Divide by Cucumber Error ++
free experimental electronic music netlabel at www.viablehybrid.com
Ive seen a few comments already about Win4Lin being unlike VMWare because its not a Virtual Machine. If people would care to read the whitepaper, then think before they post their little replies they'd find out that
It IS a virtual machine
It requires a copy of 95 or 98 to run Windows apps
It has its own BIOS
It provides a virtual hardware profile
In other words, its pretty damn similar to the way VMWare is set up.
Pax,
White Rabbit +++ Divide by Cucumber Error ++
free experimental electronic music netlabel at www.viablehybrid.com
Good point! Didn't look at it that way.
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
But for something like VMWARE to support DirectX for 3d is not anywhere near as difficult as you would like to make out.
VMWare emulates at hardware level. That means that what they have to emulate is something like a TNT or Voodoo chipset.
That way you install Win98 on your vmware machine and it promptly detects that you have a TNT2, and starts sending polygon data to it - which linux's OpenGL then renders.
That still requires that DirectX works in the MS os too tho.
simple one this
:)
.oO0Oo.
Internet Explorer
All the best tools for web site creation are OSS.
But you need to test it on IE before release.
Plus Flash tools I expect (not my area but enough people round here live inside Flash)
anyone with some sense would choose the right product for the right job. I know I would
Dual/triple booting is a pain and something such as this means I don't have to.
I've not tried it yet but it means I should be able to happily run plan9 on my desktop and use VNC to attach to the Linux server from where I can run Win4Lin and run IE and friends.
Heck I don't even have to use my own CPU cycles.
This product has almost made my day. Just got to persuade someone here to risk $35 on it. (and seeing as I refused Photoshop and use Gimp I just saved the suits $400 so it's payback time
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I agree that the ideal would be for it to be a)OSS or b)non-root, but if both of the above are non-optional, then consider the alternative: dual boot to windows, and any windows app can directly access the hardware and fandango on your linux partition if it wants to. There's a utility for Windows that allows you to browse an ex2fs partition and copy files to and from it.
is this a VMWare competitor? Just because Linux users use VMWare to run windows?
Does Win4Lin let you install other OS's on it? run multiple concurrent VMs?
Because we
1) Like to use linux as a platform but
2) Are developing softwar for Windows because that's what we get paid to do?
and
3) because certain groupware packages are needed in some corporate environments that only work on windows? (outlook)
Back in the days when I was a happy OS/2 Warp user, I thought it was a great thing that you could run Windows 3.1 applications while running Warp...you could buy Warp with a Windows license or install Windows yourself if you already owned it, and launch Windows as a separate Warp application. The problem was, the fact that you could run Windows applications totally removed any incentive for developers to port those apps to the Warp environment, so they never were ported. Why port an app to OS/2 if you aknow they can already run it as a Windows application ? Note, this was at a time when there were quite a few OS/2 users and it might well have made business sense to port to OS/2 EVEN IF OS/2 COULD NOT RUN WINDOWS APPS. So Warp users were stuck with running Windows applications IN Windows (with its attendant instabilities within the Windows session), as well as paying for a Windows license. Meanwhile, Windows users who wanted to run Windows applications but MIGHT have been interested in running Warp really had no reason to do so. So if you wanted to run an application that ran under Windows, there was never going to be a compelling reason to move to OS/2, since it would never be ported to the OS/2 environment. My point is, if users are able to run Windows apps within Linux, why would we ever expect developers to provide us with Linux native versions of those apps ? The availablity of a good Windows emulator can only retard Linux's viability as a desktop OS for the masses in the long run.
So what VMware does
Is patented. Which is why this program uses sort of a cross between Wine and VMWare.
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?
I downloaded it and was running through the README, and it looks like it wants to replace your kernel....
Personally, I'm not going to install kernels handed out by software publishers, or there would be no point in building your own.
I also wonder if the use of Win4Lin doesn't make your system vulnerable to Windows viruses (such as macro viruses in Word): since these applications now have access to your Linux file systems, they can easily destroy your data.
Only if it runs as root. The article over on LMN (which is running squishdot, a slash clone for zope) doesn't say one way or the other.
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?
Agreed, Exchange is *far* beyond pop3 email. We use it to register all of our dem osoftware downloaders, and their information from the forms they fill out becomes a contact within a public folder accessible to all of the salespeople.
:]
Outlook is the main reason that I need a windows environment available, but we also have some MS DNS servers, an IIS server and all of our hosted sites are connected to MS SQL. It's nice to be able to just fire up a Windows session to use the management tools.
As the administrator for a w2k network, it's very nice to not have to use it myself
It's neat to see it... even if it's closed source... in fact, I couldn't care less if it was or not.. however...
1) Won't work on SMP systems.
2) No protocols besides TCP/IP (can deal with this.. but...)
3) Lots of 'features' are listed for the v2.0, which is not yet available.
When it comes of age, and sound works, networking has raw access to ethernet for other protocols, and I can use it on my smp system (yes, I know that 9x won't do smp, that's fine).... then I'm game.
If you would only use VMWare to emulate win95 or win98 then this alternative would seem to offer a better solution. Because it works differently, it takes up much less memory.
However, I use VMWare for testing new Linux, BSD or NT setups, or for playing with BeOS, Atheos, QNX or whatever else is around. You cannot do these things with Win4Lin as it is designed just to give a windows replacement.
Bah. VMWare will work fine on Slackware... just trick it into thinking you have those rc.d directories it's looking for (or rather, have them, and then delete them after it installs if you so desire) and it'll install fine. It runs nicely on Slack.
One of the other not so obvious features of
Win4Lin, is that it runs REALLY well over Remote X. (Ie to Thin Client Terminals) And with Win4Lin 2 having multi-user functionality, you can run a nice little enterprise server for Thin clients, where you deliver say StarOffice for their main Office functionality, peppered with any legacy apps they need using Win4Lin. I have a few sites using something similar to this now. It really changes the "Desktop" option from being "Forget it" to.. "Hey.. we could do that" for most organisations. And once were on the desktop.. it makes it MUCH easier to migrate away thoes old Legacy apps.. and eventually not have win4lin at all!..
Anthony
Uh, thank you for ringing in. It is not my decision that they use w2k, it was a voted-upon issue, and management does not yet trust linux on the workstations, generally due to the IDE choices of the developers.
/. that it's always refreshing to see.
I always have a w2k/nt4 box at my desk, as well as a linux box. Often I have all 3.
Thanks for being judgemental though. It's such a rarity at
is a quote from the marketing team over at trelos, i highly doubt that this is really that stable concedering that is appears from this diagram that this app runs in linux kernal space. Not such a good idea, if your interested in stabilty.
I could be completly wronge here, but if it does indeed use MS code, and runs in kernel space, i can't imagine this setup being very stable.
Another point to make is that this is a comercial product. (way) not GPL.
-Jon
this is my sig.
VMWare - Runs almost any x86 OS. VMs can be created on Linux or NT, some rumor of BSD folks using it -- though I'm not certian. Patches the kernel by using a set of loadable modules. Very compatable. Check the news groups: vmware.*.
Win4Lin - Only Win9x at this time. Only runs on Linux. Fairly compatable. Sound support added to beta releases. Very low memory footprint. Patches kernel directly; no module support. Check the mailing lists: www.trelos.com.
Neither support advanced video or specialized hardware. In the case of Win4Lin, the sound support is only available in the beta and is not entirely stable or complete. (I could not record with it, for example, but that might be my fault.)
The kernel patches are available, but aren't the same. Because of that, your kernel may/may not be supported by either VMWare or Win4Lin. If it's not supported, these programs won't run! For bleeding edge kernel releases, use VMWare. It is more likely to have kernel modules available when you need them. There are security issues since these are propriatory extentions, though the kernel modifications are available as source.
Having said that, I intend to buy two more copies of Win4Lin for my family as gifts. For business use, I would be more cautious and prefer VMWare unless Win4Lin worked with a specific Windows-only application and memory was tight.
Both have full-featured, time limited, trial versions available for download, so the risk is minimal.
As always, if there's a Linux software available...that gets the nod over VMware or Win4Lin.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
Now when it comes to "cost effectiveness", if you're paying ~$150 per user/session, isn't that a heck of a lot more than CAL (client access licenses) for NT Terminal Server or Citrix WinFrame?
Possably for large scale deployment, but for a small office/personal use, Win4Lin + an existing copy of Win98 will be cheaper.
So at what point does Microsoft limit your use of their Windows 9x products with their EULA? Could they not outlaw you from using it in such a manner, or say your "right-to-use" (RTU) license doesn't cover it???
I wouldn't be surprised if they tried that in the future, but existing copies allow you to install/run it on one computer with 1 user at a time. Win4Lin doesn't change that.
Windows can be installed on multiple machines (in violation of the license of course) now. Win4Lin doesn't change that either. You are still asked for the product key by setup.exe when you set it up. MS has no valid arguement there. Of course, lack of validity has never stopped MS from making an arguement in the past.
This really is Windows for Linux, it wants me to reboot after I install, because:
You do not appear to be running a standard supported kernel.
You will need to manually PATCH your kernel.
After downloading a bunch of stuff, it then tells me:
Start Installation (y/n)?y
After installing the kernel, the system will reboot.
Whatever happened to loadable modules? Oh well, I may install it at sometime, but I'm not up for a new kernel and a reboot today.
Windows does not run in kernel mode. It won't even let you run it as root. The bane of Windows stability is the cruddy drivers. Since Win4Lin has it's own driver for the hardware being emulated, it runs much better than Windows on its own machine.
Looking for a computer support specialist for your small business? Check out
Now isn't that overkill?. I design webpages as well, and here's how I test (provided the company who ordered the website hasn't decided to do the IE only, the rest is unimportant, which is cheaper for them and more valid in commercial Europe as the Internet only *really* took off after IE 4 was in place):
1 box with: IE 5, Netscape 2, 3, 4 series. The Netscapes each have their own directory. They don't interfere with each other. Proof? Netscape 3 renders my pages better than 4, which wouldn't happen if each version depended on the same DLL in Win-sys. Testing for 2.x compliance only occurs in rare cases. Sorry, but in the commercial arena, if they can knock off the cost of making it work on 2.x, they will. You tell them it's a bad idea, but still.
1 box with IE 4. In Europe, 3 never amounted to much. This box is an old...I don't remember what that machine is supposed to do.
A mac. Runs the latest version of Netscape, whichever that is. In case some secretary has one of them nice, sexy iMacs.
Of course, having read all the posts about the uses of VMWare, I might pester the boss into getting that for ease of use. Unfortunately, it doesn't do away with the need for a mac, yet.
News and bla for computer musicians: http://lomechanik.net/
Your assessment of our patches is not really on target. I am not sure what you are talking about wben you refer to a separate "VM/schduler/etc". One problem is that the abbreviation VM can mean either Virtual Machine or Virtual Memory (subsystem). It is not really clear which are you are talking about. We do create a virtual machine environment but try to make maximal use of of the x86 chip (i.e. we try to avoid as much emulation as we can).
We move the Linux GDT because Linux doesn't really care where it's GDT goes, but WINDOWs does! We need more extensive LDT support than provided. We also want switch-in and switch-out hooks so that we can save and restore processor state that LINUX does not save and restore for us.
We also have a "return to user mode" hook so that we can deliver virtual interrupts (the virtual machine equivalent of a signal) whenever a return to user mode occurs. In addition, we have a task exit hook which allows us to clean up whenever the virtual machine process exits.
We have some Virtual Memory hooks because Windows thinks it is managing memory. We provide virtual-virtual memory and to do this with good performance, we need a better interface than "mmap" alone can provide.
We could "steal" and lock a large chunk of memory for Window's exclusive use, but we would rather play in the memory pool with everyone else. I.e. if windows is idle and not using memory, then it should be able to be paged out and used by other processes.
There are, perhaps, ways that we could better take advantage of what Linux has to offer, but our product also runs on SCO OpenServer 5 and SCO UnixWare. We wanted to get something that is implemented in a pretty consistent way on all the operating systems. In addition, up until the merger of TreLOS and NeTraverse, we have been pretty short staffed and been trying to get the biggest bang out of our development time. So to some degree the implementation of the interface into Linux was the one we could do the fastest and still maintain excellent performance.
Also, just to clear up a few other misunderstandings: We do NOT let windows run in ring 0! We also DO use loadable modules. However our modules require the hooks that we have placed in the kernel.
There are several reasons. On reason is specialty apps that haven't been and aren't likely to be ported over any time soon (practice managers etc). Another is if an individual in a business environment wants to run Linux, but must still interact with the rest of the office which has standardized on windows and uses Windows only groupware for some tasks (such as scheduleing, contact management, billing).
It can be a great way to ease a transition as well, allowing gradual migration app by app to Linux in order to minimise disruptions to productivity.
There are also cases in professional offices where one decision maker just wants to stay with Windows (OOOOOOH, grog say change bad!) but can't back the arguement up with valid business reasons. Their only hope is to find one app that only windows has, and try to make the business case that it is the best software for it's particular function. They will further argue that it is of overriding importance (which may or may not be true).
The Linux advocate in that office can deflate the argument quickly by demonstrating Win4Lin and the 'all important app' running under it.
If this just involves yourself I can see your point. But if this is the case for more, say 5 and up, I would consider it a waste of money.
That is perfectly logical and sensible. The only flaw is the implicit assumption that the process of choosing the OS to standardise on will be a logical and reasonable process in a business environment (sometimes FUD and a high prices MCSE consultant wins the day.).
Other people pointed out some good things, but there's a category that was missed. There are thousands of software packages, mostly poorly written niche-market DBMS front-ends, that only work on Windows. The companies that write them are small, and generally don't have the resources (money or knowledge) to support multiple platforms. Many businesses, including most of the ones I've worked for, count on one or more of these packages for day-to-day operations.
It sucks, they should switch to something better, but the costs involved in switching the software everyone uses is frighteningly high. If I'm going to recommend someone switch, I prefer recommending Free software, but $35/seat to allow the underlying OS to switch from Windows to Linux while letting everyone still run the same DBMS software systems that they've become familiar with sounds awfully attractive.
----
----
Open mind, insert foot.
But today things are completely different on Linux IMO. Where the regular tasks are concerned (hey, everyone needs to write a cv every now and then :)) you can find software for allmost anything. Word and even beyond (Excell, etc, etc) can be handled by most major suits (Staroffice (my personal favorite), WordPerfect, Applix, etc.) and in some cases it'll cost you nothing at all (not counting download times). Back then I could use Works just because Compaq shipped it with my PC. Bottom line; for allmost every task you want to do there is native Linux software available. Most of it is free and others cost you some money but thats the case in allmost every OS (one of the main reasons I had some difficulties letting go of OS/2; all those cool registered software).
So basicly there isn't really a need for these virtual environments for just running specific Windows based software. Most of 'm could be handeled by the likes of Wine anyway (considering that you really are looking for native Linux software first before moving back to Windows based programs). In several discussions people told me that this wasn't the point to focus on; it was development. When people need to develop software they can depend on virtual environments so that they can use the OS of choice (either Windows or Linux, in most cases it goes both ways) and develop for the other.
I think that this is one big reason & risk for another load of bl0ated software, think of it... What you are basicly doing is building software for an environment which is completely simulated by another one. When you do program / do certain specific tasks you don't have any clue what so ever what'll happen and if it will happen as it should simply due to the fact that you are completely dependend on the way the 'simulation' does its job. In the terms of your average Windows (visual) development environment this would mean depending on the way the visual dev. env. does its thing (very often producing massive (bl0ated) code) and also how well the simulation does its job. If one of them has bugs (and you can be sure that they do) your software is at risk. In rare cases you could be producing software which runs flawlessly in the simulator but is highly instable in the real environment.
Therefor I still do not understand why anyone would even want to do its developing in such environments. I can, to a certain extend, see why people want to do this on their private projects but when business is concerned (some of these virtual machines are focused on business environments as well) I think that you are doing an extremely bad thing(tm) when you choose a want-to-be over the real product. Sure; developing Windows software in Linux may sound c00l ("wow, Linux can even do that?") but anyone with some sense would choose the right product for the right job. I know I would.