The core of MacOS X is extremely portable, he said, and as NeXTSTEP and OPENSTEP has run on SPARC, HP-PA/RISC, PowerPC, x86, and he said, perhaps the Alpha processor too.
This applies not just to the open source Darwin (BSD, Mach, device drivers) but also the entire object oriented framework of Cocoa, which he says, will run "on pretty much any CPU".
He added: "The only part of the OS that is PPC specific is the Classic/Carbon MacOS stuff. Actually, in theory Classic is portable code since Apple rewrote it all from the 680x0 to the PPC, and Carbon is a smaller and cleaner subset so it's more likely to be portable, but I wouldn't bet on it being cleanly portable."
Nor, he said, would he bet on Apple investing a fortune in porting an API they're already trying to get developers not to use.
"Apple's already proven that they can migrate between CPU's with emulation, so as long as a new CPU is sufficiently fast, it should be possible to pull off the same trick again and emulate the PPC the same way the PPC emulates the 68030 when running very old applications.
"And if the new CPU isn't that much faster, it's probably not worth the migration," he added.
Quartz runs on both PPC and X86, he claims.
"So that's the OS: all portable except for Classic/Carbon, which would probably need to run under a PPC emulator, or a substantial porting effort."
He said that for Classic/Carbon applications - in the lingo heritage apps - it would have to run under an emulator.
"In theory Apple could support compiling Classic/Carbon applications as X86 native," he said. "And, of course, the Cocoa/NeXTSTEP compilers have always been able to generate "fat binaries" so that with zero development effort Cocoa applications can now run natively on any CPU supported by the Cocoa runtime.
"Years ago I could compile NeXTSTEP app's on a 68030 NeXT workstation, then install the app onto an HP or Sun workstation, or a PC, and run it just fine, either under NeXTSTEP as an operating system or under a host OS (Solaris, Windows NT) under an OPENSTEP runtime. It still works; you can use the WebObjects runtime (which runs on almost anything) to run Cocoa apps."
He said that if Apple would allow developers to license it, they could own cross-platform development.
There's a caveat, he says: "This is not to say that Apple is likely to switch to an x86 CPU any time soon; it's not clear that there's enough of a performance win to make it worth the effort. For that to happen, the PPC family would have to hit the end of its design life, or be dramatically worse then the x86 on price/performance, neither of which appears to be the case." µ