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. :-(
chromatic:
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.
chromatic:
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.
chromatic:
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
In a way, it's probably "easier" to not dual boot, but the real question is what is the benefit of running a OS/FS operating system compared to Mac OS X?
There's two issues: philosophy and economics:
* I'm cheap, and as yet don't want to be forced (by applications/whatever) to pay to upgrade my OS. (Although this is the time vs money dynamic, which depends on the individual.)
* But more importantly, an OS/FS OS gives you freedom and control. As much as I like some of what Apple does they're still a company, and *they're* still in control of the OS. Linux gives you the free as in libre--potentially at a cost in terms of features or ease of use, but principles aren't always cheap.
The biggest plus on Apple's side in this equation is ease of installation. I *still* want to download one file and just have it work.