Friday, April 21, 2006

OS X as OS/2: XP API in 10.5?

Will history repeat? IBM had the right to use the Windows API in the 1990s. That's why OS/2 could, really, "run Windows better than Windows". Alas, Microsoft did things with their source code and API to break OS/2's version of the API.

Cringely claims Apple has the same API rights that IBM once had, and that this time will be different:
PBS | I, Cringely . April 20, 2006 - Native Speaker

... I believe that Apple will offer Windows Vista as an option for those big customers who demand it, but I also believe that Apple will offer in OS X 10.5 the ability to run native Windows XP applications with no copy of XP installed on the machine at all. This will be accomplished not by using compatibility middleware like Wine, but rather by Apple implementing the Windows API directly in OS X 10.5.

Huh?

Wine is great, but it is also a moving target subject to Microsoft meddling. If Wine gets too good, Microsoft can "accidentally" break it at will. But Microsoft can't afford to do that with its own Windows API. The courts will no longer allow checking for a different underlying OS as Redmond did back in the days of DR-DOS. Besides, unless we are strictly talking about Microsoft apps, there isn't even much code involved here that Microsoft CAN meddle in. The wonder is, of course, that Apple could even dare to do such a thing?

Oh they can dare. Not only that, this is one dare Apple can probably get away with.

Remember Steve Jobs' first days back at Apple in 1997 as Interim-CEO-for-Life? Trying to save the company, Steve got Bill Gates to invest $150 million in Apple and promise to keep Mac Office going for a few more years in exchange for a five-year patent cross-licensing agreement? The idea in everyone's mind, of course, was that Microsoft would grab lots of Apple technology, which they probably did, and it quite specifically ended an Apple patent infringement suit against Microsoft. But I'm told that the exchange wasn't totally one-way, that Apple, in turn, got some legal right to the Windows API.

That agreement ran for five years, from August, 1997 to August 2002. Even though it has since expired, the rights it conferred at the time still lie with the respective companies. Whatever Microsoft grabbed from Apple they can still use, they just aren't able to grab anything developed since August 2002. Same for Apple using Microsoft technology like that in Office X. But Windows XP shipped October 25, 2001: 10 months before the agreement expired.

I'm told Apple has long had this running in the Cupertino lab -- Intel Macs running OS X while mixing Apple and XP applications. This is not a guess or a rumor, this something that has been demonstrated and observed by people who have since reported to me.

Think of the implications. A souped-up OS X kernel with native Windows API support and the prospect of mixing and matching Windows and Mac applications would be, for many users, the best of both worlds. There would be no copy of Windows XP to buy, no large overhead of emulation or compatibility middleware, no chance for Microsoft to accidentally screw things up, substantially better security, and no need to even take a chance on Windows Vista.

It would be great to have this functionality. I suspect Microsoft could still break support however, probably with an XP service pack. The DRM features they'll eventually require for Office won't be compatible with XP, and Apple won't have the Vista API. At most it's a transitional solution, though it might be a winner for a year or two.

Cringely also claims that 10.5 won't run on PowerPC CPUs due to kernel swap. Alas, I can believe that. Apple can be very cruel about obsoleting hardware; that's their perverse incentive. (Microsoft's perverse incentive is to break file formats -- of the two I actually prefer Apple's behavior). Maybe they'll give PowerPC users a coupon!

Update 4/22: Gruber politely and convincingly tears up this column. So, virtualization yes, but not likely API integration. Kernel change maybe, but probably not until 10.6.

No comments: