In the hubbub over Apples anticipated move from IBM to Intel chips, much has been said about how difficult the move would be. But really, how hard can it be to port Mac OS X to the Intel platform when its core operating system already runs on x86 chips?
Mac OS Xs foundation is the open-source Darwin operating system. This, in turn, is built on the Mach 3.0 kernel. And, underneath Mach, youll find the BSD 4.4 (Berkeley Software Distribution) Unix. In particular, Darwin owes a debt of gratitude to the FreeBSD distribution.
While Apples own Darwin crew have focused primarily on the PowerPC platform, theyve already done some work with Darwin on Intel. In addition, some open-source programs, like the Apache Web server and Sendmail, are available on Darwin.
“Much of Darwin is processor-independent BSD code,” according to the Darwin developer Web site.
Apple has been investing in this to use the x86 platform as “an integrity-check to help us make sure that the architectural underpinnings function just as well in Darwin as in the BSD code. This is important to maintain compatibility with the ever-evolving BSD software base, and also helps us to maintain a high-quality code base through the benefits of designing for software portability. We welcome new drivers and other components to help test Darwin on the x86 platform.”
The Darwin user community has responded to this invitation by starting OpenDarwin.org. OpenDarwin has Apples explicit approval to develop its own version of Darwin under the open-source APSL (Apple Public Source License) 2.0.
However, the FSF (Free Software Foundation) feels that the APSL isnt compatible with the GPL (General Public License), which underlies most free software. Therefore, the FSF has encouraged another open-source version of Darwin: GNU-Darwin.
In GNU-Darwin, many of Apples tools are replaced and enhanced by GPL-compliant applications. For example, OpenOffice 1.x is available on GNU-Darwin for PowerPC.
Neither Darwin, however, is really ready for most users to download and run. The OpenDarwin crew admits that OpenDarwin, in its current state, “is not a fully-featured operating system that is recommended to be deployed on production machines.” In turn, GNU-Darwin for Intel is an alpha build.
Of the two versions, for x86 processors, the OpenDarwin version seems to be the most mature. The latest version, OpenDarwin 7.2.1, is available for both PowerPC and x86 architectures. OpenDarwin 7.2.1 is based on the Darwin 7.2, which corresponds to the Mac OS X 10.3.2 Panther update.
So it is that x86 binary versions of both distributions are available for download for power users who dont want to get their hands dirty with source code.
There are also several thousand open-source programs that will run on the Darwins. Many of these are available from the OpenDarwin DarwinPorts site.
Just because you can read Darwin on a PC, though, doesnt mean that you can run Mac OS on your x86 box. Mac OS includes many layers of proprietary software such as Cocoa, Quartz 2D, QuickTime and OpenGL graphics. You can forget about downloading Gnu-Darwin or OpenDarwin and start running Mac OS X or most OS X applications on an x86 system. You simply cant do it.
Still, the yeoman work of porting the core operating system has already been done. With Apples full support, porting over the proprietary layers should go quickly. Apples expected goal of releasing an x86 Mac OS X port by mid-2006 seems perfectly doable.
The biggest problem is likely to be getting ISV (independent software vendors) to port their proprietary applications to the new platform and device drivers.
Even if the ISVs do start porting immediately, it seems likely that the only applications that will be available for Mac OS on Intel in its first few months of existence will be open-source ones. Porting applications to new hardware is never an easy job.
Another potential problem will be device drivers. If Apple elects to unbundle its operating system from its own select hardware mix, it will need OEM (original equipment manufacturer) support for thousands of new drivers for everything from Ethernet cards to IDE (integrated drive electronics) controllers to Wi-Fi chipsets.
As it is now, many vendors only support Windows. Linux driver support, after all, continues to be a problem, even after more than 10 years of development.
Of course, if Apple elects to only ship its operating system with its own branded hardware, it will avoid this problem. On the other hand, most of the push for Mac OS on Intel historically has come from users who wanted to use the operating system on commodity-priced x86 hardware.
Still, simply getting Mac OS to run on PCs wont be that much of a problem. The real trouble will lie in getting out the applications and drivers needed for a successful enterprise operating system.
It will be interesting, to say the least, to see how Apple manages these hurdles.
Ziff Davis Internet Senior Editor Steven J. Vaughan-Nichols has been working and writing about technology and business since the late 80s and thinks he may just have learned something about them along the way.
Check out eWEEK.coms for the latest news, reviews and analysis on Apple in the enterprise.