Market Gap: VMware for OS X
Throughout the course of my life I’ve had cause to have more than one machine available to me for my work. Not because I have more than one set of arms and eyes and amazing multi-tasking capabilities, but because vast quantities of my work generally involve setting up temporary environments, and even entire networks. I don’t want to set these up on the machines I use for everyday work. If I’m trying out a particularly nasty piece of beta software it could take me hours – even with regular backups – to get back online. Quite aside from the fact that sometimes I need my main machine available to write up and make notes on the temporary environment I’ve just created.
All this has meant that I’ve had to have multiple machines available to enable me to do my work. My home network contains more computers and computing power than many of my clients have spread among 10-15 people, but there’s just me in this office. Aside from the management perspective of a 20 machine network, the electricity costs are astronomical compared to just running a few desktops.
Then I discovered VMware on Linux. For those not familiar, VMware (which is available on Linux and Windows) is the same basic principle as VirtualPC (available for Mac OS/X and Windows) – it enables you to create virtual machines, including hard disks, networking and even audio and other device access – through which you can run another operating system.
For me it means that I can create a three machine network – one running Windows Server 2003, another Windows XP and another Linux for example – all within a single machine. Each virtual machine has its own entire environment; if the Windows XP machine needs to reboot, I can do so without affecting the others. Similarly crashes and other problems don’t affect the other virtual machines.
Now that’s great. I actually now use VMware, VirtualPC and Microsoft Virtual Server (a server specific version of VirtualPC) according to my needs and environment. All of them, conveniently, support the same target platform – Intel x86.
But what if I need to achieve the same on my Mac?
OK, 75% of you will have chimed in and said ‘VirtualPC is available for the Mac’. And you’d be right. 5 points.
For the 25% that see where I’m going with this, 10 points.
You see, as a Mac developer and system manager I’ve often had to create environments, test software and evaluate the results on the Mac platform. VirtualPC isn’t going to help me – it’s designed to emulate the Intel x86 platform and support x86 operating systems like Windows. In fact, VirtualPC – by its very name – is designed to emulate a PC on your Mac.
What’s surprising is how under-supported this kind of facility really is. I mean, VirtualPC and VMware have been around for years, why isn’t there an equivalent for the Mac/PowerPC platform?
It’s not technology that is the problem, in many ways the PowerPC platform should be easier to produce an equivalent for than a PowerPC environment. Instead, I suspect the problem is more to do with market forces.
Well PearPC does actually allow you to run PowerPC software on Macs, but it’s a relatively recent capability only made possible by the introduction of Mac OS X and an X server. Originally, PearPC was designed for Unix and Windows PCs run Mac software, it’s by pure coincidence that we’ve now got a working virtual machine emulator on the Mac that is capable of running Mac software. At the moment, PearPC is less than ideal on the Mac platform. The keyboard interface doesn’t seem to work right, and I haven’t yet been able to run a LinuxPPC installer (although booting works fine), but I’m sure these will be fixed in time. Performance is also an issue, although again that could be alleviated with more intensive work on the PowerPC platform.
Hopefully, we’ll see more interest the PowerPC virtual machine arena when the new dual-core PowerPC chips come on line. With the right software it would be possible make a really good virtual machine environment that could use the second core on the processor as the main CPU for the virtual machine. With a dual-CPU platform we could run two virtual machines.
Until then, if you have the time, why not devote some of it to PearPC?
Note: Dual-booting, by the way, isn’t a solution. With dual-booting I can only run one version of one operating system at a time. I can’t run OS X and LinuxPPC on the same machine simultaneously.

Trackbacks/Pingbacks (Trackback URL)
Comments RSSComments

#1 Kundvagn says:If you could compile the Mac on Linux app (maconlinux.org) in OS X. It would be very similar to Vmware.

#2 Sam says:There are lots of virtual machines for the Mac, but no full MacOS X one that really works. For the Mac Plus and 68K ones, though, for Classic apps, check out:
http://emulation.victoly.com/macintosh/

#3 Scott says:MacOnLinux may be able to run under OS X soon, according to their technical highlights. Not sure if they have G5 suppport, but I’ve seen it run very will under Linux.
http://www.maconlinux.org/news.html

#4 Peter da Silva says:“But what if I need to achieve the same on my Mac?”
You create a new account and run the test software on that.
You type “ifconfig en whatever” and start a new instance of a daemon on that port.
IT’S UNIX. IT’S MULTIUSER. IT DOESN”T NEED VIRTUAL MACHINE TECHNOLOGY.

