Running Mac OS X Binaries With NetBSD 177
An anonymous reader writes "KernelTrap has an interesting article about an effort to add a Mach and Darwin binary compatibility layer to NetBSD. The project has evidently already made a fair amount of progress, currently working to stabilize the WindowServer emulation portion that will then allow NetBSD to run Mac OS X graphical applications."
That's great news but... (Score:5, Insightful)
That's awesome (Score:5, Insightful)
If you remember, they've been *very* anal in the past about some things they consider to be "their stuff", such as the look and feel of the OS. I can't see them just sitting around and watching while all their OS capabilities are matched (or, for that matter, exceeded).
If they sent C&D letters for freakin' themes, I doubt they'll just sit around while their API is emulated. They've show themselves to be rather devious, and I'd be a little worried if I was a NetBSD developer.
What about... (Score:2, Insightful)
Re:Linux port? (Score:2, Insightful)
Re:Linux port? (Score:3, Insightful)
You're making a lot of assumptions. Firstly, that such an emulation system could be completed in any reasonable amount of time, and could keep up with Apple. Obviously, that isn't the same kind of issue as it is with Wine as Apple is a lot smaller, and to be frank, Windows has far more APIs and features to the developer than OS X does (at present).
Secondly, you're assuming Apple would let this happen. They can't stop a cleanroom implementation, but they can copyright the artwork which is a big deal to Mac users. Wine has to have its own artwork for instance (but not for the widget toolkit, as the Win98 L&F is so basic it can't really be copyrighted). Not that nice distinctions like code vs art would bother Apple, they have a long history of abusive lawsuits.
Finally you're assuming that such an emulator could emulate PPC opcodes at a reasonable speed, which is a) hard and b) unlikely.
Bear in mind that doesn't say "You can run MacOS apps on NetBSD", far from it, they have some of the basics of Mach IPC working. They haven't even started on graphics support. If there's something we've all learnt from Wine (which has 2 companies working on it as well as hundreds of volunteers), it's that cloning another OS's APIs is a lot of work, and as most of the MacOS APIs are not simply lifts of their UNIX equivalents, they are Apple proprietary (iokit/coreaudio etc), that's no less amount of work.
The hardest part to imitate... (Score:2, Insightful)
The much appraised Mac 'look & feel' bases itself on all developers sticking to the UI conventions and guidelines, nicely outlined in this guide [apple.com] for porting over Win32 apps.
The longer you use Mac OS, the more you'll appreciate this 'cultural' aspect of the OS.
Having used Windows XP a lot lately, I've been quite happy with the OS and 'Window Manager' itself, but as soon as I actually use an other app, the whole experience breaks down.
Keyboard shortcuts vary, widget placement is random, the tone of dialog varies and in general, application interoperability seems harder.
Funny how so many people lust after the visual aspect of the UI, risking lawsuits from Apple, while the 'feel' part - the real magic of Mac OS - is quite publicly available AND applicable in form of UI guidelines [apple.com].
It won't hurt your Win/Linux app to apply some/all of these guidelines instead of no guidelines at all.
J
Re:Missing Apple libraries (Score:3, Insightful)
"Once we will have a fully functionnal Darwin binary compatibility on NetBSD/powerpc (if that happens some day), we will just have to grab Mac OS X libraries to run any MacOS X program"
I.e. you would still have to have the whole Mac OS windowing, graphical, and multimedia (QuickTime) environment for something like Photoshop to run. That's a far cry from just getting Darwin running.
The only legal way to get the Mac OS libraries is to buy Mac OS from Apple. Or reimplement them in a legally defensible way. Good freaking luck.
ah How DUMB are slashdoters? (Score:4, Insightful)
The status report link is from 1/2002...
Did anybody bother to read it before posting?
70 people so far did not..
The actual project ot watch is not NetBSd..in that they don't have the nice Apple relationship like Darwin does..
In fact if my memory is right the proejct was stopped because they were duplicating Darwin's efforts..
To see if MacOSx will run under intel machines check Darwin porject site not NetBSD!
Come on People read once in awhile
Show yourself to better than those wintel geeks who don't even read but jsut spout what MS Gates wants..
Re:That's awesome (Score:3, Insightful)
This project isn't emulating the MacOS APIs, they're getting the basics up and running so they can drop in actual code libraries from OS X. Unlike Wine which is actually recreating all the APIs, this is just a fun hack basically, no danger to Apple as you still need a Mac and a copy of MacOS for it to work.
I seriously doubt we'll see a Mac equivalent of Wine for a very long time, the amount of effort it takes is just too huge given the absence of any must have apps on the Mac (apps with no equivalent on other platforms). Wine is essential because of the huge amount of software that simply doesn't have Linux equivalents (or not very good ones) and probably never will, ie Lightwave, DreamWeaver, Flash and so on, and of course huge numbers of custom business apps. The Mac doesn't really have any such apps, the closest I can think of are the iApps, but there are lots of equivalents for them even on the Mac itself, and I don't know of any custom business apps that are Mac only.
Re:Missing Apple libraries (Score:1, Insightful)
Re:That's awesome (Score:1, Insightful)
So basically this is replacing the Darwin system with NetBSD to allow the proprietary OS X parts to run under a different kernel.
However, unlike emulating other monolithic Unixen, emulating Mach and Apple's driver frameworks requires a lot of extra functionality, so they are sort of re-creating the Darwin kernel backwards - instead of a Mach kernel with BSD functionality added, it'll be a BSD kernel with Mach functionality added. BSD and Mach have been related quite closely historically, anyhow, consider that the virtual memory subsystem of 4.4BSD was from Mach... And then there is Lites, the BSD kernel that runs as a user process under Mach.
So we can basically look at it this way - mixing Mach and BSD kernels in various ways has been something people have been doing for a long time, and it doesn't look like people will stop doing it.
Re:OK, but... (Score:2, Insightful)
Re:OK, but... (Score:3, Insightful)
Only idealists can make positive change.
That's overly simplistic. As usual, reality is a lot more complicated.
There is no doubt that idealists (radicals if you will) can be a catalyst for change. But it's extremely rare that they actually make the changes. Almost by definition, idealists are incapable of implementing change because they want instant gratification and are impatient with the realities of implementation. And even then, they are often incapable of seeing a larger picture that reasonable people can disagree with their "idealism". Take environmentalism. If the typical idealist enviro had their way, every forest would be off-limits to logging. Period. But the ignores the reality that logging is not intrinsically evil, and that wood is a renewable resource.
I'm reminded of one of my favorite scenes from Lawrence of Arabia:
Feisal: The world is delighted at the picture of Damascus liberated by the Arab army.
Allenby: Led, may I remind you, sir, by a British-serving officer.
Feisal: Ah yes. But then Lawrence is a sword with two edges. We are equally glad to be rid of him, are we not?
Allenby: I thought I was a hard man, sir.
Feisal: You are merely a general. I must be a king...
It's up to us realists to slowly, painfully -- but practically and fairly -- make the changes that society needs. We are the ones that are most capable of seeing all the sides of an issue and balancing everyone's needs.
Like I said, idealists have a place as catalysts to move things along quicker than they might have moved along, simply because they raise the priority of something. But it's unfair and untrue to say that realists never make changes without them, because its simply untrue. Idealists just believe that to be true because the pace is always slower than they want it, and they don't see the realists as having the "passion" of change.
I agree with you about opportunists to some extent, in that they aren't often dedicated to "progress". However, that doesn't mean it doesn't happen by accident. Opportunists create a lot of jobs, which is the single greatest resource that can be created when it comes to social progress.