Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've long suspected that having OS X compatibility for Linux would be easier and more useful than Windows compatibility for many people. Due to their similar underpinnings and less legacy stuff in OS X.

Being able to run XCode , Photoshop and Sequel Pro under Linux would certainly make my life easier.

Whether Apple wants to kill this , support it or be indifferent would I suppose depend on whether they feel threatened by Linux on the desktop.

They may even be happy to push people who are unhappy with the "iOSification" of Apple towards Linux in the future.



> Whether Apple wants to kill this , support it or be indifferent would I suppose depend on whether they feel threatened by Linux on the desktop. They may even be happy to push people who are unhappy with the "iOSification" of Apple towards Linux in the future.

Given Apple's behavior in the past and in other areas, I would be very, very surprised if they were to condone (let alone promote) anything even remotely resembling OS X applications on another system.

While I don't think either outcome is likely, I'd be more willing to bet on them invoking some absurd copyright law to try and prevent this kind of work from happening (something along the lines of Oracle vs. Google).


Less legacy, eh? Well, I guess there has been less emphasis on compatibility throughout the years, but NeXTSTEP is older than Windows NT...


While I agree with your point, I'm not sure if Windows NT is the correct comparison.

- Windows 1.0 released November 1985 [1]

- NextStep 1.0 releaed September 1988 [2]

1. http://en.wikipedia.org/wiki/Windows_1.0 2. http://en.wikipedia.org/wiki/NeXTSTEP


I felt NT was an apt comparison because not only is it the basis for the current Windows, it also was their first 32-bit offering, i.e. where stuff got serious. 16-bit Windows was a fairly different beast. 9x was certainly influential but (1) is now dead and (2) came after NT, borrowed lots from NT in the beginning. In light of this, drawing comparisons between 1.0 and Win8 doesn't seem all that appropriate to me.


I see where you are coming from.

I guess my hesitation was caused by the assumption that while windows before NT was all 16 bit / 32 bit hybrid; it's API's are still essentially the same which is what you would care about when re-platting an API.

However I will concede my argument like a true gentlemen, as I now realize the ABI is what we should care about. It is almost certainly different even if the API's haven't fluxed that much, and that is what a re-platt project would most care about.


Windows vista, 7 or 8 are based on Windows NT: they don't have much in common with Windows 1.0.

Just like Mac OS X is a rethinking of Mac OS based on NEXTStep and doesn't have much in common with Mac OS or even system 1.

So yeah, I think the parent's comparison is correct.


Wait, how can years be a stronger legacy metric than backward compatibility emphasis?


My point was the legacy is there and it's pretty large, should not be understated. Apple may not care so much about compatibility between releases or with NeXT binaries from 1987 (though I don't think Windows code from '87 works so well on NT either), but the old code is there and if your argument is that sort of thing doesn't help binary compatibility, then that's a problem. I was making my point in shorthand fashion, so I didn't even touch on Mach which is very old as well.

People have this impression that OS X is flashy and new and immune to or not experienced in code rot, and I didn't think it rings all that true.


OS X apps that 'shell out' to the BSD under-pinnings could be an issue. The CLI options can differ between Linux and BSD/Darwin.


That would seem to me to be the least of the problems. Just as you can install GNU coreutils on OS X, you can compile the BSD utilities to run on Linux as well.


I wasn't saying that it was impossible to run them. I'm just commenting on an issue that was immediately apparent to me.

If a program calls '/usr/bin/nc' and expect BSD options, it's not going to get them. "Replace GNU coreutils with BSD coreutils" is an option, but not one that everyone would be ready to jump at, because now things running on your Linux system that expect GNU options won't be getting them.


You can use chroot to solve this problem.


You can use chroot, or you can have the OS X porting layer delegate those calls to the BSD tools transparently.


chroot!


A shim to handle common tools and remap the options would be feasible.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: