Sunday, February 19, 2006

Mac Apps on Linux?

The WINE project is an "Open Source implementation of the Windows API on top of X and UNIX". In layman's terms, it means it lets you run Windows programs on Linux. In my personal opinion, I would say this project is a wild success, especially with the advancements made to it in the last year.

With the release of Apple's OS X for Intel x86-based processors, OS X applications are being released in a different "format" to run on these new processors. After reading about this many times, a thought occurred to me: x86 executables (programs) instead of PowerPC (the old processor type) executables means that if one wanted to hypothetically try to run OS X applications on Linux, it would no longer require an emulator. Then it occurred to me.

I might be wrong, but I believe it should now be possible to implement an OS X API on top of UNIX, exactly like what WINE did to the Windows API.

Sure, OS X applications are in a different non-ELF (non-Linux) binary format, but neither are Windows apps. Can anyone think of any real reasons why this shouldn't be possible now? (Again, I might be wrong, but some of the GNUStep APIs might be re-usable in a project like this...)
Granted, it would definitely need an enormous effort, but it would be absolutely incredible if Linux could run both Windows and OS X apps.

(And for those who are confused, this is approach is totally different from that of Mac-on-Linux or VMWare, which are both emulators*. This approach would have top-notch speed and wouldn't need a copy of OS X to work.)

Thoughts anyone?
(Please leave a comment...) :)

*I stand corrected (see the comments), both are virtualizers.

82 comments:

Anonymous said...

You know that linux already runs on PowerPC computers sold by Apple, right? Sure, it's possible to create such a layer on top of Unix, but no more or less possible than it was before...

Albert said...

Yes, I'm fully aware Linux already runs on PowerPC processors (including Macs).
However, new "universal" Mac applications won't use Altivec or any other PowerPC specific instructions, which makes programming a binary wrapper around the new OS X binaries so they run on a regular x86/whatever PC much easier. No?

Anonymous said...

There's already GNUstep. http://www.gnustep.org/

That of course doesn't run osx apps, but it does already include a bunch of the api.

Anonymous said...

Already being worked on - http://darwine.opendarwin.org/

Anonymous said...

In a similar manner, it might theoretically also be possible to write a similar layer for Windows, so that universal Mac Apps can then run on Windows too. MMmm...., am I being the devil's advocate ? :-)

Anonymous said...

Don't Native OSX programs require Cocoa? If the previous statement is correct then wouldn't you need some sort of Cocoa intrepreter to run on Linux? They could call it Carob...

Anonymous said...

Carob . . . excellent name . . . .

Anonymous said...

I completely agree.

It would be awesome if this happens.

Anonymous said...

http://darwine.opendarwin.org is a port of wine to OSX, so that OSX might be able to run Windows Applications. This has nothing to do with the subject of the article which is running OSX on Linux.

Anonymous said...

VMware isn't an emulator, it is a virtualizer. An emulator emulates one processor architecture on another, such as emulating a PowerPC processor on an x86. A virtualizer on the other hand creates virtual copies of a processor but the architecture is not changed.

Anonymous said...

Darwine is the other way around, sorta... It's about running Windows apps on your Intel OSX box...

Ontopic: great idea! :)

beeman
http://beeman.nl

Anonymous said...

Carob is a poor substitute for cocoa. How about a little Latin flavor in the name: Cacao?

Anonymous said...

There are cocoa apps and carbon apps. You would need a carbon emulator; call it graphite? Diamond? Coal? Soot?

Anonymous said...

This is an awesome idea. I simply wish that someone would take up the concept and turn it into reality. Being able run OS x programs native in linux is a dream come true. Is it posted on sourceforge yet?

Anonymous said...

Why would you want to run OS X applications in Linux?
All linux apps are available for OS X. Just switch to OS X and you can use OS X and linux apps.

Anonymous said...

Just ditch your el cheapo Dell and get a goddamn Mac damnit. It doesn't hurt, an no emulation crap is involved in running both Linux and OS X-Apps.

Besides, the phrase "running OS X apps on top of UNIX" made me nothing short of LOL.
OS X is a BSD-UNIX. Thats more UNIX than Linux will ever be, technically.

Anonymous said...

