To answer some Mac-centric questions...
Since this rumor has appeared in various forms over the years, I've used a Mac (or at least since the 486 was introduced), I thought I'd answer some very honest questions non-Windows-using, Unix-programming Mac users may have about this (to the others who are familiar, I apologize).
Is it possible to port MacOS to Intel-based systems?
First it must be clear what is actually meanted by this question. First, this means MacOS X only,
NOT MacOS 9. Not the latter is impossible (after all, Macs have VirtualPC), just unrealistic. Second, this means porting it to x86 hardware, not the software that typically runs on it (i.e. we are not talking about running this on the "Win" part of Wintel). This means Intel
AND AMD processors and chipsets, but Apple may choose to only support one particular thing.
How hard would this port be to accomplish?
Well technically this would depend on how all of Apple's closed-source stuff is written, and Aqua in particular. If we are talking about the core of the operating system (the microkernel Mach and the OS called Darwin) then the answer is this has already been done. You can go buy any old PC-clone and drop in the MacOS core right now, people do this all the time. In fact, Mac OS X is actually ported from the OpenStep operating system which came from the x86 world (or the old pre-PPC 68k world as NeXTStepP) and Darwin is (I believe) a variant of NetBSD which is part of the BSD tree of Unix (there is a nice diagram somewhere on the net that shows the "family tree" of Unix from the beginning days at AT&T in the early 70's to Darwin, FreeBSD, and Linux of today).
So in summary, it's already been done and is done daily. Porting the Mac GUI may be as "simple" as "clicking a button" and probably is
Will my mac software run?
No. First you have to realize that probably only applications made in Cocoa would run on this theoretical system. This is because Cocoa actually came from the NeXT world (If you ever wondered why all the Cocoa classes seem to begin with "NS", note that NeXTStep begins has the same two letters as initials). The Carbon and Classic applications would probably not run. Porting Carbon would mean porting an API that was never written on x86 and porting Classic is roughly equivalent to writing VirtualMac for the PC.
Will my mac "Cocoa" software run?
No. It would need to be recompiled in developer tools to do so. This means the developer would have to "hit a button" and create a separate version of the application especially for MacOS X for x86.
Well then what about classic?
Sorry no classic. If its any consolation, there should be no reason why you can't run Windows 95 (or possibly even Windows NT/2000/XP) within this theoretical MacOS X for x86. The Linux world does this all the time with a package called VMWare. Since it is almost native, the response would be quite fast--much faster than VirtualPC. I think possibly the early incarnations of Rhapsody used to run Windows 95 within a "Yellow Box" much the same way Mac OS ran in a "Blue Box" (what eventually became "Classic").
Great, why hasn't Apple done this?
That's a business question more than a engineering one. But I think before one discusses this, we have to understand exactly what the MacOS X loses by going this direction. Basically what you get is Linux with a good user desktop environment (not to knock Gnome and KDE, but they are unusable to someone without an engineering bent).
Like what? It's going to be slow as a dog?
No, actually it will probably be faster. Intel processors may be poorly architected and we can debate processor religion until we're blue in the face (I have a friend who works at AMD and one who works at Intel, both world headquarters are within one mile of where I live), but the reality even if it is crappy, the monkeys on Intel systems are typing twice as fast as the monkeys on Motorolas (currently) and they're more likely to type the complete works of Shakespeare, even if some the backspace key is stuck on the Intel ones. To get an honest appraisal, check out BareFeats (Mac bias), Tom's Hardware (AMD bias), and AnandTech (Intel bias) and merge the results.
Then what is the problem?
Hardware. The reason the port is so "easy" from an engineering standpoint is because most of the hardware drivers have already been written. Mostly they were written for Linux and ported to BSD. But anyone who has ever used Linux, FreeBSD, or even Windows knows the nightmare that is hardware quality and driver support.
I'll give you some examples: There is a line of Sony notebooks that to this day have an unpatched bug in the BIOS that prevents Linux machines from taking advantage of Advanced Power Management (Microsoft is aware of this and has Windows patch this bug on the fly at startup). HP specs all their desktops with a WinModem combo Ethernet/modem as the modem. This piece of crap card is put in, not because it it is a good modem (in fact it the worst one you can buy), and not because it is has ethernet built in (because almost all the motherboards already have an ethernet built-in) but because it is the
cheapest modem card on the market. You can buy a particular set of Linksys 802.11 cards that will not work, will never work on Windows (even though it is made for Windows) simply because the model number embedded in them doesn't exist, so the windows driver won't recognize the card. Go to Frys sometime and notice that more than half of all peripherals are returns. I used to think that this was a because people bought the things, used them once, and returned them, but after using Windows and Linux systems, the reality is that people bougth them and, for one reason or another,
couldn't get them to work and returned them. Standard operating procedure is to buy the cheapest thing possible that matches our spec (firewire without power, USB 2.0 without drivers, storage based on size, video card based on the latest nVidia chipset) , dial tech support, and try to install the thing. If it works, you can hang up the phone; if you can't get it to work, maybe by then the muzak will have stopped on tech support. If they can't help, you go back to Frys and buy another card. I'd like to emphasize that all this stuff is designed for Windows.
I've seen some of the smartest people in the world "laid low" by this process because they missed a detail like they accidentally pulling out the IDE cable when they closed their computer case, or not trying to remove all WEP security from their wireless point before installing their 802.11 wireless card.
Maybe this doesn't happen in the Mac world maybe because the platform is superior. But most definitely because Apple controls the quality and design of the hardware--there aren't 30 chipsets floating around, and the most popular chipset isn't the cheapest--same with Airport cards, modems, and virtually every other part that often comes standard with a Mac.
Don't believe me? Go pick up a copy of PC World and read it.
You'll get to remember the nightmare the "rest of us" (who use and administrate WinTel and Linux-x86 sometimes) have to deal with every day.
tychay@mac.com