#5 mcslp says:Peter: Using another user is fine for testing some software, on Mac OS X, but if the software installs global components, then it’s not a safe environment for testing.
Also, creating another user wont let me test the latest Darwin release while I’m still running OS X. This is something I can do with VMware/VirtualPC.

#6 Erik says:Out of curiosity, do you have any means of managing the VMWare environment from your Mac? Since there’s a Linux based version, it would make sense that it should be a fairly easy X11 port, but I haven’t been able to find anything on the subject. Otherwise, I guess it’s RDP to a VMWare host running Windows, but that’s not pretty since it would be better running off a Linux host OS.
And I’m with you 100% on this gap in the OS X Software lineup. It’s nice that I have the flexibility to install test environments on a separate drive or partition and boot from there, but it’s also a pain if you need to have multiple environments running concurrently or at least have your personal work environment at the sale time.

#7 mcslp says:Well, as you say, with VMware being a X11 app it’s actually possible to view VMware hosts when running X11 under OS X.
Alternatively you can RDC to a Windows host or use VNC on just about any host.
However, this still means you are accessing an x86 based virtual machine; it’s no help whatever if you want to run PowerPC OS like OS X, Darwin, or Yellow Dog Linux.

#8 Kundvagn says:Scott: If you look at the date of the latest news on molonlinux.org you will see that its over a year it got posted. So I believe “soon” has diffrent meaning for diffrent people. =)
But if you download the sourcecode snapshot it actually will both compile and install under Panther. But it wont run, I believe its because the missing kernelmodules.
We will just have to wait and see, maybe “soon”! =)

#9 mcslp says:PearPC compiles quite nicely, initially, but OS X takes about 15 minutes to get no further than loading kernel modules, and the keyboard issue means that installing YDL or Debian doesn’t work…

#10 Erik says:Oh yes - I agree that using X11 to view X86 VMWare instances from a Mac doesn’t solve the issue of an equivalent functionality capable of running an OS X environment. That was a side issue from my standpoint since I’ll be needing to do that fairly soon.
And I would love to see both an OS X thin client solution (for OS X as the environnment being accessed) and for a true VM solution for OS X as well.
Given that Apple controls the hardware layer of their PPC platform, it should be (reasonably) easy to be able to build the virtual hardware layer without too much trouble.

#11 mcslp says:Of course, I’m ignoring the fact that there’s a conspiracy surrouinding the Mac Mini and the absence of a VMware-like app for PowerPC
Let’s face it, if I had the choice I’d rather than 4 Mac Minis than one and VMware software!

#12 niels says:Something like VMWare would be very nice….
Being able to run AIX, NetBSD and MacOSX would be a _very_ good thing…
and now that we are at it…
How about a Alpha/VAX emulator ??

#13 Peter da Silva says:Peter: Using another user is fine for testing some software, on Mac OS X, but if the software installs global components, then it’s not a safe environment for testing.
It’s amazing how non-global a “global component” can be once you start looking at what it would take to build a testbed. I’ve been developing “global components” on UNIX systems for over a quarter of a century and it’s pretty rare that I’ve had to run a second system. Kernels and kernel drivers are about it, anything else and a little work with chroot and, well, Bob’s your uncle.
For us, porting the FreeBSD “jail” code to Darwin and OS X would be a more logical next step than building a Power PC analog of the x86 virtual machine.

#14 Kundvagn says:Look what I found. =) Mac on Mac http://www.inaddrany.com/mom/
It only works with OS 9 at the moment, but it seems pretty fast to me.

#15 mcslp says:Peter: BSD Jail code will only work when I want to test OS X code and applications within another OS X.
None of the solutions you’ve suggested would allow me to simultaneously run OS X and LinuxPPC at the same time, or for me to run OS X Tiger betas within the safe environment of a virtual machine within OS X running a non-beta version of OS X.
No offence, but you seem to be missing the point and benefits of true virtual machine environments. It’s much more than simply providing a safe partition within an existing OS.

#16 Peter da Silva says:Dude, I already agreed that you have a point for when you want to do kernel work: and running a completely different operating system certainly qualifies… but that’s a very small part of what people use VMware for. And a lot of the things people use or want to use virtual machines (or even jails) for don’t really need them at all under UNIX (whether that UNIX is Linux, BSD, OS X, or whetever people are using on penguin farms these days…
Under Windows, of course, they have to use a virtual machine for just about anything… it still has huge gaps in its support for multiuser environments… but it’s amazing what people fire up a virtual machine for when they don’t have to. I’ve had people do it to get a “clean environment for Apache” or Postgres or something. It’s nuts.
Sorry about jumping to conclusions about what you were wanting to use it for… I’ve just had to lead too many people out of this cul-de-sac over the years that I automatically assume that’s what’s going on.
(though I still think I’m missing the point of LinuxPPC… but that’s a rant for another day)

