Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Apple Will Never Replace Darwin With Linux

By Trollaxor in Technology
Mon Jun 29, 2009 at 12:01:09 AM EST
Tags: Apple, Darwin, GNU, GPL, Linux, Mac OS X, Mach, Trollaxor, XNU (all tags)

Every few months, the Mac web is bombarded with open pleas to Apple, asking--nay, demanding--that Apple swap out the Mach-based kernel that Mac OS X runs on, XNU/Darwin, with Linux. This, of course, ends in with Apple stoically continuing development of XNU/Darwin while fanboys dry their eyes and limp home after their flamewars. The cycle then repeats itself again a few months later like clockwork. The truth of the matter, however, is that Apple will never replace XNU/Darwin with Linux.


Tearing XNU/Darwin out from OS X and replacing it with Linux would be winding the clock back almost twenty-five years. Mach, which comprises a large percentage of XNU/Darwin's XNU kernel, was a microkernel research project developed at Carnegie-Mellon University in the Eighties, overseen by Avie Tevanian, who usually worked on it while playing Depeche Mode and Tears For Fears and ushered it through various revisions at NeXT and, ultimately, Apple.

This continuity of development has given Apple a tight integration between the kernel, libraries, utilities, and higher-level frameworks. Linux would throw that synergy right out the window, making Apple dependent on an entirely unregulated development team, and forcing Apple to play catch-up with their specific needs after every major upgrade to Linux. Apple would have to hire Linus Torvalds in order to recreate the creator/creation dynamic they have now. And as Linus has stated several times, he'll never go work for a company doing Linux.

Perhaps one reason Linux users bleat so unceasingly for Apple to switch kernels stems from a pre-NeXT project the company ran called MkLinux. MkLinux was a version of Mach running Linux as a process. The project was sponsored by both Apple and OSF/1 and ran on Apple's first generation Power Macs and some early second-generation Power Macs. Performance was about 20% less than a native Linux would have been, but that wasn't the point; Apple was looking at different ways to create a modern operating system in the dark times of Copland before NeXT was even a gleam in their eyes.

After Apple's operating system woes came to a head in 1997, MkLinux was all but forgotten by everyone except the long-time Apple engineers tasked with updating OPENSTEP alongside their NeXT counterparts. It was a non-starter, but it was the first taste of Linux anywhere near a Mac; it would be years later that Linux/PPC or the swatch of PowerPC versions of more popular distributions like Debian, Fedora, SUSE, and YellowDog came to Apple motherboards.

"But wait!" whine the Linux zealots, "Apple uses the BSD kernel in Mac OS X, and that's not under their control!" And so it is not. But the portions of the FreeBSD kernel are only used to fill out Mach, and as such does not constitute a significant portion of the kernel. In fact, Apple's use of BSD code is so minute that it amounts to being a charity project that allows Apple a way of keeping FreeBSD solvent. So Apple is simply not using the FreeBSD kernel, and asking to replace XNU with the Linux kernel is therefore asking something disproportionate to reality and wrong. It completely misses the point, just like Linux itself.

Alongside calls of kernel replacement, Linux zealots often ask for Apple to use the GNU userland. In the beginning of Mac OS X's life, Apple used utilities from FreeBSD, NetBSD and OpenBSD instead of Linux, which was a smart move. For one, with BSD, Apple can take what they want, modify it, and ship without worrying about anything else. That's the glory of the BSD license. It's hands-off and lets you use the code as you see fit unrestrained.

In contrast, the GPL is viral in nature and ties the hands of the developers to a process that dictates distribution of source code with the binaries. You know how Snow Leopard is going to weigh five gigs instead of Leopard's eleven? We'd be talking dozens of gigabytes today if Apple used GNU. Proponents of the GPL may argue that the GPL ensures a flow of new code back into the community, but it's really just a burden to the developer.

Another reason Apple favored BSD over Linux was standardization. Most commercial Unices are genetically related to BSD in some way. For instance, Sun's Unix, Solaris, is a hybrid of System 5 Release 4 and BSD, while IBM's Unix, AIX, is based firmly on BSD4. The same goes for Hewlett-Packard's HP-UX and Tru64 UNIX, SGI's IRIX, and SCO Group's SCO OpenServer and SCO UnixWare. These Unices represent over 97% of the current Unix market, which shows that the BSD family is stronger and more established than SVR4 or the myriad of incompatible Linux distribution offerings.

BSD command utilities, while not universal, are more ubiquitous than the GNU command set, which Linux uses. And while some GNU utilities offer BSD compatibility, it's really a crapshoot whether they'll even compile. By using BSD commands, Apple made sure that a Unix pro could sit down and get to work with their command line. Even though Linux has grown somewhat in popularity, the choice for familiarity and compatibility is still clear. For those who want Linux command tools under OS X, porting isn't a problem thanks to Mac OS X's strong POSIX support.

Apple to this day remains with XNU/Darwin after six (and coming up on seven) major releases of Mac OS X. and are unlikely to switch any time soon. At most, a move to the GNU userland would be feasible, but since that's already available for OS X and BSD, Apple doesn't want mired in the GPL, that's unlikely too. So for the time being, it would be easier on all of us if the Linux-for-Mac OS X camp just quieted down and realized that Mach is what works best for Mac OS X because it offers so much more than Linux.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Related Links
o open pleas
o Apple
o Mach
o Mac OS X
o XNU/Darwin
o XNU kernel
o Carnegie-M ellon University
o Depeche Mode
o Tears For Fears
o Apple [2]
o unregulate d development team
o MkLinux
o FreeBSD
o a charity project
o keeping FreeBSD solvent
o GNU
o NetBSD
o OpenBSD
o BSD license
o GPL
o Solaris
o AIX
o HP-UX
o Tru64 UNIX
o IRIX
o SCO OpenServer
o SCO UnixWare
o Also by Trollaxor


Display: Sort:
Apple Will Never Replace Darwin With Linux | 76 comments (65 topical, 11 editorial, 0 hidden)
-1 (2.06 / 16) (#8)
by I Did It All For The Horse Cock on Sat Jun 27, 2009 at 01:33:48 PM EST

__________________..._______________
___________.'"___________"'.________
__________/____.--._.--.____\_______
_________/____/_________\____\______
________/_____| / \ / \ |_____\_____
_______;____.-' \o/ \o/ '-.____;____
_______|___|_()_.-"""-._()_|___|____
_______;___|____\_____/____|___;____
_______\___;_____\___/____;__/_____
________\__\______\_/_______/__/____
________.->""--.___V___.--""<-. 
_______/_______________________\____
______/__________APPLE__________\___
_____/___________________________\__
____/______/_____FAGS______\______\_
___;______|_________________|______: 
___|______|_________________|______| 
___|_______\_____.-v-._____/_______| 
____\_______'.__/_____\__.'_______/_
_____;._______`--|___|--'_______.;__
_____|_`-.________)_(________.-'_| 
_____|___|_```___|___|___```_|___|__
_____;___\_______|___|_______/___;__
______\___\____(___Y___)____/___/__
_______\___'.___"-----"___.'___/____
________\____`-._______.-'____/_____
_________'._______```_______.'______
__________/`-.___________.-'\______
_________/__,__``;---;``__,__\______
________|__/__|__|___|__|__\__|_____
________'-'|__/\_/___\_/\__|'-'_____



\\\
  \ \        ^.^._______  This comment brought to you by the penis-nosed fox!
    \\______/_________|_)
    / /    \ \
    \_\_    \ \

kitten voted -1 on this story, (3.00 / 7) (#9)
by N0574 on Sat Jun 27, 2009 at 02:16:50 PM EST

so apparently it's not about Devo.

- NCCTG N0574 CANCER PROTOCOL
That's a lot of links. (3.00 / 2) (#11)
by gr3y on Sat Jun 27, 2009 at 06:14:59 PM EST

But overall you failed to provide any evidence to support your assertions.

As a result, I decided that this should be re-sectioned as an op-ed, since you are advancing your wholly unsubstantiated opinion as fact. Re-section it to op-ed, and I'll vote section.

Your vote (-1) was recorded.
This story currently has a total score of 10.

I am a disruptive technology.

Kill yourself (1.00 / 3) (#13)
by Nimey on Sat Jun 27, 2009 at 09:24:27 PM EST

and quit shittin' on my queue.
--
Never mind, it was just the dog cumming -- jandev
You Sir, are an Ignorant Motherfucker. -- Crawford
I am arguably too manic to do that. -- Crawford
I already fuck my mother -- trane
Nimey is right -- Blastard
i am in complete agreement with Nimey -- i am a pretty big deal

lol (none / 0) (#19)
by Fake Can Be Just As Good on Mon Jun 29, 2009 at 04:55:04 AM EST

your link to the supposed vast amount of support of replacing darwin w/linux contains only one semi-relevant post (semi-relevant in that i can't tell if Kevin Ball is retarded or joking), and it comes from 2000 at that. -1 garbage

This is a plan... (3.00 / 2) (#20)
by jolt rush soon on Mon Jun 29, 2009 at 05:56:45 AM EST

...to get a whole bunch of angry slashdot users to pay the $5, right?
--
Subosc — free electronic music.
I like it. (3.00 / 4) (#21)
by GiTm on Mon Jun 29, 2009 at 06:17:22 AM EST

I'd almost given up on Kuro5hin and then articles start turning up in my feed reader.

Despite what others have said, I liked the article. Interesting (if not detailed) history, some good reasoning and interesting links (even if most are not related to supporting the argument).

Please - keep posting.

PS: If anyone knows where to get a (working) NeXT cube or pizza box please pass it on.
--- I have nothing funny to say here.

ZFS is not GPL. That seems like a pretty good... (none / 0) (#23)
by claes on Mon Jun 29, 2009 at 11:23:44 AM EST

reason to me.

I used mklinux for a while (3.00 / 2) (#24)
by rabbits77 on Mon Jun 29, 2009 at 01:46:51 PM EST

I ran mklinux on some old hardware for several years. I didn't care about performance at all since this was just for personal development and education. I still kind of wish that the project could be resuscitated somewhat but it is so far behind the curve it would require quite a bit of effort I believe. The main problem is that it is almost impossible to find anyone interested in working on Mach. Any development and enhancement of Mach would only come from academia at this point since industry doesn't care and open source volunteers aren't interested.

You seem to have forgotten GNUStep (2.00 / 3) (#26)
by Armstrong Hammer on Mon Jun 29, 2009 at 05:53:11 PM EST

GNUStep was written to port the OpenStep API to Linux and other platforms. Right now it is based on the Apple Cocoa API.

Once finished it should be able to run some OSX Cocoa based applications with Linux. Of course OSX applications may need to be recompiled using the GNUStep libraries as Linux and OSX use different binary standards for executable files.

If fact, I think when Michael Crawford releases the OSX version of Ogg Frog, he can recompile it for GNUStep and it should work.

Learn about the true liberal agenda in the United States of America.

IGTT 9/10 (3.00 / 3) (#28)
by rhiannon on Mon Jun 29, 2009 at 06:21:07 PM EST

1 point off because it's not really going to get the proper exposure here, this would be better posted on a linux advocacy site or mailing list.

-----------------------------------------
I continued to rebuff the advances... so many advances... of so many attractive women. -MC
I love it (none / 1) (#45)
by it certainly is on Tue Jun 30, 2009 at 01:08:19 PM EST

but I feel like commenting on this part:

You know how Snow Leopard is going to weigh five gigs instead of Leopard's eleven? We'd be talking dozens of gigabytes today if Apple used GNU.

This is not the case. The reason Snow Leopard will be smaller is because Apple will switch from Universion binaries (PPC + X86 in one file) to just X86, jettisoning the bulky PowerPC code.

The GPL's source code requirement does not demand you install the source code with the binaries, but that you distribute them together, i.e. on the same media like a DVD, or provide a guarantee that the user can download them. For example, all the code could be in Developer.mpkg and there wouldn't be a problem.

kur0shin.org -- it certainly is

Godwin's law [...] is impossible to violate except with an infinitely long thread that doesn't mention nazis.

Oh man (3.00 / 4) (#60)
by Vampire Zombie Abu Musab al Zarqawi on Tue Jun 30, 2009 at 06:43:13 PM EST

http://www.linuxtoday.com/news_story.php3?ltsn=2009-06-30-028-35-OP-SW-DV

Apple not using Linux because there is no need (none / 1) (#67)
by ckm on Fri Jul 03, 2009 at 02:53:53 AM EST

This article is largely written by someone who has not examined the business dynamics involved.  Apple's decision has zero to do with technology and everything to do with business risk.  And switching is ALL business risk, there is zero upside for Apple, or it's shareholders and users for that matter.

Besides, all of the technology in Linux distributions is fully available to Apple.  It already makes up around 25% of their core OS (according to this page http://www.opensource.apple.com/release/mac-os-x-1057/) and there is even more in Xcode.

Finally, if Apple wanted to switch to Linux, it could just switch the licensing on the microkernel and merge it with the Linux kernel (or take a shim approach like Xen).  That's what Sun should have done with Solaris....

Don't get me wrong, I'm a huge Linux fan.  I been using it for 15 years and have spent the last 8 years helping close to 300 companies, including 30 Global 500's & over 70 startups, to use more Linux and open source.  But sometimes you have to know when it's a stupid idea, and Apple is a good example of that.

Chris.

An exercise in stating the obvious /nt (none / 0) (#72)
by Zombie Gautama Buddha on Tue Jul 07, 2009 at 06:21:09 AM EST



BSD vs SysV ... (none / 0) (#76)
by dougmc on Fri Jul 10, 2009 at 01:33:23 AM EST

Solaris is basically SysV with some BSD commands thrown into the mix.  (I'm talking about Solaris 2 amd later here, not SunOS, which was BSD.)

Irix is/was very much SysV, not BSD.

AIX is based on SysV, with some BSD-ish commands thrown into the mix.

HPUX is based on SysV as well.

Really, it's hard to put Linux into either camp.  For starters, it depends a lot on which distribution you're looking at.

Apple Will Never Replace Darwin With Linux | 76 comments (65 topical, 11 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!