I could be wrong, but I'm pretty sure that GNUStep does implement some of Cocoa.
Using GNUStep it could very well be possible to run some OSX applications. Carbon is a challenge, AFAIU.

Anonymous said...

Our small (10 person) webdesign studio is in the process of switching most of our boxes from OSX to Linux for cost and performance reasons. This would be huge for us as currently we're running the Macromedia stuff with CodeWeavers gear. Great idea!!!

Anonymous said...

RE: OS X is more UNIX than Linux

Have you ever looked at what actually comprises the "UNIX" portion of OS X? It's called xnu and it's the most frankenstein UNIX core I've ever seen. Let's take a little mach, and a little BSD and throw in a few more technologies and voila it resembles UNIX.

Legacy Mac stuff like resource forks and other boneheaded technologies like NetInfo makes OS X enough like UNIX to tick off someone who wants to use a UNIX like operating system.

Anonymous said...

Apple used to sell a product that allowed Mac OS (pre-X) programs to run under Unix. A/UX was basically the same kind of thing as well.

OPENSTEP for Windows allowed OpenStep (the older version of Cocoa) apps to run under Windows. (Last I looked at GnuStep I got the impression they were much more interesting in building their own system on the same principles rather than actually being binary-compatible with OS X apps.)

So, yeah, not only is it possible, this kind of thing was done with both of OS X's parents.

As for why: I like the openess & flexibility of my Linux workstation. As much as I enjoy my Mac, I do things on my Linux box that I can't do as easily on the Mac. I also like that I don't have to pay for upgrades.

Yet, it can still occasionally be convenient to run a Mac app without having to physically go to the Mac or VNC in.

Anonymous said...

It is difficult/approaching impossible if only because of the Core* technologies that are, er, core parts of the API systems of Mac OS.

Of Course you can do make a majority of the APIs, nothing special to stop you there, just a big undertaking. But much of what makes Mac apps appealing are going to be built on very lofty, powerful technologies (CoreDate, Image, Audio, QuartzExtreme, etc etc) that are not simply remapping API calls. They require a lot of actual code to make them work.

Anonymous said...

I had originally thought of an API on top of Linux a long, long time ago and had seriously considered implementing it.

FreeBSD does it with Linux, it IS possible and workable with Mac OS X on Linux. I think that it would be a marvelous project. What I'm interested in is not so much "running" Mac OS X applications on Linux, although it does that; I want to replace the xnu/darwin kernel as I believe Linux to be more optimized and that it would perform much better than what Apple has been working on with the darwin/NeXT mach kernel.

Any takers? Let's get busy with it if we can get a community effort!

Anonymous said...

ylon: That would be an extremely interesting project...but a long long process for sure.

Anonymous said...

Cocoa already effectively exists in the form of GNUStep. But Carbon is widely used and will continue to be widely used.

The real question is: what's Apple going to do to replace Cocoa? Because in its current form, I think it doesn't have much of a future.

Anonymous said...

"The real question is: what's Apple going to do to replace Cocoa? Because in its current form, I think it doesn't have much of a future."

What the hell makes you think that?

Anonymous said...

"why would anyone want to run an Apple app in Linux?"

Well, Google Earth is an example. An apps not port to Linux yet.

Anonymous said...

You can always buy a PS3 and run both Linux and Mac apps ;)

Well not yet, but I think it would be a dream machine if used as a linux desktop with GLX ;)

Anonymous said...

Some people should have a big disclaimer on their posts' -- "I really don't know anything about the topic but I thought I add my own useless drivel"

As other people have pointed out Darwine is for running Windows programs under OSX (An OSX version of WINE).

Also as other poeple have pointed out GNUstep already implements much of the OSX application programming interfaces under Linux. Although I don't believe it's 100% of cocoa yet.

But with GNUstep people still have to re-compile their apps for Linux. What the author is talking about is a binary re-implementation of the OSX core libraries for Linux (just like WINE but for OSX).

I also hope this happens eventually, not because I think OSX apps are better than Linux or Windows apps, but because it gives people more choice and makes it easier for people to switch to Linux when they want to.

--
Darrel Yurychuk

Anonymous said...

re: ditch your el cheapo

