Intel OS X kernel no longer open

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: n0cmonkey
Originally posted by: Zugzwang152
Apple exists to make money. I don't see how all these Elite Members are surprised by economics taking the front seat.

Not surprised, just disappointed. This has nothing to do with money what so ever.

Exactly. Open Source and contribiting back to Free softawre is a way to allow end users and third party people to develop their own stuff and then contribute that back to apple. (In this case)

Think about it this way:

Software, by it's nature, is infinately reusable as long as you have access to the source code. You can change it, recompile it, use it in different operating systems and all sorts of fun stuff. Without the source software is very brittle and breaks easily and is incompatable with most everything.

For instance you have the Linux kernel. The way it's designed is to be flexible as possible. People use it in everything from wristwatches and traffic light control to enterprise servers to super computers.

So what happens is that if your a software vendor and want to make a operating system you can either completely rewrite everything yourself like Microsoft basicly does.

It's very expensive and very difficult. Plus your not actually being productive since everything your making already pre-exists and you can use it. Your just re-doing everything that everybody else has done before you and redoing all their ideas.

They call it 'reinventing the wheel'. Even though NT is something different, Microsoft's first operating system, and the operating system they used to develop NT on, was a Unix variant and it shows. They way Windows XP is now it could be pretty much Unix at it's core and it probably wouldn't make a huge difference in it.

This is why 'Unix' was so successfull as a operating system. Every single other operating system that was around at the same time as Unix's creation is dead. Dead and gone and are now just odd historical footnotes. A lot of them were very technically superior to Unix.

But Unix was the first system that was portable. It was the first system that was created out of a portable langauge (C) and therefore was hardware independant. AT&T, due to the restrictions imposed on them for being a monopoly couldn't sell computers or software (which at the the time was basicly the same thing.), but they had a clause or loophole in their restrictions that allowed them to share for research and education.

So Unix started out as, essentially, a open source operating system. You could go and buy a book that was nothing but the source code for Unix. They gave source code to many businesses and educational institutions. This allowed many many people to develop and work on it. It was used in darpa research projects and thusly BSD folks created the TCP/IP software stack.. which was then incorporated into numerious Unix variants and then eventually back into AT&T Unix proper were it made Unix a networking powerhouse and lead to great commercial successes.

(it was a stable and reliable network protocol for unstable and unreliable networks.. and it worked. Every other operating system was floundering around with it's own propriatory protocols that couldn't be used with anything else.. but everybody can use TCP/IP)


So Apple, instead of taking a Microsoft approach, leveraged open source to build it's operating system.

Instead of writing it's own kernel they used a obsolete Mach kernel and combined it with a BSD kernel to make it something that was actually usefull. They used FreeBSD userland. FreeBSD VFS for Posix-like compatability and journalling features. They use X windows and GCC to compile and help make it compatable with existing Unix/Unix-like software. They used NextStep and all that for another portion of their system. All sorts of stuff like that.

The actual Apple-only part of OS X is fairly small compared to what other people have done for them.

This is a GOOD thing. It allows Apple to create a mature operating system by leveraging a existing and real-world proven code base at a fraction of the cost as it would otherwise.

The trouble with Apple's approach is that they are taking the same path that commercial propriatory Unix vendors have taken with System-V Unix in the past. Apple isn't learning from other people's mistakes.

Commercial Unix vendors screwed up because they diverged from one another. They took the source code and ran with it and everybody now has their own Unix version, which shares a common history, but now is incompatable with everybody else's.

They all must 'reinvent' the wheel in their own little worlds with their own little (well exceedingly large) code bases independant from each other YET are trying to remain compatable. This is very expensive and probably stupid and now Unix is rapidly being killed off by Linux.

There are Unix servers that are being used today and have uptimes longer then what Linux existed. They have decades of development time and billions of dollars over Linux, but Linux is open source and so is rapidly reaching parity even with very high end Unix. (give it another 5 years or so)

If Apple contributes code back to the community then they can improve on their own code base, let everybody else benifit from it, in which this third parties put their own improvements back into it. Then later dates Apple can gets these further improvements and incorporate them back into it's own operating systems.

In other words, as long as Apple contributes code back to the community it will be mostly compatable with the community code and then be able to incorporate these improvements back into it's operating system.

It's like a sort of investment. Apple can deposite code, wait for it to mature, then take the interest aquired from it and incorporate it back into their propriatory software.

However since Apple is keeping improvements to itself it will gradually be more and more incompatable and eventually drift far enough that everything becomes very expensive and they'd be back to writing their own operating system by themselves. Just like with their already impressive failures with trying to get away from OS 6-7-8-9 and Copland and such.

You see commercial vendors contributing back to Free software or open source software is not a selfless act. It's usually quite charitable and nice to do, but often it benifits the commercial vendors as much as it does everybody else.

But Apple probably doesn't see this or understand this or if they do their corporate culture is broken enough to prevent this sort of thing from working out well. They have 'Intellectual Property of Apple' dancing around their little heads and I don't think see what life is going to be like for them 10 or 20 years from now.
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: drag
You see commercial vendors contributing back to Free software or open source software is not a selfless act. It's usually quite charitable and nice to do, but often it benifits the commercial vendors as much as it does everybody else.

As an example of this I've been listening to some interviews with BSD developers, some of whom have been around since "the beginning." I think it was in an interview with Kirk McKusick where he explained that companies gave back to the BSD tcp/ip stack (the tcp/ip stack ;)) not because they wanted to help anyone else, but because they were tired of merging their own changes back in after a new release.

Open source isn't just good for the users, it can be good for the corporations too.
 

halfadder

Golden Member
Dec 5, 2004
1,190
0
0
One of my FreeBSD-using buddies recently showed me how he made his FreeBSD machine boot up in about 1/3 of the time it used to take. Turns out this was due mostly to "launchd" a new system initialization created at Apple and released as open source through the Darwin project. While it was originally created for Mac OS X, one of the Google Summer of Code students ported it to FreeBSD in 2005.

http://en.wikipedia.org/wiki/Launchd
http://wikitest.freebsd.org/moin.cgi/launchd
 

halfadder

Golden Member
Dec 5, 2004
1,190
0
0
Originally posted by: n0cmonkey
link

We've been waiting for it to happen, and now it has. Between Apple's craptastic license, the KHTML issues, being one of many to not support OpenSSH, and now this is Apple doing anything decent for the open source community?

Most of the KHTML issues have been worked out over the past few months. The subversion CVS and changelog are now public. There are now several non-Apple programmers working on and contributing to WebKit and there are a few folks rolling WebKit changes back into KHTML proper.

http://cia.navi.cx/stats/project/WebKit
http://webkit.opendarwin.org/building/checkout.html