Earlier today I posted about the rumors that Apple is planning to support Intel CPUs. I'd wrote "probably 'support' not 'switch to' but after one bike ride's worth of cogitation I think this is exactly wrong. "Switch to" means there would be Apple Mac computers which have Intel CPUs, while "support" means that Apple's OS X would run on Intel-based PCs. I seems much more likely that Apple would release Intel-based Macs than that they would support OS X on PCs.
First there is the practical aspect. Since Apple owns the code, moving their OS from one CPU architecture to another is no big deal; first order they just recompile and port a few low-level subroutines. However supporting all the PCs out there in the world is a very big deal, essentially an impossible boil-the-ocean deal.
The other day in my rant about
Longhorn Shorthorn I gave Window's device support short shrift, which was unjustified. (Except possibly as a rhetorical device in support of my argument :) The truth is that supporting thousands of different computers and chipsets and storage devices and printers is really hard. Microsoft deserves credit for the Windows' device architecture, but this magic really happened because of the market; nobody is going to release a new computer or chipset or storage device or printer without first developing a device driver for it and testing it under Windows. However if Apple wanted to do this, they would have to support everything themselves, unless they emulated Windows' device driver architecture (!), which seems unlikely. Even then it would be impossible to test everything.
Second there is the strategic aspect. Apple has built their brand on a superior "user experience". (They have even their own stores to ensure a superior "shopping experience"!) With Mac computers running the Mac OS, they control the user experience. If the computers happen to have a different processor inside, so be it; Apple still controls the user experience. The average computer user won't be affected one whit; any more than they are affected by the brand and type of memory or disk drive or power cord for that matter. However if OS X ran on PCs, the user experience would be partially determined by the PC vendor. Crummy low-end PCs might result in a crummy low-end user experience. It is hard to imagine Steve Jobs allowing that kind of brand dilution.
Okay, so we have Intel-based Mac computers, so what? As noted Apple can easily create a [separate] version of OS X which runs on them. (Actually we've been reading that they did this a long time ago.) However for software developers this will pose an interesting problem. Unlike the brand and type of memory or disk drive or power cord, software is dependent upon the brand and type of CPU. Essentially every Mac developer would have to ship two versions of their software, one for PowerPC and one for Intel. Not good. This would cut down on the number of software titles available for Macs, and create consumer confusion. Neither of which Apple wants. So I wonder what their strategy for this is going to be? Some kind of emulation? Maybe... It is interesting to note that as rumors have it, Apple will announce Intel support at their upcoming Worldwide Developer's Conference. Hmmm...
Of course porting could be a two-way street. Maybe Apple is doing this to simplify porting PC applications to OS X? Or to make Windows emulators like VirtualPC run faster? Maybe it will be possible to run Windows programs "as is" without any changes on top of some kind of runtime emulation inside OS X? Now that would be a good reason to do this!
[ A bit later: Wow. Big threat to Windows. Big. Especially with Longhorn so late. Wow. ]
One final note: Assume Apple really does this and there are Intel-based Macs. Assume they do not support Intel-based PCs, and assume they go to great lengths to stress that they do not support Intel-based PCs, maybe even with some kind of hardware-based lockout. Do you really think hackers won't figure out how to port it anyway? Of course not! We should start a pool to see how soon someone announces on Slashdot that they have OS X running on their PC. And this would be delightful for Apple. They could test the waters in the early adopter community for free, to see how well people with PCs like running OS X instead of Windows. If there are horrible device incompatibilities or performance problems, they can say "of course, we don't support that". But if it works great and everyone is
downloading bittorrenting a hacked OS X to run on their PCs, they get great publicity. Maybe someday they would even decide to release OS X for PCs.
So that's my current thinking. I'm going for a sail now, which will foster more cogitation, so stay tuned :)
[ Later: More Apple on Intel... ]