I custom build my PC's and I build them to a standard higher than Dell or Apple. Tuning and customizing Linux software and the Linux Kernel on these PC's allows me to get a performance I am unable to get from main channel PC vendors like Dell or Apple with their respective operating environments. The idea of running Mac OS X applications on Linux in the discussed manner is very attractive.

Anonymous said...

As part of the Wine project, I can assure you this type of development is REALLY HARD. Possible yes, but difficult. Here's some very tough obstacles you'd have to overcome:

1. API documentation. I'm not sure what Apple's is like, but Microsoft has MSDN and a lot of documentation. Sure, not everything is on there, nor is what they have complete or correct, but it helps immensely to begin figuring out libraries.

2. You need people who are comfortable programming in both Linux/Unix API's and MacOS API's. It's hard enough to find people who know Linux & Win32.

3. The devil is in the details. Translating MacOS things like threading might be easier than Win32, but windowing will be a bitch.

You'd probably want to approach this with a loader-first-native-later attitude like Wine. There's some concern this has hurt Wine, but it's worth thinking about. First, bootstrap the binaries and set up a loader to load native MacOS libraries. At some point you need some basic infrastructure to build on, but with BSD being so close you might be able to get Linux to just load native, low-level BSD libc and friends and build on that. (Can it already?)

Anonymous said...

I'm sure it's within the bounds of feasibility, but it's worth understanding what would be required, and what the end result, if run on TOP of X11, would be like.

In some areas you would have a head start - the NextStep Foundation and AppKit already exist on Linux as part of GnuStep, and other APIs, such as WebKit (branched from KHTML) are open source.

In other areas, you'd have problems - consider that OS/X is a nominally more 'advanced' system that the Win32 APIs that WINE has had to reverse engineer - it's going to be somewhere between Win32 and Vista in terms of complexity - which suggests it's a bigger job that Wine.

Again, as a positive, GnuStep has tracked SOME of Apple's extensions to OpenStep in Cocoa. The new APIs also seem well documented, especially as Apple is keen for languages like Ruby, etc, to provide bindings.

I don't know whether Obj-C would work in your favour or against - i.e. whether you could persuade the system to send your messages to a set of non-Apple objects.

However, where you'd start getting problems is that Cocoa is designed to run directly on top of the kernel and hardware, not on top of X11 - i.e. a lot of Apple's software - from the desktop to the Pro apps - depends on the performance of Quartz (the graphics layer), which in turn uses hardware acceleration where available.

In Windows terms, it's like having the desktop built on top of Direct X. In Linux terms - take a look at XGL - it does a similar thing in terms of putting hardware accleration under X11 - and has been denounced by some for breaking the Unix architecture.

In short, I suspect you'd have a straight choice - either something that ran unaccepatbly slow but would be an interesting intellectual exercise, or something that worked as well but wouldn't be Linux (it would be to OS/X what Linux is to standard Unix).

Anonymous said...

I think that the goal needs to be slightly different here. Instead of making it possible to run applications created for IntelOSX, I think the goal should be to make it extremely easy for software companies who make software for IntelOSX to also make a version that runs on IntelLinux. I have a feeling that even if all the hard work at programming was done, Apple's choice to embrace Intel's hardware DRM will prevent software developed for their system from working elsewhere. This decision on Apple's part (and their history of using their nifty OS to inflate the prices of the hardware they sell) does, in my opinion provide a compelling reason to make the effort to provide commercial software developers an avenue to users who don't want to live in the fettered, "presumed guilty" sort of envirionment that seems to be coming down the road from Apple and Microsoft. At digg.com I read words by plzdiekthx that the steps to create this software are 1. Load Mach-O binaries and perform requisite relocations 2. Implement the Mach IPC primitives 3. Provide a facade for parts of the IOKit interface 4. Use GNUStep as the basis for the open source implementation of the non-Carbon APIs Do you think this is correct? If you don't think so, then what breakdown of this project do you think is more appropriate?

Anonymous said...

I think the project is a great idea. I would imagine the security of applications developed for Mac OS X with Mac being a *nix like would be more compatible with the Linux security model. I think in most cases I would prefer the Mac application to the Windows equivalent.

Anonymous said...

Anything that allows you to run the apps you want to run on the OS you want, is a good idea - especially if you aren't limited to having to have the apps built for any particular architecture.

