Apple had their pick of kernels when transitioning from OS 9 to OS X, and they chose to create their own kernel based on Mach 3.0. Was that really the best decision or did Apple make a huge mistake? At the time Linux was gaining support and developing rapidly, while development on Mach had pretty much ended two years earlier. This article makes a case for Apple using the Linux kernel in a future version of the Mac OS.
i had this uncanny feeling that would happen. linux is much more versatile than netbsd.
Huh? How is Linux more versatile than NetBSD? For a start NetBSD supports over 50 architectures. Linux supports considerably less.
And Darwin (OS X) uses a mostly FreeBSD userland, only a small amount of code is from NetBSD.
i had this uncanny feeling that would happen.
You do realize that this is just some guy dreaming about Apple moving to a Linux kernel and that nothing has happened….right?
Apple will never choose Linux as a kernel for it’s operating system because then they wouldn’t be able to close the kernel source at their will.
That about covers it. Thread over!
Isn’t Darwin open source anyway ?
not anymore. closed since the first x86 release. And thats why Apple will never EVER choose a GNU Kernel as their kernel. With a BSD license they can easly do that.
I agree I don’t see why Apple would abandon Darwin, it can only evole with other BSD technologies, it can be made to do what ever they want. And of course as you said it can be closed at will.
Then again weirder thing have happen, maybe a linux kernal based Apple server OS may appear, who knows?
Did you know that current kernel is already open source called Darwin? Besides, they are using Samba, BIND and all sorts of other GPL on Mac OS X and they are opening source for those to comply with the license, not that they’re getting into whole new area of opening source just because by choosing Linux kernel.
Linux is already running on the new intel mac, so why not?
But what about graphicsdrivers? i guess that would get better on linux, if apple switched
Edited 2006-02-26 14:30
Yeah, if Apple switched, it would mean better graphics on Linux than on Windows.
And, on a really good day, maybe even better hardware support than the two proprietary platforms.
This isn’t obvious. Look at printers, Mac OS X uses CUPS, so one could expect that manufacturers release PPD for linux as well as PPD (drivers) for Mac OS X, but there are some companies (Canon, for example) that release Mac drivers and have not general Linux support.
A PPD is a PPD is a PPD, it doesn’t matter what OS you use it with.
I’ve used Windows XP, Windows 2000, and MacOS X 10 “versions” of PPDs for Lexmark and HP printers with CUPS running on Debian unstable and FreeBSD. Works fine, since it’s CUPS that handles all the printing duties and not the OS.
There’s no such thing as a Linux-specific or MacOS-specific or Windows-specific PPD file. They’re just text files.
Nvidia puts already a lot of decent effort in supporting linux.
It is ATI that still lags behind. For instance there are no drivers yet for X.Org 6.9/7.0.
As Apple uses ATI cards, there could indeed be an improvement there.
Apple writes their own drivers for ati and nvidia cards.
I stand corrected, I suppose. This talking about graphics drivers for linux is a bit offtopic here.
…when hell freezes over!
But we were saying the same thing before they switched to x86… So who knows, and who cares.
The people who have the cash care.
“The people who have the cash care.”
Yes, the people who have the cash AND brains care, and I’m sure none of them want the Linux Kernel.
Yes, because those with cash and brains (like IBM) don’t care about Linux at all!
Yes, because those with cash and brains (like IBM) don’t care about Linux at all!
IBM doesn’t count their chickens before they’re hatched. AIX is IBM’s “other OS.” It made sense for IBM to invest into Linux and leverage the momentum Linux continues to have in order to weaken markets its competitors owned. They ported DB2 and other necessary tools that AIX customers were expecting to Linux, reduced the footprint of costs and drew in new customers, hoping they will eventually upgrade to their top-end services. Having an OS that can do what AIX at a fraction of the costs to maintain it is worth the effort of agreeing to the GPL2 because IBM targets the Enterprise and knows most of its margins won’t come from the OS and shrink wrap software.
Apple would have never chosen Linux – becuase of the open source license limitations. FreeBSD does not have these limitations. You can download FreeBSD (for free), not make a single change to the code, box it up under any name you want and sell it for any price – and it would all be completely legal.
Apple has nothing to gain by using Linux – wether or not it would be technically better. It’s a business decision – it’s always a business decision with for profit companies. This whole Windows vs. Apple battle is like Coke vs. Pepsi, McDonalds vs. Burger King, or Ford vs. Chevy – ultimately these companies want your money. It kills me how Mac users think they are on some kind of moral high ground – Steve Jobs wants you money as much as Bill Gates.
You do know, you can box up Linux, call it any name you like and sell it…nor do you have to make any code changes.
Right, but the trick of the matter is you need to have your source code readily available with any licensed under the GPL, whereas with something like the BSD/Mach kernels, you can do that, and not release sources. Correct me if I’m wrong, but this is my best understanding of it.
As for these performance issues, I’ve heard that OS X runs very nicely. I wish I could ask for some performance benchmarks, but there’s not sane or level playing field which could test two very different systems, unless of course somebody does a Darwin-to-Linux comparison possible. At any rate, it seems like Apple would be capable enough to handle whatever kernel changes they would need to make, or get the resouces to do it.
“whereas with something like the BSD/Mach kernels, you can do that, and not release sources. ”
Actually , Legally speaking Apple is in a tolerated grey zone , the BSD protection clause dont give anyone the right to not release source code and to keep it to themself.
But what Apple does to BSD as never been properly chalenged in court.
– Apple close source code
The BSD protection clause dont say anything about allowing anyone to do that.
– Apple switch license
The BSD protection clause dont say anything about allowing anyone to do that.
– Apple keep improvment made on open Source code only to themself
The BSD protection clause dont say anything about allowing anyone to do that.
What the BSD protection clause allow is :
– Work on the code but if something happen dont blame us.
– Put your name on the code so that your the copyright holder
All the rest is tolerated actions but is not covered by the protection clause at all.
“whereas with something like the BSD/Mach kernels, you can do that, and not release sources. ”
Actually , Legally speaking Apple is in a tolerated grey zone , the BSD protection clause dont give anyone the right to not release source code and to keep it to themself.
You are assuming that if something is not permitted it’s therefore not allowed.
Laws (and by extension licenses) work the other way round, if something is not forbidden it is allowed.
The BSD license doesn’t say anything about closing the source so therefore it is permitted. There is no legal grey area.
“You are assuming”
No 😉
“Laws (and by extension licenses) work the other way round, if something is not forbidden it is allowed.”
No 😉 , Too many thing are not directly covered by laws 😉
“The BSD license”
BSD protection clause.
“doesn’t say anything about closing the source so therefore it is permitted. ”
No , its tolerated. Because nothing is giving you the legal right to do it or the permission.
“There is no legal grey area.”
Your calling a protection clause a license 😉
You’d better not write such comments, because neither the GPL nor the “BSD protection clause” give you the legal right or the permission to do so, hence it must be forbidden.
(I guess you shouldn’t write about things you don’t have a clue..)
“You’d better not write such comments”
I am not making a comment.
” because neither the GPL nor the “BSD protection clause” give you the legal right or the permission to do so”
The GPL and BSD dont cover human beeings. Discussion is also allowed and welcomed on both.
“hence it must be forbidden.”
Since you say its forbiden , enforce it , or have it enforced , come and arrest me or fine me or stop me from doing it.
“(I guess you shouldn’t write about things you don’t have a clue..)”
unlike you I dont 😉
There’s no such thing as a “BSD protection clause”.
The 2-clause BSD license reads:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Where is this so-called “protection clause”?
The 3-clause BSD license reads:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
And the 4-clause BSD license is the same as the 3-clause with the following added:
4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
Where, or where, did that “protection clause” go??
The BSD license boils down to: do whatever you want with this code, just don’t claim to have written it yourself.
There’s no such thing as a “BSD protection clause”.
The 2-clause BSD license reads:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Where is this so-called “protection clause”?
The 3-clause BSD license reads:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
And the 4-clause BSD license is the same as the 3-clause with the following added:
4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
Where, or where, did that “protection clause” go??
The BSD license boils down to: do whatever you want with this code, just don’t claim to have written it yourself.
There’s no such thing as a “BSD protection clause”.
The 2-clause BSD license reads:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Where is this so-called “protection clause”?
The 3-clause BSD license adds the following to the 2-clause license:
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
And the 4-clause BSD license adds the following to the 3-clause license:
4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
Where, or where, did that “protection clause” go??
The BSD license boils down to: do whatever you want with this code, just don’t claim to have written it yourself.
There’s no such thing as a “BSD protection clause”.
The 2-clause BSD license reads:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Where is this so-called “protection clause”?
The 3-clause BSD license adds the following to the 2-clause license:
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
And the 4-clause BSD license adds the following to the 3-clause license:
4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
Where, or where, did that “protection clause” go??
The BSD license boils down to: do whatever you want with this code, just don’t claim to have written it yourself.
Don’t bother arguing with this guy. He’s proven time and time again that he doesn’t understand the various licenses, and he is very anti-BSD.
“He’s proven time and time again that he doesn’t understand the various licenses”
Really ? thats funny , real judge disagree with you 😉
“and he is very anti-BSD.”
No , I am anti thief , liar and traitor. BSD is based on noble principle opening UNIX source code to all.
Real judges agree with me. Real judges being lawyers and copyright experts.
Enjoy your delusion, I’m done with this thread.
“Real judges agree with me.”
No 😉
“Real judges being lawyers and copyright experts.”
No , its the guy preceding in court ;-).
http://en.wikipedia.org/wiki/Judge
“Enjoy your delusion”
enjoy your illusion 😉
“I’m done with this thread.”
good 😉
MAC OSX is under APSL and EULA.
“The BSD license doesn’t say anything about closing the source so therefore it is permitted.”
The APSL and EULA say nothing about dual licensing derivative and opening the source code.
Why are you two even arguing a non-question? Answer: because you have bought into the GPL proponents FUD!
You can’t “close” BSD licensed code. No, not possible, not ever. Can’t be done. What you can do, however, is to keep your modifications to that code closed. Has Apple done that? Yes, but only partly. Large portions have been released back into the “wild” as Darwin/OpenDarwin under the APL(?) license. That is perfecly legal as the BSD licens says nothing about what license your modifications must have. Either way, what they have done is perfectly legal (as they are complying with the BSD license and the copyright). The original code is still under BSD license.
You can include BSD licensed code in your closed source project simply by a reference stating the origin of some of X code came from BSD project Y (person Z). You can grab the ORIGINAL unmodified BSD code in source form (the same code they got) but not their modified versions, nor their addictional code on top. I suppose this isn’t “closing” BSD code, it just means all changes/modifications/additions utilizing BSD code do NOT need to be released as source. This is why such a kernel change (could) make sense for apple. I don’t know enough about their C/B analysis to make a business case, however.
As an ex-apple employee, however, I would not be surprised by anything they did. I doubt you’d see it as early as 10.5 though. Just my personal opinion.
I use a Mac, and I can say that OS X doesn’t run nicely as it could. It”s fine for desktop use, but XNU really isn’t in the same league as a modern kernel like FreeBSD 6, or Linux 2.6.
Yes – if you provide the sources for free still. You can of course bundle it with your own software licensed any which way and make them pay for that and the support however you still need to provde all sources for anything modified or not that you took.
Basically, it’s like this:
According to the GPL, you can sell software. You must also include the source.
According to BSD licenses, you can sell software. You do not need to include the source.
You can download FreeBSD (for free), not make a single change to the code, box it up under any name you want and sell it for any price – and it would all be completely legal.
The same is true for Linux (and any other Free Software). The only difference is that the GPL requires you to offer the full source code to anyone you distribute the software.
Right (sorry I didn’t make that clear). The problem is once you got the Linux based source code – what’s to stop someone from porting it to something else – then it’s free. I am not saying that Linux or FreeBSD is better – this is just a business decision.
It kills me how Mac users think they are on some kind of moral high ground – Steve Jobs wants you money as much as Bill Gates.
Yea he does, Steve is just a big milker of our money. I’m not seeing the value any longer with Apple products. They charge whatever they want, charging for OS upgrades, worthless iLife upgrades, every little iPod gizmo is twice as much and comes in this “ooh wow” packaging that better belongs on a shelf instead of the trash.
Everything points to taking us Mac users for everything we got, and for little return of value. Some of their products fail to work properly, like these new Mighty mice, utterly worthless, you can’t clean the rollers!
I’m also getting kind of sick of the cult-like attidude as well, then this Intel switch when IBM was “oh so the thing”, not to mention Mac OS X has been a security nightmare of almost Microsoft proportions.
Ok I’m done
I’m not seeing the value any longer with Apple products. They charge whatever they want, charging for OS upgrades
CHARGING for OS upgrades? Unheard of!
worthless iLife upgrades
I use iLife heavily and I don’t consider their upgrades “worthless”. Besides, no one is forcing you to buy it. You can keep using the version that came for free with your Mac for as long as you want.
every little iPod gizmo is twice as much
Twice as much as what? The price of iPods has actually gone down slightly in the years since it was introduced, while new capacity, new features, and better styling were added.
Some of their products fail to work properly, like these new Mighty mice, utterly worthless, you can’t clean the rollers!
That’s because it’s an OPTICAL mouse. It doesn’t use rollers. Jeez. If you’re talking about cleaning the scrollwheel, please point me to one mouse from Logitech or Microsoft or anybody that lets you take out the scrollwheel and clean it.
not to mention Mac OS X has been a security nightmare of almost Microsoft proportions.
What nightmare would that be? The fact that there are still no viruses in the wild for it? No spyware for it? Just a couple theoretical security holes and maybe some proof-of-concept code? Yeah, that’s a real nightmare compared to Microsoft’s 70,000 viruses and counting. (And that doesn’t include things like HotBar and CoolWebSearch.)
Then we will have effectively 2 desktop OS, Linux based and Windows based.
Looks like BSD is fighting a loosing battle.
Who says BSD is fighting anything? Even further, how are they “losing”? BSD isn’t looking to take over the world like other Operating Systems.
I’m sure if apple were to switch kernels they would go with another bsd variant.
Losing battle? FreeBSD has been around longer than Linux and is going just as strong as ever. While you can use FreeBSD as a desktop OS, it is traditonally a server based OS. Check out the freebsd website at http://www.freebsd.org for the whole story.
I know what FreeBSD is. It is one of the primary server platform that I program for. I can say that it is sort of my bread and butter to write drivers for FreeBSD. I think FreeBSD is the most effective Open source server OS. In terms of sheer speed, it anytime outperforms RHEL/SLES in our setup ( and we tweek every OS for speed). FreeBSD is doing great as server OS, even my favourite http://www.distrowatch.com runs on FreeBSD. I dare not say anything against FreeBSD as server OS.
What I referred to was BSD as desktop OS, that too when Apple bases their OS on Linux, instead of the the current Darwin ( which in turn uses FreeBSD ).
At present only PC-BSD is trying to hold BSD on desktop space. Yes I am aware of FreeBSD variants like Desktop BSD, but their user base is nothing compared to Linux.
BSD is dying!
quartz extreme interfaces with the kernel, so they would have to be retarded to give that up…
Unless they put some little money to port a code that works on a UNIX to another type of UNIX. Not that they are new to doing porting…
What company wants to base their OS on a kernel controlled by one man who doesn’t even work for them ? Even worse Linus has in the past changed kernel interfaces pretty much unilaterally and stated he reserves the right to the the same in the future if he wants to.
It simply wouldn’t make sense for Apple to abandon a perfectly good kernel in favour of Linux.
They’d end up forking it, if this were to happen. They would want the same level of control over ‘secrecy’ and compatibility as they have with XNU. Then the whole situation with WebKit would happen all over again, as features found their way into Apple-Linux that weren’t in the mainline kernel and difficulty with integration presented itself. All behold the furor of that.
If anything taking one of the BSDs and developing it directly rather than continuing the mixed Mach environment would have made more sense at the time, but that was then. Transitioning kernels at this point would be stupid.
A-men brotha!. Hey Linus (and all you Linux devs): Ever heard of the term Backwards Compatibility?
No, I think not. Freaking hell: go from Linux 2.6.15 to Linux 2.6.15.1 and your Nvidia graphics module says it’s incompatible so reinstall the driver.
Yeah that’s going to go down reaaaal nice with Mac users.
Who? So was FreeBSD kernel made by someone in Apple? I think open source is meant to fork if you don’t like it, and I see that’s what Apple did with the kernel as well as konqueror toward Safari…
So even if they want to use Linux, just make their own tree of Linux, port any code that’s usable to them from the main Linux tree, and just show the addition to public.
What company wants to base their OS on a kernel controlled by one man who doesn’t even work for them ?
and don’t forget the sco vs ibm lawsuit and the patent infrigements that were noted that linux is infringing.
Quartz is Apple’s sacred intellectual properties and I seriously doubt they will part with it (eg open source) anytime soon. It isn’t in their best interests to. If Apple goes the Linux way (Like Netware did), it would be much more difficult for them to tie in Quartz as it is very heavily tied into their kernel.
Apple’s foray into opensource is somewhat mixed. Just look at the whole thing about Safari using KDE’s konquerer KHTML rendering engine… they used konquerer’s technology and submitted back the changes in ways that made it very difficult to merge the code together.
Also, look at Apple’s bloodthirsty lawyers and how they treat even hardcore Mac fans. They sue them! Apple is not known for it’s frendliness and I seriously doubt they will be switching over to the Linux kernel ever.
If Apple goes the Linux way (Like Netware did), it would be much more difficult for them to tie in Quartz as it is very heavily tied into their kernel.
Um, how? The XNU source is open — there isn’t a lot of Quartz in there!
I think what he means is that Quartz rely on the kernel enough that they would have to release the code as GPL. There doesn’t have to be a single line of Quartz code in the kernel but as long as it links to it is is “doomed” to be GPLed
Technically, there are only two ways a piece of code can depend on the kernel. First, it can use its syscall interface, like regular application code. The Linux license explicitly says that applications using the kernel in this way do not have to be GPL’ed. Second, it can be a kernel module that links to the kernel. The Linux license still says this does not have to be GPL’ed. There is no other possibility, technically, that would cause the Quartz code itself to have to be GPL’ed.
linux, as kernel, only has one advantage compared to xnu – performance. but mac os x runs just fine and fast on xnu now, so why should they switch? linux changes too fast. apple does not want that. and they do not want gpl either. so… no, no and no. i do not think apple will ever switch :] well, ok maybe they will, but only when i will be more rich than bill gates is right now… so it is impossible :]
The microkernel architecture means that a new personality (say Linux or OpenBSD or Win32 or ???) can be implemented without actually displacing existing personalities. It really has the potential to make universal binaries look like a kludge.
My guess is that Apples next few Operating Systems manoeuvres will be highly interesting and far less painful for end users than Microsofts.
What microkernel? XNU isn’t a microkernel. It’s based on Mach, but the majority of the actual operating system involved is in the BSD section of the kernel that’s tightly-coupled. That’s tendency in general is part of the motivation for exokernels. You could develop other subsystems, less trivially than say with NT, but that’s a lot of work.
So, does that mean that the Darwin kernel is better maintenanced because it’s only withheld by a single party, or does that simply make it less secure?
As far as I’m concerned, Linux performs the best out of all the other kernels (I’m talking benchmarks, not personal experience.)
I remember reading somewhere that Jobs contacted Torvalds to talk about the possibility of using Linux in Apple’s new OS and even inviting him to work for Apple, Linus instead chose to criticize Avie Tevenian’s work w/Mach, and continued to talk disparingly about Apple, and thats where the road ended.
Linus is a very arrogant person, despite not really accomplishing much. Steve’s also arrogant, but he has alot of wins under his belt and the market loves a winner. Does OS X need help? Yes, but i seriously doubt that apple would base the OS on linux solely for the reason that there are so many people (not all) in the open source community that still dont truly understand what “free” software is and think that they shouldnt have to pay for anything and hardware should be as cheap as possible and be based so that they can hobble together disparate pieces of code and call it an application. This is why overall linux adoption has stagnated. Rememer 2003 was supposed to be the year that it crossed over to the desktop, then 2004, then 2005, now folks are content using it on servers.
Linus instead chose to criticize Avie Tevenian’s work w/Mach, and continued to talk disparingly about Apple, and thats where the road ended.
I remember those talks, but Linux never talked disparingly about Apple. He only talked about Mach.
Linus is a very arrogant person, despite not really accomplishing much. Steve’s also arrogant, but he has alot of wins under his belt and the market loves a winner.
So basicaly, you measure success by money? And Linus not acomplishing anything? Wow, I have to thank god, that I haven’t got equiped by your brains (I don’t need excessive accessories without actual usage in my head) when I was born.
This is why overall linux adoption has stagnated. Rememer 2003 was supposed to be the year that it crossed over to the desktop, then 2004, then 2005, now folks are content using it on servers.
Nah, it never stagnated.
Now to translate “Year of Linux” for you, so your brains could follow the logic.
It doesn’t mean “We will take over the world”. It means “significant change in number of new people using linux”. Every year has been “the year of linux”.
I see at least 5 times more Linux users in the same circles than 2 years before.
Is OSnews will do a news for each personnal webpage on the net ?
Nobody mentioned Solaris?
Nobody mentioned Solaris?
Yeah thinking about it – it could make a lot of sense for Apple to move int that direction – more so than to move to a Linux kernel.
Edited 2006-02-26 16:04
Exactly true! -Plus there would be generous technological advances for Apple to gain server wise, since Solaris, and thus Open Solaris, is extremely advanced in many areas that Apple’s own Mac OS X Server does not adequately address (or so it seems on looking through the AnadTech benchmarks that seem to dump on XNU’s thread handling capabilities and general web server and database server performance).
The adoption of a kernel like Solaris would make a whole lotta sense to Apple, I think, were they to change their ways. Soliris IS after all pretty *BSD-ish in its ways.
I don’t specifically mention Solaris in the article, but I do link to an article about Sun and Apple possibly merging. Sun worked with NeXT to create OPENSTEP and already ported it to Solaris.
…And OPENSTEP is Java without the virtual machine…
SUN abandoned it and made Java instead. Anyhow, it would be some marriage, the (possibly) most stable and mature Unix kernel available coupled with the best GUI out there, Apple’s Aqua!
If the licensing of Linux under GPLv2 precludes its use as the kernel in MacOS X then won’t OpenSolaris (which speculation has will be licensed under GPLv3) be even more problematic? Don’t get me wrong, I wish the next Mac OS X kernel is Linux or OpenSolaris, but if Apple has problems with the license of one, they are likely going to have a problem with the other.
The question I have is that if they do use the Linux kernel, then by the GPLv2, do they have to make all the other components of their OS that use the kernel also GPL?
It actually would seem to me that leaving kernel development to the community that has evolved around Linux would be a good business decision. Apple can continue to develop features within the kernel as they see fit in addition to benefitting from the gradual improvements in the kernel that accrue from having a worldwide base of kernel developers. The only sticking point for Apple might be the licensing terms. The real selling point of Mac OS X is the desktop interface; the underlying kernel is the boring stuff to most people. Most people care how their desktop looks, feels, and performs, not necessarily about the nitty-gritty of how the engine underneath works or how its licensed. With Linux Apple can be assured of competent long term kernel development which will keep OS X current, and share the burdens of kernel development and maintenance with numerous other corporate entities and individual developers.
I wonder whether they would have to make the souce code to Quartz and all the other components of their OS available if they switch. If so, I can’t see them doing this. I don’t think that they have evolved in their thinking to the point where they see their OS as just a commodity — a “cost center” — which allows them to sell iPods, hardware, and songs from their iTunes store. On the other hand, maybe some major changes are under way!
It all seems to hinge on the license. I personally think that Windows may sooner switch to Linux for its kernel then Apple. The complexity of developing even the relatively modest incremental improvements in Vosta seems to be straining them severely.
Time will tell.
Greg
f the licensing of Linux under GPLv2 precludes its use as the kernel in MacOS X then won’t OpenSolaris (which speculation has will be licensed under GPLv3) be even more problematic?
This excersize is a fictional but the answer to that is no. Assuming the Sun would be willing (i.e. what’s Apples cash offer) to let Apple use Solaris, it is nothing that prevents Sun from dual license the Solaris code to Apple under a license that allows Apple to keep the Mac OS proprietary stuff closed. Just look at MySQL, TrollTech etc. Linux has too many authors to allow this to happend even if teh boss, Linus would agree to dual license Linux to Apple.
os x is not based off freebsd. it’s netbsd.
btw stop talking about things that you do not understand.
http://developer.apple.com/documentation/Darwin/Conceptual/KernelPr…
“Although the BSD portion of Mac OS X is primarily derived from FreeBSD, some changes have been made”
Edited 2006-02-26 15:58
im sorry. i was told by a friend that it was NetBSD.
thanks for the clarification!
Never trust a friend, get the information by yourself 😉
You don’t even bother to look at the source code Apple provides to you, and yet in another article it’s a big deal that Apple isn’t providing the source code for the x86 anymore.
1. Linux kernel has no stable ABI (meaning no stable driver possible), this always was double edged sword. One allowing coders to be able to break things for the sake of improvement and gain things, other to less progress, but drivers not depending on every version or release
2. GPL license would force Apple to disclose drivers
3. Bringing competition too close. Next maxxuss would probably take on Aqua only.
4. OSX would run on other hardware not sold by them, which is against their policy.
5. Apple would have to provide support for something they can’t control.
1. Apple could fork Linux and/or provide their own KPI and IOKit on top of Linux. Mac OS X hasn’t had a stable driver API yet and it isn’t like there are tons of people writing drivers for OS X. Linux has far more drivers.
2. Linux can load closed source modules, see nvidia.
3. I see no difference, people are always going to be able to hack DRM.
4. Again, Apple can modify the kernel and provide closed source modules which prevent people from running it on non-Apple hardware.
5. Apple ships their own version of the Linux kernel with their own changes, how do they not control that? This is the same thing Red Hat, Novell, and Ubuntu do and they’re all able to provide support. The only thing Apple wouldn’t control anymore is the license.
1) and where would be the advantage over now? They already have their tree. Maintaining a new tree, new backports, etc.
2) which break on each minor update
3) correct
4) they do that already, no gain from switching
5) again, but for what, they already have their kernel. no gain for them
1. Linux kernel has no stable ABI (meaning no stable driver possible), this always was double edged sword. One allowing coders to be able to break things for the sake of improvement and gain things, other to less progress, but drivers not depending on every version or release
To be fair, neither does OS X. In theory, Tiger’s ABI is stable, but it won’t be until Leopard is released that Apple has two OS X releases out that are officially kernel-API compatible.
Yeah Linux on everything, Linux on Servers, Linux on desktop, Linux on cell phones, Linux on cars, Linux on brain chips, Linux on TVs, Linux on (put something here). Is Linux a cult or an operating system?
Is Linux a cult or an operating system?
It’s a religion and as such it has it’s own set of dogmas.
>It’s a religion and as such it has it’s own set of dogmas.
and fanatics …
>It’s a religion and as such it has it’s own set of >dogmas.
>and fanatics …
and Moulinneuf
os x just appear for 5 year and it is the best desktop in the world
linux appeared for 15 years and there is still ranting every year that this year is the year of linux desktop blah blah….
This is a comparison I keep seeing, and its a phenomenally stupid one. OS X is nearly 20 years old, given that its just the latest version of NeXTSTep, and the first NeXTStep previews came out in 1986. During that time, it was developed by two seperate companies, the first with hundreds of millions in capital, the second with billions in capital, along with two decades of experience in human interface design.
In comparison, Linux’s first preview release was in 1991, and it was worked on by a small community until the mid 1990s. It wasn’t until the late 1990s that large corporations got involved. It wasn’t until 1997 that the GNOME project, designed to create a standard desktop GUI even started. That was about the same time Apple started work on Aqua, except they did it with a large paid deveoper staff compared to GNOME’s small volunteer team. It wasn’t until well into the 2000’s, and after the release of OS X 10.0, that GNOME got comparable corporate attention and resources.
This is a comparison I keep seeing, and its a phenomenally stupid one. OS X is nearly 20 years old, given that its just the latest version of NeXTSTep, and the first NeXTStep previews came out in 1986. During that time, it was developed by two seperate companies, the first with hundreds of millions in capital, the second with billions in capital, along with two decades of experience in human interface design.
Two companies? If you mean it was developed by those of us who worked at NeXT then you’re right. If you then say that once we merged with Apple and morphed Openstep for Intel into Rhapsody and then into OS X then you’re correct. And along the way it’s not 20 years old unless you actually start the timeline when NeXT was technically founded. If so you forget the 4 years in development it actually took before it was a viable product. That cuts it down to 16 years. Now with linux being over 10 years old and OS X being much greater than its Kernel I just find it ludicrous people are comparing both projects when OS X is not a Kernel project but an entire Operating System/Application Platform.
People just don’t seem to get that much of XNU was developed to accomodate the design of Carbon. If you think when Carbon is gutted that XNU won’t morph to better leverage Cocoa mainly and everything else as an afterthought then it tells me you’ve never worked for either NeXT nor Apple (NappleXT).
Suggestion: When you finish your engineering curriculum, go get a job with them. Then you’ll discover that you and a thousand other physicists, mechanical engineers, chemists, musicians, etc., are just par for the course and your masters or ph.d. don’t mean shit unless you know how to provide a viable “product” for Apple to leverage. The stronger and more diverse your ObjC background the greater your chances of getting a job.
More importantly, with so many advanced degree employees you’ll soon discover that you’re just one of the mill. It’s not a common experience and that is another angle that makes Apple unique. You work with various skilled folks who aren’t above doing mundane work and you work with some folks who may not match your educational credentials but stomp your ass with necessary skills, experience and drive. Those are the folks that make Apple truly unique.
Linux as a global community has great talent but with the advantages of a remote community come disadvantages of missing out on such collaboration possible when at the right company. Don’t get me wrong, there are many useless managers and other roadblocks in Apple just like every company. The bright spots however made the time spent there worth it.
Now this article really smacks of someone new to the professional computing world:
2006/02/26 – Erik points out that while development of Mach at Carnegie Mellon had ended, Apple acquired one of the leaders of Mach development from NeXT, Avie Tevanian. This new bit of information led me deeper into Apple’s decision to use the Mach kernel. According to John Gruber, because of Avie, Apple didn’t even consider other kernels, even their own NuKernel, the kernel for Copland.
You’d have to be young in years within this IT Industry and not know Avie wasn’t the head of NeXT Software Development before the merger. It also tells me that Gruber was a standard Mac head and not someone knowledgeable nor skilled with the NeXTStation hardware. Every NeXT fan knows the main folks who worked at NeXT and later now hold the most important positions in Apple.
Two companies? If you mean it was developed by those of us who worked at NeXT then you’re right. If you then say that once we merged with Apple and morphed Openstep for Intel into Rhapsody and then into OS X then you’re correct.
Yes, I am correct.
If so you forget the 4 years in development it actually took before it was a viable product.
And Linux 0.01 was a viable product when it came out in 1991? All I’m trying to do is compare the two products on the same timeline. The original poster cited Linux as being 15 years old. That means he is counting from when the first code was laid down. Since NeXTStep 1.0 was released in 1989, and as you yourself said it was in development years before that, citing the age of Linux at 15 years means you should cite the age of OS X at 20 years, if you count the same way. Even then, its not entirely a fair comparison, since a substantial amount of the kernel code in OS X comes from Mach and BSD, which are even older codebases.
OS X is not a Kernel project but an entire Operating System/Application Platform.
The term “Linux” is commonly used to refer to the whole software stack, from GNOME/KDE down to the kernel. Since the original poster was talking about “Linux versus OS X”, it was obvious that we was using the term in that sense.
Suggestion: When you finish your engineering curriculum, go get a job with them. Then you’ll discover that you and a thousand other physicists, mechanical engineers, chemists, musicians, etc., are just par for the course and your masters or ph.d. don’t mean shit unless you know how to provide a viable “product” for Apple to leverage.
Apple does a lot of aerospace engineering then? I don’t really get the point of this statement…
More importantly, with so many advanced degree employees you’ll soon discover that you’re just one of the mill. It’s not a common experience and that is another angle that makes Apple unique. You work with various skilled folks who aren’t above doing mundane work and you work with some folks who may not match your educational credentials but stomp your ass with necessary skills, experience and drive. Those are the folks that make Apple truly unique.
And this little diatribe has exactly what to do with the topic at hand?
Linux as a global community has great talent but with the advantages of a remote community come disadvantages of missing out on such collaboration possible when at the right company.
Ah, back on the topic! In the end, the most important thing is the final product. Apple’s development model has some theoretical advantages, but OS X is not massively better than Linux/GNOME when you factor out the advantages Apple has in controlling the underlying hardware. The difference between Linux (as a whole OS) and OS X is entirely consistent with the fact that OS X has had substantially more development time behind it, substantially more dollars behind it for most of its history, and the benefit of being designed as a desktop OS from the very beginning. Definitely, the original posters contention that “Oh, OS X is only 5 years old and look how much better it is than Linux!” is completely and utterly off-base.
Tells how payed working environment can set things up quicker and more efficient than random bunch of hobby hackers. Not that I do not appereciate the existance of Linux.
Well, they bought NEXT ( jobs too). All was already inside : mach kernel , objective-c, openstep, the dock…
read a little more at http://www.gnustep.org.
and so what ?
I don’t think that Linux makes much sense… but it would be REAL smart if they would go with a mainstream BSD like FreeBSD and dump their current kernel, which is sort of the red-headed bastard child of BSD-land.
They could work closely with the rest of the BSD community, get a much better performing kernel and still maintain exactly the same licensing and intellectual property they have today.
I think they should just continue to develop and improve the current kernel? It would be silly to just change their kernel 5 versions or so into their operating system life cycle, since the current one works well and can only improve.
Well since most of the subsystems are already FreeBSD based then that change would be ralatively minor. Unfortuantely for Apple the mix Mach/FreeBSD is not as fast as “pure” FreeBSD is (tho xnu is fast enough and has its advantages ofc).
Most of the core subsystems (thread scheduling, VFS, and virtual memory) are *not* FreeBSD based. This is why OS X’s context switching/file IO performance is lacking — the corresponding subsystems are not SOTA.
You are quite correct. However I was not talking about “just” those core components. And I would not exactly call the network subsystem FreeBSD NOT a core component of any modern kernel. Also, I was under the impression that the VFS layer was from *BSD (tho I doubt I is “new” as in FreeBSD 6 new) http://www.kernelthread.com/mac/osx/arch_xnu.html
That said, the thread scheduling is from Mach3 (and not exactly known to be performant) and the IOKit is a very nice interface but has it’s performance issues as well.
Obvisouly if they’re hobbyist, they might do it, but I bet it takes whole lot of money and risk to convert a now working kernel into a quite different one and not piss all the app developers for Mac OS X.
“He’s proven time and time again that he doesn’t understand the various licenses”
Really ? thats funny , real judge disagree with you 😉
That’s funny. One would expect that in order to know legalese you should also speak english properly.
I doubt if a real judge agree (sic) with you. You sound more like a spotty teenager that has never been in a court but is nevertheless making wild claims to validate his opinion. What with your “;-)” after every sentence and all…
A downside is that the Linux kernel has to remain licensed under the GPL so Apple loses control of licensing. Steve Jobs hates giving away control. And to continue benefiting from the Linux development, Apple would be at the mercy of Linus. When he decides to change major sub-systems in the kernel, Apple would need to update their patches
I see absolutely no reason in this article for Apple to make another risky transition. Will it increase sales in any meaningful way? No. Will it reduce some of their development costs? Maybe. Is it necessary to increase revenues? No.
Exactly how does a Userspace filesystem (FUSE) increase Apple’s revenues? Do most people even care? While XEN is cool, virtualization is hardly what most computer consumers are clamaring for. Remember that Apple’s main market is consumers and not business.
Incidentally, since both FUSE and XEN already support FreeBSD, Apple would spend less time and money porting those projects to OSX then a complete Kernel port to Linux. There really is no meaningful reason for Apple to do this. None.
Is it necessary to increase revenues? No.
The only truly compelling argument for Apple to use Linux (or a ‘real’ BSD kernel for that matter) as a kernel is that it would fit OSX Server much better. Comprehensive benchmarks have shown that OSX’s kernel is significantly slower at server duties than the Linux kernel.
So to come back to your revenue question– if they want to increase revenue in the server market, then yes, a Linux/BSD kernel change would indeed be useful in increasing revenues.
While I agree that a Linux/xBSD/OpenSolaris kernel would certainly help Apple make progress in the server market, I also think there are other options for this:
1) Instead of spending time and money completely changing the underlying kernel while incurring great risk during another transition, why not spend that time and money fixing the performance and scalability problems with the current kernel.
2) Use Linux/xBSD/OpenSolaris as the base of the next Apple server OS. OSX will remain the notebook/workstation OS while the new XServe OS will merely be an Apple branded <insert Fav server OS here>, with the appropriate Apple tools added-on.
You’re right, I don’t offer enough reasons for Apple to make the switch. I sort of gloss over what I consider the biggest advantage: the enterprise market. Apple has shown interest in the market with Xserve and Xserve RAID, but for the enterprise to take Apple seriously, they’re going to need a lot more support. Linux has that support and performance now. Businesses spend way more money than consumers, so this is a market that has huge revenue potential for Apple, especially now that they’ve got a decent partner (Intel) for producing high-end machines in volume.
Linux is not the salvation to all our needs. When facts come into the matter what is important to a successful comercial client AND server OS is that you (as a developer) want to have complete control of the things that are crucial to have a working system. Linux will never (unless dual-licensed) offer that to Apple. Do you honestly think that Apple would even consider for more than half a second to release the code to Aqua?! Quartz or CoreWhatnot?
The type of enterprise computing you are talking about is not and most likely never will be Apples market while Jobs is at the helm. That market just isn’t sexy enough and require not support from software developers but support *MAINLY* from the hardware manufacturer (i.e. Apple). It’s gonna cost a bit too much to be in the high availability server rooms without any real payoffs. Apple is more about selling in large numbers.
The hardware support you mention (i.e third party drivers etc)… well let’s just say that hardware support was never much of an issue for Mac OS before and I suspect it will be an even lesser issue with Mac OS X x86.
Given as a whole, I honestly cannot think of any compelling reason for Apple to switch to Linux.
That said, xnu is not FreeBSD and neither the best kernel/subsystems around but they have proven to be more than good enough and frankly. That is what matters, especially if you also get to keep control.
Howdy
This has got to be one of the most stupid things I`ve ever read, the glaring problem is a little thing called “reality” you could replace the word “linux” with “windows” and the arguments would hold exactly the same weight.
Get a grip people I personally feel dumber for having read the article through, posting this drivel to OSNews is just shamefull just wait for my upcomming article “The future of computing is edible”.
Why oh why are you “editors” going the way of the register?
Linus has turned down this job offer once before… Unless Apple is going to do it without hiring the maintainer…
If memory serves right:
Process creation/killing
Thread spawning
Context switching
There was a very detailed test in anandtech.com about this some time ago. It was way slower than Windows, Linux or BSD.
Having said that, most people with macs don’t need to be very fast in those areas, so the rationale for switching to another platform is not really compelling.
The easiest switch would obviously be one of the BSDs. They are about the same as Linux performance-wise (no need to split hairs, they ARE close enough for the issue not to be worth debating).
The BSD license makes things a bit easier, too.
Of course there are huge functionality benefits to be gained in the server space if they choose solaris/linux but Macs rarely play in that field. The biggest Apple sellers are, by far, iPods and Powerbooks, after all!
I very much doubt they’ll ever go to linux or solaris. Though of course it’s not impossible.
If they want to play more seriously in the server field they may try to fix Mach, or just go all BSD.
D
Not trying to sound like a troll again, but just pointing out the crux of the issue here.
This sounds like a bunch of Linux nerds dreaming all day about how Apple can work with Linux to provide better support for them.
Even if Apple switched to Linux it would be closed source and it wouldn’t help your goals.
I have tried Linux before and it has more hype than its worth it. I mean just submit to OSX or Windows and call it a day, why waste so much time on hacks and trying to get things to work and have to run emulation to get software to work that you need.
Do you know a dell computer at the lowend cost only $299 and it’s not bad.
Come on now, How many of you can tell me what does line 340 of file /usr/src/linux/kernel/resource.c do?
The comment says:
/* Partial overlap? Bad, and unfixable */
Can any of you fix this problem? I can’t even though I’m a PhD in computer science.
Edited 2006-02-27 03:37
Did you just grep the source for “unfixable”? Because the line in question isn’t a problem to be fixed, per se. Resource.c handles allocations of chunks of I/O port space to clients (mostly drivers), and the function in question just enforces the following semantics:
1) If the client requests a new resource range that is fully a subset of an existing one, the new resource range becomes the child of the existing one.
2) If some existing resource ranges are fully subsets of the new one, then they become children of the new one.
3) It is an error to define a new resource range that only partially overlaps an existing one.
Yes forget about all this OSX hype, security problems, over protective community, EULA/Legal trouble and closed source drama. Cut your losses and wipe that Mac clean, put Gentoo on it and be productive. Otherwise go and by yourselves a nice cheap AMD64 X2 and load Gentoo on it too. Stop fighting with your inner daemons (!).
I used to be a linux user, before I became a big BSD user, however on my iBook I dual boot Gentoo and OS X and personally I’m in Gentoo maybe 1% of the time – if that. I find myself more productive in OS X by far (which is why my linux usage is so low now) but thats just my 2 cents.
BTW – legal trouble? You must be mistaken
But this one’s a weiner. Little things like:
>> With the release of Mac OS X for Intel, Apple has essentially closed development of Darwin by not releasing the x86 version. This leaves only Apple’s internal team of kernel engineers to improve XNU, making it nearly impossible for Apple to compete with Linux or Microsoft in kernel development
Are a serious what the ??? Oh yeah, that Microsoft Kernel is SO open to non MS developers, and surely hurts development.
It’s pretty obvious the writer of the article is little more than a linux fanboy who likes flapping his gums about things he doesn’t understand…
Like Apple having a closed proprietary nature that makes Microsofts business practices seem fair to competitors, making the choice of linux about as likely as finding a Mac Gamer.
And it also gives the impression that Microsoft has a large team developing the kernel. That is not the impression I’ve gotten from channel 9 vids. I’m not saying it’s a small team but not that big.
Edited 2006-02-27 10:42
I dont think apple would want to form it’s business around linux when it’s invovled in a lawsuit which it could lose. And it has been noted that linux is infriging many companies patents including a few from MS. the kernel apple is currently using is as fast and advanced as linux and it’s free form lawsuits and patent infrigements. i can’t see why would apple would want to switch to linux.
I for one am VERY glad that the author points out at the end of his essay that it was written purely as fun what-if speculative fantasy.
Amusing comment:
“2006/02/26 – Erik points out that while development of Mach at Carnegie Mellon had ended, Apple acquired one of the leaders of Mach development from NeXT, Avie Tevanian. ”
Gee. Avie came with NeXT as that’s where he was working at the time of Apple’s acquisition of NeXT. This also entirely ignores the fact that Apple bought NeXT because it had a complete OS. They certainly didn’t buy NeXT because they thought that Objective-C and the NeXTStep frameworks were cool, or that it’s interface was cool.
i.e. the reason that I am glad that the author points out that this was for fun, is because his entire article really makes no sense in light of the fact that Apple wanted a done deal OS. They wanted something that was already running(BeOS or NeXT), slap a more maclike GUI on top of it, and kick it out the door v. messing around with having to do all sorts of additional porting work that Linux or any other base kernel system would have required. (Of course we also now know that this plan wasn’t entirely as smooth as had, apprently, been originall,y envisioned and that other kernels, or even OSes may have worked just as well in a similar time frame. Excepting BeOS as I think that BeOS would’ve needed a great deal of work, although it DID have a far more maclike interface than NeXT… Also linux kernel peformance isn’t so hot on much other than x86, with, probably, ARM being the second best architecture supported. IME OSX with the xnu/BSD kernel performs better(at most tasks) than than the same system with a linux-ppc based distro(pick of Yellowdog, Debian, or Ubuntu), ppc support was pretty crufty which is why IIRC linus switched to using powermacs for kernel development in the hopes of giving ppc arch a little kick that it really needed…)
Bloody unlikely. The article seems to be a lot of emotional blather. Very little technical reasoning for the switch. Seems like one more Linux fanboi insisting that his platform is used everywhere. Why is it Linux users want to make everybody else use their platform of choice?
True I use to act like that about Mac OS. Then I grew up.
Linux and Mach kernels didn’t even have the same design goals. Linux is a monolithic kernel while MACH attempts to be a micro-kernel. Linux didn’t have a pluggable driver architecture until what … 2000?
Meh. This “article” makes OSNews look more like OSOpinion.
This is the heart of the issue. OS X depends less on a particular hardware’s architecture than it does the nature of the kernel. This is its heritage from NeXT.
For right now, Apple has a best-case scenario: a mature kernel they can legally own and privately customize without outside interference. OS X depends heavily on Quartz, and Quartz depends heavily on Apple’s modifications to the kernel. The Linux kernel is neat, to be sure, but the culture surrounding its development isn’t compatible with the goals of a corporation which needs considerable IP inside an OS.
Torvalds and Stallman are smart guys but I’d kill myself if they were voting board members in my company.
And Linus said no. There was an article floating around about Jobs/Apple approaching Mr. Man himself some years ago. I believe they even tried to hire Mr. T. :O
Tried to find linkage but no go. JFGI
The article was fun, but the bottom line, of course, are the differences between the licenses between the *nixes. BSD allows ‘private’ changes that do NOT have to be submitted back to the *nix while linux, under the current GPL, requires ‘public’ submittal of the software.
We are already seeing how it is ‘difficult’ for Apple to keep the OS on their hardware with their BSD-flavored OS, imagine how easy it would be if it were an ‘open’ kernal where changes had to be ‘openly’ submitted.
There is nothing wrong with the BSD license, and I assume many, including Microsoft, are looking at a BSD-based OS to counter the linux market. Imagine if Microsoft sold a BSD-style OS that ran linux apps and came with a Windows emulator….
Counsel