O'Reilly From the Editors List
BooksSafari BookshelfConferencesO'Reilly NetworkO'Reilly GearLearning Lab

Apple and Linux: A Mutual Friendship?

Edited by chromatic
May 2003

Apple's been pretty friendly to the open source world lately. It distributes quite a bit of open source software, including Apache, Perl, Python, and Ruby. Sometimes it adapts existing projects, such as the FreeBSD userland, KDE's khtml in Safari, and XFree86. Sometimes it sponsors new projects, including Darwin and Rendezvous. Apple has even lent hardware to significant projects, such as Perl 6.

Maybe the real test of Apple's patience and good citizenship is the Linux/PPC movement. What would motivate someone to put a GNU/Linux distribution on Apple hardware? Isn't Mac OS X Unix enough? We discussed these issues recently on the editors list, prompted by an eWEEK commentary, A Mac Angle on Linux, on how Apple and Linux benefit each other.

Mike Loukides:

Yes, this is a good point. Apple benefits from a lot of Linux software--a little work is required for the port, but not all that much, particularly if it's software that doesn't have a UI.

Betsy Waliszewski:

I must have had 6 attendees at LinuxWorld ask me what distribution of Linux they should use on their Mac hardware. I didn't have a good answer (other than suggesting Yellow Dog).

Mike Loukides:

I have to say that running a Linux distro on Mac hardware is sick. Don't know if one exists.

Brian Jepson:

There's this insane Mac on Linux thing that lets you run Mac OS X under Linux, in VMWare-style emulation:

Very twisted.

Mike Loukides:

Actually, running OS X on PC hardware is pretty cool. This direction makes sense.

Brian Jepson:

I forgot to mention that you need to run this on PowerPC Linux; it won't run under x86. :-(


That's why I bought my PowerBook. It's nice hardware, there's no Windows tax, and if I really need it, there's OS X. Of course, Linux driver support is a bit lacking.

Edd Dumbill has Debian on his iBook. I'm running Gentoo.

Betsy Waliszewski:

I wonder if an article (or weblog) referring to the questions I received, and the answer, would create some buzz on O'Reilly Network. Obviously our editors think it's worth responding to.

Bruce Stewart:

Edd already wrote a nice article about getting Linux up and running on his iBook, and it was quite popular, and chromatic has written a weblog or two on the topic as well.


I've been considering a series on "Linux on Alternate Architectures," but haven't found the right author or had time to write it myself. I can bump it up the priority list, if you like.

Simon St. Laurent:

Edd Dumbill and Eric van der Vlist both run Debian. They've had problems with iBook video hardware, but are otherwise pretty happy.

Jonathan Gennick:

I know people do this, run Linux on Mac hardware, and I've always been curious why they do it. The only reason I've ever had to run Linux is to get access to a form of Unix. Given that the Mac is already Unix to begin with, why go through all the bother to run Linux instead of OS X? It seems like a step backwards, actually, because you lose access to all the commercial software for OS X.


I'm actually much more productive on Linux than OS X. If it weren't for Space.app (a beta hack for virtual desktops), I'd rarely get anything done.

Under Linux, I can swap window managers as per my preference--or even add in a feature I'm missing. (My Linux desktop at home actually runs a hacked version of Fluxbox).

Under Linux, I can enable or disable all of the eye candy as I see fit. The system's faster overall, too.

Upgrading software is a lot easier: I can track CVS as necessary, update the kernel if I want. Those are all possible under OS X, in theory, if I use the right applications. (And if they actually link with the weird binary stuff OS X does.)

Most of what I use on OS X anyway is either open source (vim, AbiWord, OroborousX, Mozilla, Perl) or has a suitable replacement (Mail.app or some other IMAP-capable mail reader).

Granted, I'm by no means a typical user; I'm a Unix developer at heart.

There are also things OS X makes easier: the wireless networking and connection sharing really impress me, for one. Installing software is pretty easy (though Debian and Gentoo aren't difficult for the most part).

FreeBSD would also be a pretty good choice; I could live with that almost as easily.

It's mostly a matter of personal productivity and preference.

Tim Allwine:

I too find development on Linux much easier. In my window manager I have the window that the mouse is over actively set. This makes it possible to have code that you are editing in a terminal be visible just under a web browser. So you can write out the file and just move the mouse a little bit into the web browser window and hit reload. In my work I often have more than one terminal open with code in it. On my Mac I would have to click in each window just to make it active and only then can I make edits.

You have to jump through a lot of hoops to get Apache::Request to work on OS X; I haven't tried the most recent version so this might be fixed. Also, if you ever want to build your own customized configuration directives, they won't compile on OS X, at least not on mine. Again mod_perl is very important to me, and on Linux this is easy.

I'm still looking for a good packet sniffer. On Linux I use Ethereal. It has a feature called "Follow the TCP Stream." Once you are sniffing packets you can point your browser at a site and fetch a page. When the page has loaded, you can stop the sniffer and click on one of the http packets and choose "Follow the TCP Stream," and all of the related packets are decoded on one page for you. It's great for figuring out why your spider won't but your browser will. It doesn't compile on OS X--actually, I think Rob got it to compile once, but it won't work. On Linux this is a breeze.

Granted, I'm by no means a typical user; I'm a Unix developer at heart.

Same here.

There are also things OS X makes easier--the wireless networking and connection sharing really impress me, for one. Installing software is pretty easy (though Debian and Gentoo aren't difficult for the most part).

Ripping CDs.

I'll buy a Mac and give it to my wife; she will use the iPhoto stuff and maybe some of the pay-for-use kind of software, but for development, Linux is hard to beat.

Simon St. Laurent:

I'm an old Mac person who still wishes for System 7.1 plus a command line. I had a lot of the same kinds of problems with Linux and Windows that the Linux folks I know have with OS X. OS X is just familiar enough to me that it works with a minimum of tinkering, but I can't say I'm incredibly thrilled with it. Getting JDK 1.4 out the door would really help me, but I'm just talking interface here. It still beats Windows easily, though.

I've been impressed by the number of people I've seen buying Apple iBooks for the cheap hardware, and somewhat depressed by the strange problems they've had to deal with: bouncing VGA output and a horrible squeal-on-resume. Apple seems vaguely tolerant of Linux-on-Mac, but sure doesn't go out of its way to help.

I have to admit that I find Apple's attitude on a lot of these intersections puzzling. Given the huge share of their revenues that comes from hardware, I'm surprised that they seem so completely uninterested in the prospect of people buying hardware just for the hardware. While I'm happy that they've given further credibility to open source, I'm not sure that Apple's that much friendlier to things like the GPL than is Microsoft, though they're at least smart enough not to holler about it.

Hmm. I have a lot of the same problems with Sun, especially around Java. Maybe I'm just happier with hardware companies being hardware companies than with hardware companies who try to provide the complete package. Apple seems to lurch from hardware to software to hardware on a regular cycle, and watching it is just kind of bizarre.

Oh well. That landed pretty far from where I expected it to land when I started writing. That may be a side effect of 15 years owning Macs.

Brian Jepson:

I use Ethereal on Mac OS X. First, install Fink; then do fink install ethereal-ssl or apt-get install ethereal-ssl. Whenever I'm looking for something I miss from Linux, I go to Fink first. You can either use apt-get to grab precompiled packages or have fink install to download the source, patch it, build the package, and install it (all automated for you).

Return to: From the Editors List

O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.