Has anyone thought of going the other way around - that's writing a WINE like product to run Linux ELF binaries on Mac OS X? Couldn't use LINE is not an emulator as a name, since that's a product for running Linux programs under Windows :-)

Anonymous said...

correct me if i am wrong or simply ignore me if you are one of the RTFM types, but what I gather from this post is that one should be able download a mac installer for photoshop, corel draw, dreamweaver, or MS ofice and be able to setup the application on linux using the mac installer and be able to use the application as well?

If that can happen, we'll see a lot more ppl migrating to linux.

Albert said...

Anonymous:
Yep, that's the idea! :)

The only new development in this area though would be Alky:
http://www.alkyproject.com/

If their approach to getting apps to go cross-platform works, then it might be a good way to implement "OS X apps on Linux". :)

Anonymous said...

Apple has long touted their Mac OS X as being a BSD variant. I have read one of the posts above which states that it is a really frankensteinish variant of BSD.

Even so, there is no doubt that the kernel of the Mac OS X is BSD. FreeBSD, OpenBSD, NetBSD, and the original Berkeley OS all have slightly different kernels.

My point is: why isn't there a unified project to make a standard which will run all BSD variants in one universal kernel? It could even be modular and customizable for performance tweaking.

NOTE: I am not talking about making a universal UNIX kernel, because the differences between Linux, BSD, and SVR-IV variants are probably much too mature to be re-conciled at this point.

Anonymous said...

Well, I can do nothing but to say good luck if you wanna go for it.
I am a CG studio director who runs Windows, Mac, and Linux based machines on my everyday life.
There is nothing as nice as the penguin. The mac is unix.. maybe, but a version where all the alternative doors are closed. You can only do things as somebody designed yoy should do it. No possibility for real hacks.
Mac on linux sounds just perfect.

Anonymous said...

i love Mac OSX, but since my G3 died, i was forced to switch. i think the idea is great.

also, IF finder (the OS program, as in Explorer.exe for Win) is telling the truth, and Finder IS an actual APP, IF this project were to be successful, and it turns out AS PLANNED, THEN TECHNICALLY you *should* be able to run the WHOLE OS in Linux.

As for the project name, call it MINUX.

Anonymous said...

I think some company called Altura Software used to offer a software called Mac2Win which basically allowed companies to port mac apps to win32 by simply recompiling them.

Windows versions of apps like Corel Painter and Avid Media Composer (which were created on the Mac platform) still use that library today. Moreover, the Windows version of Apple QuickTime has its own library that replicates a great deal of the Carbon API on Windows (i believe QuickDraw is fully implemented, and so are other parts of the OSX system).

So, my point is, it can't be too hard to implement the core Carbon APIs on another operating system (the Mac2Win library is about 1.3 MB in size). Basic Carbon should be enough for many Macintosh programs which were started on pre-X versions of MacOS and thus do not rely on Cocoa.

I suppose that after creating a loader for OSX binaries and implementing the most common Carbon calls (Apple and Altura have already done the latter successfully), a lot of applications would run already. I don't believe that products like Photoshop contain a lot (or any) Cocoa code...

About the look-and-feel issue with Wine/Crossover on OSX: The window drawing code of Wine just happens to draw exactly the same way that Windows does. Theoretically one could replace the default WM_PAINT handling code in the wine libraries for the standard window classes (like BUTTON, EDIT, etc.) with one that emulates the OSX drawing code to get a native look-and-feel. Only the controls that programs draw themselves (like the toolbars in MS Office) would appear as they do on Windows.

Newer Windows programs, however, use the UxTheme.dll library to draw their own controls in order to be consistent with 3rd party windows themes. So if the Wine-OSX libs included UxTheme.dll, even owner-drawn controls of more recent (i.e. theme-aware) programs could theoretically get an Aqua-look. Technically, the controls wouldn't be real Aqua controls, but there'd be no way for the user to tell :)

I really do hope one day someone does implement all this, technically it shouldn't be too hard to do. That'd be great times for all users...

I'm really sorry I don't have enough time for such a project at the moment :-( I really do hope someone does, however...

Anonymous said...

I was just googling out of curiosity and came across this blog. I think an OS X compatibility layer for Linux is a great idea to avoid the possibility of a monopoly transition from Microsoft to Apple. I love my iMac, but I like the idea of a plan b if apple goes awry.

Anybody check out Cocotron? Its a lot like GNUstep but different somehow. I'm not a coder, but I think their project might be helpful to whoever is taking the initiative. www.cocoatron.org

Anonymous said...

Great idea, but other than the technical reasons why it's not done, there's the legal. Unlike Linux, OS X's GUI (Aqua) is not open-source. If someone ported it to Windows, they would sue on copyright infringement and other things.

Not to mention that there are two main APIs at work on OS X: Cocoa and Carbon. Cocoa uses Objective C and was used on the NeXT cube. This is what GNUStep does. Carbon, on the other hand, uses old code used on classic Macs (i.e. the Toolkit) and has only came to the form we know now when Apple needed a transition API for their old programmers. It uses C++. It is completely Apple's work.

Those are just the main GUI frameworks. The kernel is another story (there's a reason why a program on OS X can run on both PPC and X86 while still being in one file {and I'm not talking bundles}) I think it would be a lot of hard work to get the ls command to work.

Apple is a company. It needs to make money. We wouldn't want to see such an innovative company go down, and neither does Microsoft. How else would it come up with new ideas to suck money out of our wallets?

As for my opinion, I say let Apple be. It needs some edge up from MS, since most of its ideas, while good, seem to pale in comparison to MS's amoral monopoly.
And yes, I'll probably get flamed for this :(

Anonymous said...

Has anyone looked into running OSX app remotely in a multi-user system from Linux workstations? I know this should be possible using X11, but what about other OSX apps?

For instance, for a school system that need to be cost effective and run Linux on the workstation, is there a product/solution that would allow them to connect multiple users to OSX and run an application that is not compatible on Linux (i.e. MS Terminal Services/Citrix model)?

Albert said...

That's an interesting idea... I googled around a bit but come up with anything like MS Terminal Services for OS X (or XDMCP or whatever people use on Linux these days)...

Maybe there's an opportunity for an aspiring software developer there?

Anonymous said...

Actually, the PPC emulator is the easy part. The GUI implementation is the hard part.