#17 Brock Gunter-Smith says:Thank you for bringing this up, I was discussing this on the weekend with some co-workers as one of the largest deficiencies on the Mac platform. As a developer, I need to run multiple versions of the OS for testing purposes and it’s a pain to keep re-booting, when I should be able to run Tiger on one screen and 10.3 in another just like I do with Virtual PC.

#18 Gareth Potter says:Likely the main reason that there is no PPC-in-a-PPC version of VMware (or decent equivalent) is that until recently there simply wasn’t the demand. Obviously in recent years, Mac hardware has become more affordable and, with the release of Mac OS X, more desirable, but it is still a relatively recent thing that every UNIX hacker is carrying a PowerBook under his arm. Surely there are still only a very few who are using Macs in the scenario you describe.
In any case, as a large majority of Macs are bought because of OS X, alternative operating systems on PPC probably don’t get as much attention as they do on x86, where the dire state of Windows precipitates a desire to look elsewhere. As a result, they may be less mature.
That said, and with the idea in mind that many users wouldn’t want to give OS X up, a Virtual PPC does seem like a good idea for those who absolutely need of the Linux way of doing things, especially given the fact that PPC machines are in a position to do decent x86 emulation as well (the reverse, of course, is not true, because of architecture differences.)

#19 mcslp says:Gareth: What about all the developers for Macs that have needed this technology?
It’s not Unix hackers that suddenly need this technology.
As a developer I’ve always had to have two machines available for as long as I can remember for developing Mac software - one to develop on, and one to test on. Without it - particularly in Mac OS days (and 7.x and later specifically), a crash during testing could mean a 5-10 minute wait until I got my environment back again.
As an administrator the same was and still is true; I can’t afford to cock up my live systems for the sake of a bit of testing, so that means having multiple machines.
This isn’t *new* requirement, it’s one developers and system administrators have had on the Mac platform for decades.

#20 Peter da Silva says:Gareth: Virtual PPC does seem like a good idea for those who absolutely need of the Linux way of doing things
What’s the “Linux way of doing things”? I can come up with some nasty sarcastic suggestions about that, given my experience porting “all the world’s a Linux box” software to other platforms, but I’m actually curious… in your mind, what is this “Linux Way” that OS X doesn’t already do?
mcslp: As a developer I’ve always had to have two machines available for as long as I can remember for developing Mac software - one to develop on, and one to test on.
Unless you’re doing kernel-level work, or testing on different versions of the OS, that’s simply not true on any UNIX-based system. At work we have multiple developers concurrently developing and testing real-time control code on the same physical hardware. They each have their own webservers, database servers, whatever else they need… and the idea that routine testing would cock up the system badly enough to need a reboot is ludicrous.
And, well, my experience is that the number of developers who test on anything but the one OS version, whether that OS is Mac OS X, Linux, commercial UNIX, or Windows… is negligable. Hell, there’s an awful lot of them who don’t even make use of Apple’s xcode tools to check if THEY think their software will run on anything but their own system.
What, me, cynical? You bet. (old fogey wobbles off, waving cane at whippersnappers and their newfangled inventions)

#21 mcslp says:Peter:
1) It’s not about testing within a Unix or even an OS X environment. It’s about testing in a environment over which you have control.
I don’t want to test applications on my system because I don’t want to run the risk that some software, service, or configuration difference on my machine is going to affect the execution, operation or installation of the application I’m testing.
Equally, I don’t want that application to affect my machine either. If the application starts deleting files off the machine when it runs (and it happens), the last thing I want is for the machine to be the one I use for email, net access and everything else. Even worse, I certainly don’t want the application to delete the source code of the software I’ve just created either - and that happens too.
2) It’s not just about testing OS X or even Unix applications, that was merely an example. I was developing on OS 6, 7 8 and 9 before that, none of which were Unix based. It’s also not about testing Mac-centric software, there are other OS out there that some of use.
Also, some of my work does involve working with kernel modules, device drivers and extensions and sometimes these cause panics. Unix is a resilient operating system, but once you start messing around with code at the kernel level most of the safeguards that apply to applications just aren’t applicable any more.
I really don’t want kernel panics on the same machine I use for the development. More to the point, some of these drivers and extensions only work when you reboot the OS. Over the course of a day I might expect to produce 20-30 versions. I don’t want to be restarting my machine 20-30 times a day; that would be one to two hours at least of valuable work time I’d miss. Not helpful.
3) If I had just one machine but I needed to test in multiple environments (and I do sometimes), then trying to organize simple things like email becomes a real PITA. If I had multi-boot I’d have to install and configure email on each system, not to mention also setting up connections to the servers, my internet access and making sure I have any applications and files that I might need during the process.
4) One of the things I specialize in is making software run on multiple platforms - including porting the code if necessary. I *CANNOT* run OS X *AND* a.n.other PowerPC based operating system on the same machine at the same time. I’m not going to waste 10 minutes each time I make a revision - even if that is only 3 or 4 times a day - saving the project to the server, shutting down, rebooting into another PowerPC OS on the same machine, resyncing the files, recompiling and then testing.
5) Testing software is more than just running the application on your system and seeing if it works. You may need to test other versions of the same OS (which I do, and I did with Tiger and all previous OS X revisions), or indeed other operating systems. Also popular in this office is testing updates to software and systems and making sure those updates don’t affect the operating system.
I don’t run alpha or beta software on my machine because I don’t want to waste hours picking up the pieces if anything goes wrong.
6) Sometimes what you want to do is test out your applications and installation on a completely plain, vanilla, OS installation. That would be virtually impossible if I only had one machine available. With two machines, nuking the hard drive and starting again wont affect my machine, and I wont waste my time waiting for the process to complete.
With virtual machine technology I can do this by simply unpacking a virtual hard disk I made earlier. It takes a couple of minutes (instead of 30-45) and it doesn’t matter if the OS update, driver, kernel module or application nuke the disk. All it does is nuke the virtual one, which I trash and start again with a new one.
Without virtual machines - and this is what I do on OS X - I build a number of firewire disks with a vanilla OS on them, then if I need to I boot off one of these and use that. It’s not very convenient, but it’s better than waiting while I re-install from scratch, especially if I also need to update to the latest OS updates.
7) I’m no young whippersnapper. I’ve been developing software for over twenty years, over 15 on Unix platforms. I specialize in Solaris, Linux and AIX, although I also do a lot of work in OS X and Windows. I’ve been an OS and application beta tester for Microsoft, Sun and Apple for the last 12 years.

#22 Peter da Silva says:I don’t want to test applications on my system because I don’t want to run the risk that some software, service, or configuration difference on my machine is going to affect the execution, operation or installation of the application I’m testing.
That’s why you install local software in ~/Applications and not /Applications.
Equally, I don’t want that application to affect my machine either. If the application starts deleting files off the machine when it runs (and it happens), the last thing I want is for the machine to be the one I use for email, net access and everything else.
That’s why you run it under a different and non-privileged user ID.
I’ve been testing software on the machine I use for everything else since that was a PDP-11 at Berkeley in the ’70s. This is a non-issue.
Also, some of my work does involve working with kernel modules, device drivers and extensions and sometimes these cause panics.
Third time’s the charm? “I’m not talking about kernel development here, that’s obviously a special case with special requirements”. Which brings me to…
One of the things I specialize in is making software run on multiple platforms - including porting the code if necessary. and Testing software is more than just running the application on your system and seeing if it works. and I’ve been an OS and application beta tester for Microsoft, Sun and Apple for the last 12 years.
Sounds like your requirements and habits are about three or four standard deviations from the typical developer.

#23 mcslp says:That’s why you install local software in ~/Applications and not /Applications.
Which is meaningless for anything but running basic applications. Testing a software installation issue - especially if you are testing the installation of software, services or extensions that requires installing system components - isn’t going to be possible in the situation you describe for every type of application. It’s not even possible for some of the most basic applications supplied with or available on OS X.
That’s why you run it under a different and non-privileged user ID.
Which limits your testing to a specific environment which may very well be untypical for the environment in which the application will be deployed.
Since the majority of software is installed in the main Applications folder it makes sense to test it in that environment. ~/Applications will not be good enough.
Sounds like your requirements and habits are about three or four standard deviations from the typical developer.
No - I may do more extensive things than the typical developer, but that doesn’t mean I want any less or more control over my environment.
If you are going to test an application then testing it within the confines of a privileged user and a localized Applications folder is only going to validate your application within those environments.
If I want to test a full installation into a live environment, potentially placing things into areas which need security access and validation then the limits of a standard user account are a problem.
Note here I’m completely ignoring more complex situations like kernel drivers. Even simple applications sometimes need more than to be copied to ~/Applications.
It also makes sense to test your software in environments that differ from your current one - including making sure that some past software or driver that you installed on your machine isn’t what makes your application work. Those applications, services, libraries and drivers on which your application relies may be System, not user based, so testing within a non-privileged user account is not going to highlight the problems.
You are concentrating on testing a completely standalone application that has everything it needs right there in it’s installation folder. That isn’t a typical deployment environment, nor is it the right way to test and deploy software that will be used anywhere outside of a very tightly controlled environment.
You don’t test cars by only driving them only within the tightly controlled environment of a test track.

