Review of the Project's Goals
From SoftPear
At the WWDC 2005, Apple CEO Steve Jobs announced that Apple will switch its processor hardware to the Intel i386 platform. At the moment, Apple is giving Intel based machines running Tiger (the so called "transition kit") to its registered developers. For customers, the first Intel based Macs will be available in 2006 and in 2007, Apple will stop selling computers based on the PowerPC.
Obviously, this means that we have to review our project goals since PowerPC to i386 binary translation will no longer be necessary to get Mac OS X running on normal, Intel based PCs. Many people asked us so far whether this is the end of the SoftPear project. Before we will answer this question, we will look back at what we have achieved since the creation of the project in May 2003.
The Idea of a user mode binary translator was not a new invention of us. It had been realized by many others, before (e.g. Digital's FX!32). What made SoftPear different was the fact that we didn't fear the performance problems of RISC-to-CISC translation that many computer scientists who are working in this field had predicted. And we were the first with Mac OS X as the main guest target. With the release of PearPC, about one year later, the first Mac emulator capable of running Mac OS X was born. Although this unsettled us quite a bit in the first days, looking at the PearPC code made clear that their great work could be reused in SoftPear in many ways and that the projects could easily benefit from each other. Soon, we integrated the PearPC generic CPU core into SoftPear, wrote a Mach-O binary loader and a wrapper for LIBC calls. All this made it possible to run a large subset of Mac OS X's command line applications on other platforms, including Linux and FreeBSD. In parallel, we did a lot of research work on how to build the PPC to i386 recompiler with many success regarding the performance. Unfortunately, all the recompiler approaches are still in the proof of concept state.
With its Intel based computers, Apple ships a binary translator called "Rosetta" as well. It is used to make old PPC-only Mac applications run on the new Intel Macs. Actually, this is exactly what our recompiler was supposed to do (although, I don't think it will be possible to run WindowServer within Rosetta *g*). Transitive, the developers of Rosetta, have been faster than us and we're sure it will run pretty well.
Nevertheless, we think SoftPear played at least some role in the whole world of Apple, Mac OS X, PearPC and Transitive and the often called impossible translation of RISC to CISC is now finally proved to be working.
So what does the future bring? Looking at one of our main project goals ("Make Mac OS X run on any Intel based personal computer"), Apple seems to have done much work for us, now. As we said already, the development of a recompiler is no longer necessary to achieve this, since Apple will provide all of its code ready to run on Intel i386 machines. Nevertheless, Apple - as a hardware manufacturer interested in selling their own hardware - announced that Mac OS X will not run on non-Macintosh computers. We will have to investigate how much work is to be done to make it run on normal PCs and whether this can be done in a legal manner (and I'm very sure we won't be the only ones working on this).
And then, other things came into our mind what will be a necessary step to more PC/Mac interoperability:
- Develop driver wrappers Windows/Linux->IOKit (and maybe the other way round) to make more hardware supported on Darwin/x86
- Develop native Darwin drivers for common PC hardware
- Develop a solution to replace the Darwin kernel with the Linux kernel
- Support the Darwine team
... and then, there is still the goal of a free reimplementation of Mac OS X under the GPL :-)
Update
The OSx86 (http://www.osx86.classicbeta.com/wiki/index.php/Main_Page) Team is collecting all information about running OS X on standard PC hardware.