(I'm working on a similar project, albeit not Mac/Windows related)

Anonymous said...

" I do things on my Linux box that I can't do as easily on the Mac. I also like that I don't have to pay for upgrades."

Like what? BREAK IT haha

Darrin Tisdale said...

The biggest issue I believe would be the legal issue, not the technical one. While it is very difficult to perform the type of low-level object manipulation Carob or whatever would require, it would be an absolute Sisyphian task to get Apple Legal to allow you to support Cocoa on native Linux without royalties.

Lastly, some scattered thoughts, since I just took my ADHD medicine:
- Think of all the managers the Mac OS has, wrapping all the underlying functionality. It's not trivial to reinvent those managers, since you'd essentially need to do the same thing.
- What about the limited Mac hardware support? One of the things that makes Macs inherently more stable is the limited number of hardware platforms on which they must run. The abstraction layers required to ensure compliance again are not trivial.
- Lastly, this project has been done BEFORE, just not in the OS world. I can only comment on "unnamed sources," but several efforts in Apple were rumoured to directly creat not only Mac libraries for running native Mac apps on top of Windows but also on top of Linux. They had access to the underlying ROM code Mac's had as part of the core OS--stuff I recall lawyers got very, very, very anxious about seeing running around. So, I 'spect that someone, in some CVS repository, this project has already been done. Waiting, like the 100mpg gas engine. Waiting fot the light of day.

Unknown said...

"Well, Google Earth is an example. An apps not port to Linux yet."

WRONG. Google earth is on freebsd and gentoo in the ports.

Albert said...

Gary, if you look at the date that the comment you quoted was written on, you'll see that it was posted at least a month before Google Earth was ported to Linux. :)

Anonymous said...

Legally It should be ok as long as there is no reverse engineering of the original binarys and stuff like that just look at the WINE project there still going strong and have a look at ReactOS its win-like os built from the wine project but on a lower level

Anonymous said...

With X11, maybe one could even run Linux apps on OS X!

Anonymous said...

I love this Idea in that I have a Linux Laptop running mandriva spring 07 and can use the cube to rotate my desktops between KDE, XP, 2000, and Vista I would love to be abble to add OSX to that list. This is very helpful to me as a tech. so that I can see what my client sees. As for the earlyer comments about programs running platform independent I belive a lot of things are going this way I have noticed that PCAnywhere and a few other programs are using Java Runtime Envirements.

Babak said...

Seems there is a lot of talent and ideas, how about someone start a google or sourceforge group?

Anonymous said...

Guys, you can already run Linux apps on Mac OSX. There is a project called GNU-Darwin that ports Linux apps to the Darwin OS (the underlying OS of Mac OSX). Also, another project called Fink allows other packages to be used on Darwin/OSX. The caveat is that Apple uses Quartz/Cocao/Aqua and a slew of other proprietary libraries that are not open source. Even though you can get Darwin for free, along with its source code, in order to run OSX binaries, you would need these libraries.

Unknown said...

As a developer for win32 I can say if there were better tools to make an application more portable and easier to design I'd use it.

Java isnt attractive and .net doesnt seem to be the answer either.mwzskklz

Anonymous said...

well, i have tried the osx86 project where you install osx on a pc. they do have a problem though, theres a chip that goes with all the new computers. it tells the operating system it is on a real mac. so it can't be installed on any other system. they did make an emulator for it. so if you want to have mac applications run on a linux which is running on a pc, then there needs to be some sort of emulator for the chip. there is also more developments being made to ensure that no one succeeds. the beta versions get harder and harder to crack. im not a hacker myself. in fact i stopped osx86, it sucked. but i do a lot of research...im such a geek XP

Anonymous said...

i think the "cocoa" for linux should be called "coco" or "hot chocolate". also some have said why linux users would want to run osx applications. well they just want to run osx applications on their favorite os. i mean, osx can't do all those cool stuff like wiggly windows and its not all that customizable. i should know, i use windows, linux, and osx pc and mac. im not rich, i just have really nice siblings.

Anonymous said...

not emulation but a virtual machine that can help
http://mac-on-linux.sourceforge.net/

Unknown said...

Better than all the hocus pocus about emulation and cocao layers. Why don't we push the application makers to offer up the source code for a compile on top of what ever kernel you want?

That eliminates the need for system (OS) specific junk.

Just my 2 cents.

:)

Anonymous said...

running OSX apps on UX would be great.

For me this would give me a chance to run Logic Audio or Cubase next to all the UX apps.

and togerther with WINE i wouuld have One PC one OS and eventually run ALL apps i need withouth bloating the box with a VM for every OS and its limitations.

And for the mobile people... why should they need to carry 3 laptops.

I hope some wiz can build this solution.

Cable-Monkey said...

seems a lot of the people that bump into this post don't really get the true ramifications of doing what you've suggested.

Only recently have I bumped into this topic and see the worth of it with my 12" ibook g3 600 running linux 2.6.23_r8 . I recently decided to ditch my XP box for good, and it dawned on me that I'll want to occasionally run iTunes. My choices are either qemu+wine for a windows port of iTunes or maybe just maybe something to run an OSX port of iTunes.

Although this post is quite old people have continued to comment, and makes me hope that this idea hasn't completely died in the last 2 years since it's creation.

Anonymous said...

Yeh, two years since the first post, I just bumped into it as well, and I'm dumb founded with the amount of posts that no one has actually posted a URL to the new project? sourceforge anyone?

Anonymous said...

A lot of what has to do it with it is that most developers don't own macs to even compare against. Anyway, in some time, the EU will end up punishing apple for it's illegal practice of the non-compete clause-- the senseless hardware dependencies for the sole purpose of monopolistic practice is illegal.
When more developers can access osx without the hardware extortion, then this project will happen.

Anonymous said...

osx86?

Anonymous said...

This would be a great idea - maybe it could be ported to Windows so Windows could run mac apps too.

Anonymous said...

Macs (and to a lesser extent Windows) have taken what is essentially a tool for managing file folders and has turned it into a religion. Linux is primed and ready to be the Everything OS. Created by the masses to serve the masses, and to allow all tools to be used based on merit of use, and not because Steve Jobs tells us to. Compatibility is not a crime. Power to the people. Cha cha cha.

Anonymous said...