#24 Gareth Potter says:To Peter:
I should think that what I mean by a “Linux way of doing things” is obvious and barely merits a response, especially to a developer of your seniority.
In the SCO litigation’s heyday, much was made of the fact that Linux isn’t UNIX. It’s UNIX-like, but it isn’t UNIX. Certainly as an OS X user and as someone who prefers *BSD, I find some of Linux’s configuration idiosyncracies (layouts, etc.) utterly maddening - I would go so far as to label it a higgledy-piggledy mess at times, albeit one which I have finally got used to. The opposite is also true - there are many Linux devotees who bitch and whine when Apple deviates from their “norm”. Indeed, to placate these types, Apple made much of their adding numerous Linux APIs to Panther, as well as new code from FreeBSD.
As to the point about testing, the cynicism is not particularly relevant (although I cannot resist adding, with tongue inserted firmly in cheek, that as a Brit I can - nay, have a duty to - out-cynic you). Whilst I feel it might not be entirely necessary to test applications on different versions of OS X, given that Xcode does try to alert you to compatibility issues, notwithstanding the fact that fundamentally I believe it to be a bad idea not to do so, the suggestion that you can develop on OS X/X11 for any version of Darwin/X11, Linux/X11, *BSD/X11 without testing on those platforms is utterly ridiculous.
To MCslp:
Your point about the need having been there is interesting and wholly valid, but it does meet with one major issue - the host operating system.
VMware only runs on NT/2000/XP and Linux for reasons that should be relatively obvious - it needs a modern, multitasking host operating system to work properly and safely. My relatively brief experiences with OS 9 (mostly involving trying to browse more than one web site at a time) have taught me that cooperative “multitasking” is not really up to much. That Virtual PC runs is probably more out of the absolute necessity of it - it is more marketable than “a tool that a subset of Mac developers will use.” Having never used it on the Classic Mac OS, I have no idea what effect it had on the system, but I should imagine that were I to venture a guess, I wouldn’t be far off the mark.
So whilst it is accepted that the demand was there, I just don’t think the technology could necessarily handle it particularly well. Now that we have OS X, of course, there is no excuse.

#25 mcslp says:Gareth: I agree the OS may not have been able to handle it - but OS X isn’t the only OS for the PowerPC.
There isn’t a VMware-like app under AIX, nor under any LinuxPPC environment, and yet these have been available for significantly longer than OS X on PowerPC.
Market forces and available customers explains why there is no commercial version, but I’m surprised that a FOSS version hasn’t surfaced either.

#26 Peter da Silva says:Which is meaningless for anything but running basic applications. Testing a software installation issue - especially if you are testing the installation of software, services or extensions that requires installing system components - isn’t going to be possible in the situation you describe for every type of application. It’s not even possible for some of the most basic applications supplied with or available on OS X.
99% of software for Mac OS (any version) and at least 95% of the software that comes with an “installer” on Mac OS (any version) doesn’t need or even want an installer. Installers are only necessary if you’re installing genuinely system-level components (and there, too, far too much software on Mac OS X forces you into installing components at the system level instead of letting you install them locally), and I’ve already acknowledged that’s an exception so why do you keep bringing it up as if it’s a new point?
What I’m getting at here is that there is a FAR smaller market (see that bit up there at the top of the page, “The Market Gap”?) for this kind of capability than you’re making out, because Mac OS X is a UNIX system and most of the reasons that most developers would need a virtual machine during development simply don’t apply.
Since the majority of software is installed in the main Applications folder it makes sense to test it in that environment.
“/Applications” is not an “environment”, it’s a read-only-to-normal-users directory. That’s the only difference between “/Applications” and “/anythingelse/Applications”.
The only reason I can see that being an issue for software that doesn’t contain system-level components is if you’re trying to write to your own Resources directory (and, yes, I’ve found software that won’t run from a CD because of that), or you’re otherwise storing information in places you shouldn’t be. Unless the basic design is appalingly broken you can test this by running it from a read-only DMG.
Even simple applications sometimes need more than to be copied to ~/Applications. and You are concentrating on testing a completely standalone application that has everything it needs right there in it’s installation folder.
Yes. That is the normal case. I can’t think of any good reasons for simple applications to need more than that. If your software is not a system component (and, again, I’ve already agreed that special case requires multiple real or virtual systems to test on) there is absolutely no reason why it should require anything installed outside its appdir. Even Microsoft gets that right: you can install Office X by dragging it to the Applications folder, and you can move it to a diferent folder at any time and it keeps on working.
If you say there’s a big market for VMware because it makes it easier for people to write badly behaved software (like, say, those beggars at Unsanity who force-install their stuff in /Library), than I for one am all for making it harder for people like that. There’s WAY WAY too much software like that already.
including making sure that some past software or driver that you installed on your machine isn’t what makes your application work.
This is another good reason for installing stuff in ~/Applications routinely so that your test user can’t see them. For system software and drivers, yes, that’s a problem. You need different physical or simulated hardware (including different KINDS of hardware) to cover this.

#27 Peter da Silva says:Gareth: In the SCO litigation’s heyday, much was made of the fact that Linux isn’t UNIX. It’s UNIX-like, but it isn’t UNIX.
Linux is UNIX. Not “UNIX-like”, it’s UNIX. So is OS X. I understand that claiming that something isn’t “UNIX” if it doesn’t have the anointed holy code in it has a long and fashionable history, but I maintain, and I have maintained since long before there *was* such a thing as Linux, that this argument is pure and unadulterated horse exhaust. Being an old codger doesn’t mean my brain has fossilized to the point where anything that hasn’t been blessed by Dennis Ritchie’s fingers makes me go “Oooh, that’s got Linux cooties, it’s not REAL UNIX”.
UNIX is a family of operating systems that share a common core API and a common approach to API design, based around the use of opaque objects (file descriptors) to mediate communication between components, and a common namespace (the file system and the UNIX shell) to locate and create these objects. There are very few, if any, “pure” UNIX systems any more (System V IPC, an abomination before the kernel if eve I saw one, is now universal… for just one example)… but there is nothing in Linux that makes it less a member of this family than FreeBSD, OSX, SCO Unixware, Solaris, or Tru64.
Yes, a typical Linux installation normally has a lot of configuration and design features I find annoying, but there is far too much variety in Linux distributions for me to be able to discern any common thread that I would call “the Linux way”.
as a Brit I can - nay, have a duty to - out-cynic you
Blow that for a joke, I’m Australian.

#28 mcslp says:because Mac OS X is a UNIX system and most of the reasons that most developers would need a virtual machine during development simply don’t apply.
Providing that (a) they develop only for Mac OS X, (b) only develop for one Mac OS X version at a time and no other and (c) only develop simple standalone applications.
You conveniently ignore other issues and situations where using virtual machine technology would be useful to developers - including testing software for new versions of the operating system, beta versions and after system updates, none of which can be achieved within the isolation of a single user. None of these situations are specific to the type of application you are developing, and none of them are effectively handled through the warnings in Xcode.
Virtual machine technology would also be useful to people other than developers, including system administrators and IT departments for testing and deployment. I said that in the original article, and I’ve repeated it a number of times in the comments.
The market is therefore much larger than the simple application developers that you keep quoting as ‘people who don’t need the technology’.
If the technology wasn’t useful then it wouldn’t exist on any platform, and yet you have three commercial products on the x86 environment (Windows and Linux).

#29 Peter da Silva says:Providing that (a) they develop only for Mac OS X, (b) only develop for one Mac OS X version at a time and no other and (c) only develop simple standalone applications.
That’s the majority of the developers right there. The ones who develop for more than one Power PC OS, who develop for anything but whatever is currently out there, and who develop applications that require write access to system files (remember, “simple standalone applications” can still install Cocoa components in ~/Library…) are a small part of the total.
I’m not ignoring other situations, I just don’t think there’s a huge market there. I am a system administrator, and I have used VMware on occasions… but I hate using it. I set up a whole new Red Hat system for VMware testing, and loaded it up with RAM and CPU, and with more than one concurrent system its performance is too low for it to be useful for anything BUT testing… and if I could maintain properly segregated users on Windows I wouldn’t use it at all… EVERYTHING I use it for on Windows I can do without it on FreeBSD and Tru64 (the main UNIX environments we use).
If the technology wasn’t useful then it wouldn’t exist on any platform
I didn’t say it wasn’t useful. If you’re using Windows its very useful indeed… but that’s because of the nature of Windows. If you’re not using Windows, it falls in the “occasionally convenient” department. It’s like blade servers: if Windows didn’t suck so badly there wouldn’t be enough market to justify their existence.

