Is Apple covertly working on a direct Windows application compatibility for Mac OS X? Some observers have suggested that it may well be after it was discovered that Leopard will attempt to load Portable Executable (PE) files when asked and even try to find relevant Windows Dynamic Linked Libraries (DLLs). Leopard's PE support …
When I read about this, I immediately thought about PEACE project. This is very similar to that.
Look at http://chiharu.haun.org/peace/
It seems that loading and running PE files is actually quite easy; but that doesn't help much until you have all the core Windows DLL's implemented.
NetBSD still supports PE loading on i386, but I guess the DLL support from PEACE is still quite lacking, so it is not exactly useful. Still, you can do crazy things, such as substitute your default shell to be Windows 2000 CMD.exe.
As a former OS/2 user
I can tell you where this ends up - any ISV looking at the bottom line will drop writing "native" MacOS software. Any time software uses new features in Windows, it'll take Apple time to catch up and support the feature. And software companies that tries to remain "native" will run into an ever-shrinking talent pool of developers who actually know how to code to OS X, especially the interface. In the end, Apple will be the only vendor writing "native" OS X applications, and Adobe won't care - if you want Photoshop, you'd still buy it, and on the cost side they now need fewer developers and QA and support just became a whole lot easier.
Apple may think it can maintain market share because of its shiny computers, but it's not going to work well. For example, the argument of "I want to use a Macbook because it'll run all my Windows apps" could just as easily be turned to "why bother with a Macbook, all I'm running are Windows apps in a funny way". The only thing that would preserve their market share is the (sad) belief maintained by many - that they can make a personal statement by buying a mass-market product. Reminds me of the "yes, we're all individuals" crowd in Monty Python's _Life of Brian_
Looks like apple are planning to rip off more OSS goodwill then. What a surprise.
Sounds to me like this is part of some dastardly scheme. Apple wouldn't re-implement Win32 API into OSX, as the WINE project have already proven that takes a lot of time, a lot of effort and a whole hell of a lot of developers and testers. This leaves 3 realistic reasons behind apples inclusion of PE and the Dynamic Link Loader.
1, Apple are planning some WINE magic sometime in the future, using the WINE implementation of the Win32 API. This isn't that far fetched as WINE is rapidly maturing and becoming something that I use everyday (OK I'm biased because I develop wine-doors but still I actually NEED wine daily).
2, Apple are planning on licensing the intellectual property and source code from Microsoft for the Win32 API, in which case they'll end up being in bed with the beast, I'd say this is less likely than 1.
3, Apple are planning to integrate some kind of whizz bang Paravirtualisation technology whereby some of Win32 from a VM interacts with the XiNU kernel directly allowing windows applications running in virtualised environments to load (part of?) windows drivers into the kernel for instance. This would be useful for something like graphics hardware and by extension gaming. This is about as likely as 1.
I guess we'll have to wait and see either way, but simply including PE and DLL they're moving into some kind of brave new territory.
Wouldn't think much of trying to get it in the kernel, it may do some good for speed but it could bring some of the 'not so good' stuff with it. A compatibility layer to help out emulators (ok, so wine is not...) and for developers to build app's with porting in mind would be worth a lot of praise though.
Re: Hmmm & Karl Lattimer
Ripping off the community by implementing WINE? (not that that's likely to happen)
If that's classed ripping off what the f**king hell is so free and open about FOSS in the first place?
Or is FOSS only OK to be implemented in Linux (which has no more or less to do with WINE as OSX/Darwin does) and the Googleplex? (with many code-changes and improvements withheld of course...)
Karl, as a wine contributor, what's your take on that hypothetical scenario - would Apple be ripping off the OSS community by implementing WINE into OSX?
My guess is that they're aiming for some form of virtualisation. The reality is that few software companies write for OSX and little bespoke corporate software is written for the Mac.
The Gordian Knot as ever with Apple is how to get large businesses to even consider migrating away from Microsoft. The infrastructure costs are huge for a business - this is even ignoring the premium price of Apple hardware and software.
If OSX can allow bits of Windows to run in a sandboxed environment using native DLLs, for instance streaming apps from a server while for all other purposes being a Mac, then Apple may be able to create a migration path for businesses, whilst dangling the prize of a supposedly more secure, more robust and easier to use and easier to support system in front of IT Directors. If it can't it will remain the glossy consumer electronics company it's always been.
A simpler possibility
If they can get the basics of PE loading - which is (a) relatively easy and (b) needed for EFI anyway, then they can load a PE installed on your PC and then hand it over, with all the DLLs it needs to a virtualisation system.
If Apple add some APIs for the virtualisation software to report what DLLs it has available, they can load the PE, see what DLLs it wants that aren't inside the virtualisation engine, load those DLLs and then hand the virtualisation software the PE and the DLLs it needs; the virtualisation software then adds in the Win32 DLLs and the app starts up.
This would mean you could install a Windows app on your Apple, and it would run inside your virtual copy of Windows.
Would be nice...
If M$ could get apps to work in windows as well... maybe they should ask apple on how to fix vista
@As a former OS/2 user
That was a bit of a rant, Paul. If you were being paid by Microsoft, you couldn't have done it any better. All rather sad for the pie is big enough for everybody, is it not?
"The only thing that would preserve their market share is the (sad) belief maintained by many - that they can make a personal statement by buying a mass-market product. Reminds me of the "yes, we're all individuals" crowd in Monty Python's _Life of Brian_" You appear to be suggesting that such statements are not possible, whenever all Full Monty Python fans know that they are. Methinks you would probably definitely be up a creek without a paddle with the Goons and Q Series. I suppose you also think that DNA is Deoxyribonucleic acid rather than h2g2.
Re: Hmmm & Karl Lattimer
To be clear I do not contribute directly to wine, some of my contributers also contribute to wine. I develop an on the top solution for wine which takes the pain and anguish out of meandering through the rough and ready world of native,builtin dll hell. It also has desktop integration which is nice... ok end plug.
In response to your question though (I suppose I'm still qualified for that), apple would most likely follow the route of taking the code from codeweavers which is bad for open source and baby deer or contributing upstream changes to WINE which is good (bambi is safe). Apple have helped out existing FOSS projects before (Webkit/KHTML, Apache, Samba to name a few), and in some cases purchased the projects soon after (CUPS).
It isn't unlikely that apple will assign developers or contribute funds to help the wine project the the boost it deserves. As long as they comply with the LGPL and don't start acting shark like I'd welcome the introduction of Apple into the wine community, more users means better wine after all (this cannot be said for all wine, i.e. Lambrusco).
I'm still tilted toward the notion that its part of a virtualisation plan, WINE offers all of the PE/DLL stuff as part of the launcher binary, all you'd really be doing is shifting ALL of that into kernel space and putting on top of it a bunch of DLL files which might not be ahem... secure.
PE/DLL in the kernel is a bad idea IMHO, I remember the WINE project discussed a kernel module to perform some of the loading for them but they were very apprehensive about it at the time, with a walled garden kind of approach.
Damn.. I'm obviously unwell. I understood all of that...
If loading PE is about something, that will be for virtualisation. In any case that would be to run/install a windows app, you'll always need a windows license. I'm not sure that Apple and Microsoft are in competition indeed, they need each other. Sadly for us, one will have to pay twice.
Virtualisation will become usual and by this way a PC will become OS indifferent, but those who have a control on their hardware, like Apple, will have an advantage. Especially when you have an edge on some funky peripherals.
Thanks for the answer.
IMHO I think Apple has proven well enough that they are a decent open source citizen. Not the best, not the worst, but certainly not deserving of the description "ripping off the good will of the open source community"...
Jobs' feindish plan for global domination...
Has anyone else noticed the foundations being laid for an OS coup d'état?
The iPod / iTunes leader units are in place, popular awareness and demand for Appleware is certainly healthy (though admittedly the iCon™®© isn't doing too well YET)
Since development began on porting OSX to Intel hardware there has been much interest in getting the OS to run on generic PC kit. Projects like OSx86 popped up along with developers like "Maxxus" who seemed to poses uncanny insight into the inner workings of the kernel and a miraculous ability to instantly patch official releases to install on generic PC hardware. I remember being intrigued at the time and surprised at the ease with which I installed OSX (10.4.3 at the time) onto an assortment of PCs includin my HP DV1nnn laptop and a couple of old desktops.
And now this.. drop Wine (or a Winesque M$ dll "compatibility layer") into OSX and it has the potential to run Windose apps natively.
What do you get if you combine all three?
...an Instantly popular OSX DVD which will install on *any* PC and run any Windose apps you might fancy. Cunning.
It's coming I tell you.
"Parallels in particular tries to allow Mac users to run Windows apps as if they were native applcations rather than apps running on Windows running in a Mac OS X window."
Umm, why Parallels in particular?
The Unity mode in VMWare Fusion seems to do a pretty good job to me of making the Windows apps in my Dock just run as another app.
Ok, that's it! Where's the real amanfromMars, and what have you done with him??!
it's more likely to allow the use of .net code on the platform - allowing developers to use C# makes *good* business sense. Allowing native windows apps to run on OS X would make *no* business sense: good-bye all non-apple os x native software of any importance.
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.