This idea is great. If Mac were as Unix as they claimed to be they would have been a step away from being native. Yes, I love breaking my system. I always do break it. In fact, I am running a broken Ubuntu which I messed up. But thats how I learn. But for the name of god, nothing is better than running professional applications on linux without having to be related to a close sourced multi-billionaire corportation. Yes, I want to run Dreamweaver, yes I want to run some real graphical applications that would Really Function.I love linux as an operating system but we have to focus on professional applications. Sorry, if I sound so immature. I am a noob you see. BTW, Mac is bsd unix using a hybrid kernel. Linux is monolithic. Btw, if this works out dont forget the panels. Macs are strange for having a panel directly latched to the OS in a weird manner. I think we would have to look into the Linux Mach Live CD. Its some sort of unix command based 'thing'.

Anonymous said...

I can just say that being able to run OSX apps as linux apps (like wine does for windows apps) would be really cool. Not that I have an imminent need for any Mac applications, but just as concept I like the idea of Linux being able to run almost anything. I have been googling around a bit to find something to do just this, just because I think it would be fun to try out (as a user).

Jeremy said...

Looks like some work had been started in this area. Perhaps a coder can finish it? I know it's for Linux/PPC... but It would be a good place to look for certain things.

I'm not a coder, or I'd do it just for the hell of it. If anyone finds ANYTHING to do with running Mac apps on linux OR Windows please post!

Jeremy said...

Oops here's the url I forgot to post in previous post:

http://softpear.sourceforge.net/index.php

Unknown said...

On the subject of placing a LINE like system into OSX I would look further to porting the entire LINUX kernel into osx like co-Linux does for Windows XP and Vista, and then running codeweavers Crossover for the windows apis for a single system that runs everything. Assuming the Linux distro ported in has the ability to alien in packages from other distributions.
The problem there is that you have to buy a mac or build a Hackintosh, and the latter option can get you into trouble, not to mention the nightmare of driver issues and bull$h*t of trying to run it on ANY other out of the box system other than a mac.
So the next question is where do we aquire the fleshed out apis? Does someone have to sue Apple Computers like people had to M$? Or does Mac provide that in their psudo open source documentation? While we're at it can we make it where Solaris and BSD apps both run on my system so I can pick literally anything I want to run at any given time on my new Intel core 7i I will be buying soon? And then I want it all to be free.

Pierre said...

WOrk has begun on an implementation:
http://smspillaz.wordpress.com/2008/11/06/the-cocotron/

Anonymous said...

Who was saying Apple was a BSD-Unix and more Unix than Linux will ever be?

Linux "In it's true from is in fact BSD style Unix. Get a copy of the original Linux. "SLACKWARE" Still 100% BSD format. Never changed.

Apple is NOT "UNIX". It is a fork of NEXTSTEP. Specifically Openstep.

They bought it! They did not create it.
Just like Microsoft. The company was called NEXT.

Cuvtixo said...

"Apple is NOT 'UNIX'. It is a fork of NEXTSTEP. Specifically Openstep."
WRONG!
What do you think NEXTStep was? a Unix operating system based on the Mach kernel, plus source code from BSD Unix. OpenStep is the standard derived from cooperation between NeXT and Sun. The linux kernel was developed based on Minix, completely independently of BSD. Linux and BSD shared GNU tools, which is why Slackware was 100% FORMAT compatible, but not the same thing.

Anonymous said...

I still would like to run iTunes on linux! Apple is adding features and tweaks to iTunes more quickly than the FOSS developers can with substitute apps (ie Songbird)
Ideally Apple would make an iTunes for linux but, apparently they won't. :(

Unknown said...

No posts in nearly two years, has anyone started working on this yet?

Unknown said...

*correction, no relevant posts.

Anonymous said...

Thanks for article!

Rampowerd said...
This comment has been removed by the author.
Rampowerd said...

get the emulator its called (link-to-site)softpear.

Kiddalee said...
This comment has been removed by the author.
Kiddalee said...

Hello, I seek a way to run OSX apps on Linux, but have no need to emulate the whole OS. I just wanted to let you know that while Googling, I found a project called Darling (Darwin emulation layer for Linux) so I thought I might as well let everybody know: http://darling.dolezel.info/en/Darling