Apple-Windows - Cringely wrong again
In his latest column, Robert X. Cringely is wrong again. Don’t get me wrong, I really like is book „Accidential Empires” and his weekly column is entertaining most of the time, but this week he got it plain wrong:
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.
Now let’s start with the obvious. Cringely writes, that Apple will eventually implement the Windows API directly in OS X. Where is the difference to Wine? Wine does exactly that. And the Wikipedia entry regarding Wine mentions the implied problems:
The project has proved time-consuming and difficult for the developers, partially (at least) because of incomplete or incorrect documentation of the Win32 API. While Microsoft has documented most Win32 functions, some areas such as file formats and protocols have no official Microsoft specification, as well as featuring undocumented low-level functions and obscure bugs that Wine must duplicate precisely in order to allow some applications to work properly.
Now even if Apple has a) all the documentation Microsoft has – which could not be much, if you take into account that Microsoft is offereing Source Code instead of documentation to the EU – and b) really wants to reimplement all the APis and DLLs, there is still the topic of undocumented behaviour, etc.
The only way to pull this off would be to just recompile the relevant sources on the Mac platform. And even if Apple actually has the Sourcecode to do this, there is IMHO no way Microsoft would allow that. Not even in the scope of a patent cross-licensing agreement.
Now the agreement ran till August 2002 and basically granted both companies usage rights to any code that was already in the others hands. I can’t imagine, that Bill Gates would just give away one of Microsoft’s biggest assets (you can of course argue, whether the Windows Source is an asset or not).
The other problem would be, that everything developed by Microsoft after August 2002 is definitely not covered by the agreement. So all the WinFX stuff, that is coming with Windows Vista, is not available to Apple. By this they are faced with the same problem, the Mono development team is facing. To be compatible with Microsoft you have to reimplement their code and open yourself up to IP and patent violation suits.
So even if Apple would implement the Windows APIs in Mac OS X, it wouldn’t help them much, as new software will use the news APIs and DLLs to which they have no access. IMHO Cringely is absolutely wrong with his prediction on Apple-Microsoft interoperability. Will Windows XP/Vista run on an Intel Mac using Bootcamp? Definitely yes. Will you be able to run Windows inside a virtual machine on top of Mac OS X. Defininately. And vice versa? Maybe. But there is IMHO no way, Apple could pull of something like WINE for Mac OS X. But on the other hand – who would have expected Steve Jobs to switch over to Intel CPUs?