#30 Mark says:Hi,
I’m very interested in a VMWare-like programme for OS X.
Is there some news since April?

#31 Mark says:Mac-on-mac has a new website, I visited the old one..
http://maconmac.bastix.net/
Looking very promising!
Doesn’t work with Tiger at the moment.

#32 olegf says:You can take a look at http://www.iemulator.com it looks like what you need - vmware like emulator for os x. tiger supported!

#33 Jim says:Why don’t ya’ll just go buy two darn machines!
(just kidding)
I’d like VM Ware on OS X too. I’m going to be trying Virtual PC for the lower end stuff I’m doing…

#34 R Bednar says:Wow…such a heated discussion. I’d be happy if VMware were available for Intel Mac’s when they are released. I would like to be able to run a Red Hat environment and Windows vm’s with reasonabvle performance. Never considered running OS X inside OS X. I suppose I don’t have a “need” for that…but I can see where this might be useful. Granted yes… OS X is multiuser - but VMware does some “neat tricks” that would I would be hard pressed to reproduce outside a virtualization system. I don’t know if “UNIX” needs virtualization…but it’s actually pretty darn good at it…so why not?

#35 Asam Bashir says:Hey, theres a new project on sourceforge called VMacWare, needs developers, anyone up for it?
Apparantly, they’re in talks with both VMWare and Apple. VMware is up for it, however its up to Apple since they own a key patent.

#36 Stefan Tilkov says:I’ve put up an online petition to give VMware some reason to port their product to OS X. Please support it!

#37 VatMDS says:Quite a lively discussion, and one that interests me greatly. I didn’t read every detail in every comment, so forgive me if someone already brought up this point:
I believe the biggest reason virtualization has become so popular is primarily due to the server consolidation and disaster recovery benefits.
Granted, many developers use it to test software (as do I), but the biggest impact is being felt in server rooms and data centers where there are huge benefits. At the risk of sounding like a commercial, I will say that we use the technology extensively at our company because it provides numerous benefits.
Not only can you consolidate servers and see real savings in space & power usage, but you get a laundry list of other benefits as well including:
- online and offline snapshots to simplify disaster recovery & backups
- extermely flexible networking with virtual switching, NAT, DHCP, etc.
- support for SANs & clusters & shared data access
- simple migrations from one hardware platform to another
- simple migrations from one host OS to another (linux–>linux or win and win–>linux or win) with only minor changes to a text file if even required
- simple cloning of systems
I could go on and on but the point is that I would love to experience all of these benefits running with the power of a dual-G5 or future Intel-based xServe! The platform is fantastic for everything we’ve thrown at it, but we could leverage it for so much more if multiple instances of OS X (or other OS’s) could run on it at the same time (virtualized so that performance is acceptable, as opposed to emulated, which is not). The power is there and in many cases not being tapped to it’s fullest potential, where running multiple OS’s would certainly be viable and maybe stretch the server’s legs a little bit more, too.
We run many production systems as VMs on Intel hardware and have directly benefitted from the ability to revert back to snapshots that reduced downtime from days or hours down to literally minutes. We have also consolidated numerous servers down to a fraction of the floor space while using fewer switch ports and less power.
So please VMWare - if you’re reading this - port your product to OS X, as our Mac workstations and servers coould do so much more!

#38 RoninXI says:I know I will be slapped for this but I want VPC or VMware or hell I would love DarwineX. NOT for the reasons above but for gaming …the ONLY reason I still have a Windows box, which I know is the case for many people. Though not for most of the people who would be reading this. That said I believe VMware would be the best choice behind Darwine as it would run semi natively / purely natively ,respectively.
I would of course be conserned that developers would consider not making graphically intensive programs for both systems but it would , i believe, pull people to mac fpr one and also make developers realise we want them to make their products for us too. Because we all want a system that just works not the buggy mess that is Windows.
[z]

#39 jkp says:I think this post needs a revisit in the light of the Intel switch and machine availiblity. When will VMWare be availible for the Intel boxen so we can run multiple OS’ at once and really kick some ass?
Would absolutely rock for development thats for sure.

#40 Andy says:I would like to echo some of the comments above. VMware for OS X deffinatly sounds very good to me. I agree that UNIX/Linux systems deffinatly have better multi user suport than Windows ones, and that you can sand box users to a greater degree. However real virtualisation does so much more than that. I’ve used VMware and Vituozzo and they both offer a great deal of advantages, in my opinion. I think the power you get from virtual machines comes from the fact that they give you a (nearly) complete virtual hardware implementation to play with. You can controll how your physical hardware is divided up and how much of it can be used. For example , if a piece of code goes mad and starts eating up all of your resources it will only be affecting the virtual machine it is running on not any others. The sand boxing also means that if there’s a hole in an application that allows remote access etc, the hacker will only access your virtual machine. If you separate your server apps into different virtual machines you can provide yourself with an added level of issolation without the cost of more hardware. In the case of VMware you can set snap shot points to restore to. I have used this in training and testing different configurations. For training, you can set up an environment in a VM, have users configure the environemt and make massive changes. Then at the end of the session you can restart the machine and have it set back to the way it was when you took the snapshot.
I hope the move to intel will promt a release of VMwarwe for OS X

#41 JJD says:I test kernel extensions and user-space drivers deployed in /Library and having a virtual machine that allows me to test my drivers on different versions of OS X would help me a lot.
I used to deploy/test the drivers in Puma, Jaguar and Panther. Nowadays I test on Panther and Tiger. Sometimes I get beta/developer releases of upcoming versions of OS X and I go and test on those environments as well.
The installation procedure uses OS X’s Installer (made with PackageMaker).
Virtual machines targeted to PPC platforms that can run OS X versions running on PPC-only would be very much helpful.
Virtual machines targeted to Mac-Intels and PPC platforms running Universal Binaries would also be very much helpful.

#42 Glenn says:For a vmware-like solution for Mac OS X, see:
http://www.parallels.com/en/products/workstation/mac/
It’s currently beta, so it’s a free download.

#43 Derek says:Glenn,
Thanks for the link…but for those of us who will never own an Intel Mac, we are out of luck; the software you linked to is for Intel based macs only.

#44 VatMDS says:Derek,
I hope you reconsider owning an Intel Mac in the future - I have the 20″ iMac CoreDuo and it was definiteley worth the cost - a Mac Mini is a great alternative to save $ and is going to make an awesome home theatre centerpiece.
In my testing XP running within parallels runs amazingly fast. I can even run 3d apps inside the virtual machine with very usable performance. I haven’t tried any 3d games (just the included 3d pinball which worked flawlessly), but my home design/landscape package that heavily uses 3d rendering runs beautifully. In fact, running XP within the VM is as fast as I have seen it run on any Pentium 4 machine natively.
Also notable if you’re looking to run Windows apps, the same machine dual booted to XP using Apple’s Boot Camp is even more amazing - the performance is outstanding and the drivers take full aadnvtage of DirectX for gaming.
I have finally consolidated down to one machine that runs all my apps!

#45 Peter da Silva says:“Mac Mini is a great alternative to save $ and is going to make an awesome home theatre centerpiece.”
Not with that GPU it isn’t.
The dual core has the CPU to spare to fill in the gaps in OpenGL in software… but it’s only marginally faster than the Radeon 9200 when that kicks in, and on the single-core you’re going to be slower, and the Radeon 9200 was barely adequate to begin with. On top of the 64M lost to the GPU, the extra RAM to run Rosetta, and having to have all this extra graphics code… you need to up it to 1G or you’re going to swap like the devil. Some people I know who bought the base 512M core duo report they’re running Windows and Linux on them until the memory upgrades come in.
The old model with 512M is entirely usable. It’s what I’ve got, and I’m happy with it.
So… the iMac and Macbooks may be decent, but the new Mini is gonna go down as a Road Apple.

#46 Vat says:Vat,
Thanks for the info. The Mini was actually something I had considered for awhile. A friend has the 20″ iMac as well and I was thinking about playing around with it to get a feel for how operates.
As for the Mini as an HTPC, how much memory do you really need to play some DVD’s and record TV? Not much…I used to do it on a P3.

#47 Paul says:I like PearPC it does more of the things I need to get down. It allows PowerPC s/w on mac. Good enough for me.
Leave a reply