Linked by Thom Holwerda on Fri 21st Oct 2011 23:17 UTC, submitted by jello
Apple So, how serious is the legal battle between Apple and the various Android phone makers, really? Surely, it's just logical business sense that's behind it, right? Calculated, well-planned precision strikes designed to hurt Android where simply making better, more innovative products isn't enough? Well, no, not really. We already knew Steve Jobs took this personal - now we know just how personal.
Thread beginning with comment 494118
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: So I guess that...
by frderi on Mon 24th Oct 2011 23:20 UTC in reply to "RE[3]: So I guess that..."
frderi
Member since:
2011-06-17

> As 99.9999% of software code. Even iOS, MacOS X, Windows, Linux share a large portion of software design that were written decades ago.
Under iOS, there is an UNIX layer.
Same for MacOS X. Apple invent none of them.
But without them, no iDevice, zero.

OSX and Linux are very different systems. Both are based on Unix, but Mac OS X uses a different kernel called Mach, which was developed from scratch by Avie Tevanian, a NeXT engineer. Mach differs in design philosophy when compared to traditional UNIX and Linux kernels, as the former are monolithic, while OSX is a hybrid kernel.

Also, iOS (and Mac OS X) have a completely different set of programming API's (Cocoa), an unique display manager (Display PDF) and a desktop (Finder). The closest thing to cocoa you have in the Linux space is GNUStep, which is essentially an incomplete re-implementation of YellowBox/Cocoa under linux which nobody uses.

Also, over the years, most of the UNIX based system tools which run under the hood in Mac OS X (and are part of Darwin) have been replaced with Apple-developed alternatives. Launchd is one small example, to replace the cron/init stuff from UNIX. A bigger example is the compiler, where GCC has been replaced by Clang/LLVM.

The only thing which is more or less the same consistently between UNIX, Linux and Mac OS X are the BSD userland tools and X11 window system, which make you able to run UNIX and X11 applications on these systems. Both are an optional install for Mac OS X and not really required to boot the system.

Edited 2011-10-24 23:23 UTC

Reply Parent Score: 1

RE[5]: So I guess that...
by lemur2 on Tue 25th Oct 2011 06:05 in reply to "RE[4]: So I guess that..."
lemur2 Member since:
2007-02-17

OSX and Linux are very different systems. Both are based on Unix, but Mac OS X uses a different kernel called Mach, which was developed from scratch by Avie Tevanian, a NeXT engineer. Mach differs in design philosophy when compared to traditional UNIX and Linux kernels, as the former are monolithic, while OSX is a hybrid kernel.


To be clear, the Linux kernel was also written from scratch. The Linux kernel contains no UNIX code.

http://en.wikipedia.org/wiki/File:Unix_history-simple.svg

In the diagram above, Linux is represented by the second column from the left. Unlike Mac OSX, Linux has no UNIX or BSD predecessors.

Unlike Mac OSX, Linux is not a certified implementation of UNIX.

The Linux kernel is UNIX-like, since it is designed to be POSIX compliant after all, but it is not UNIX, it contains no UNIX code, and it is not therefore based on UNIX.

The only thing which is more or less the same consistently between UNIX, Linux and Mac OS X are the BSD userland tools and X11 window system, which make you able to run UNIX and X11 applications on these systems.


UNIX userland applications will not run on Linux as there is no ABI or API compatibility. Error codes, for example, are different, because Linus mixed them up (unintentionally). X11 applications can run on Linux if they are re-compiled for Linux, binaries will not run. Bash scripts will run.

Edited 2011-10-25 06:16 UTC

Reply Parent Score: 2

RE[6]: So I guess that...
by frderi on Tue 25th Oct 2011 07:37 in reply to "RE[5]: So I guess that..."
frderi Member since:
2011-06-17


UNIX userland applications will not run on Linux as there is no ABI or API compatibility. Error codes, for example, are different, because Linus mixed them up (unintentionally). X11 applications can run on Linux if they are re-compiled for Linux, binaries will not run. Bash scripts will run.


I was referring to stuff like cat, ln and dd when I referred to the userland tools. as far as I know, binairy compatibility is not required on a UNIX system. Even source compatibility is not required. Source compatibility is required for POSIX, though (a standard from which Linux seems to be moving away from)

Reply Parent Score: 1

RE[6]: So I guess that...
by henderson101 on Tue 25th Oct 2011 21:02 in reply to "RE[5]: So I guess that..."
henderson101 Member since:
2006-05-30

So, just to blow your mind : MkLinux - discuss.

Reply Parent Score: 2

RE[5]: So I guess that...
by phoudoin on Tue 25th Oct 2011 08:16 in reply to "RE[4]: So I guess that..."
phoudoin Member since:
2006-06-09

Mac OS X uses a different kernel called Mach, which was developed from scratch by Avie Tevanian, a NeXT engineer.


Not true. NeXTStep kernel was based on Mach 2.5 microkernel, which was NOT made by Apple or NeXT engineers but written by Carnegie Mellon University.
Thanks to give credits where it's due.

Also, over the years, most of the UNIX based system tools which run under the hood in Mac OS X (and are part of Darwin) have been replaced with Apple-developed alternatives. Launchd is one small example, to replace the cron/init stuff from UNIX. A bigger example is the compiler, where GCC has been replaced by Clang/LLVM.


Clang/LLVM was not started by Apple but at University of Illinois and release under open-source licence, which latter allow Apple to 1) hire one of the student behind LLVM and 2) reuse and improve the code without breaking the licence. Otherwise, they will have to start again from scratch, which they didn't have to, thanks for the open source output of others, like for the Mach kernel.

Again, thanks to give credits where it's due.

The only thing which is more or less the same consistently between UNIX, Linux and Mac OS X are the BSD userland tools and X11 window system, which make you able to run UNIX and X11 applications on these systems. Both are an optional install for Mac OS X and not really required to boot the system.


Try to remove the Mach kernel and see how fine it boot, just for fun.
The NIH syndrom (Not Invented Here) is not an excuse to
NOT give credits where its due.
Worst, when it make someone hide or voluntary forget the actual history track is a bit sad but, to be straigth, also a kind of revisionism.

Facts are facts.
Apple innovates? True.
Apple wrote all her stuffs from scratch? False.
Apple own some credits to others works? True.

Apple (and fanboys) gives credits to them?
No so often.

Edited 2011-10-25 08:22 UTC

Reply Parent Score: 2

RE[6]: So I guess that...
by frderi on Tue 25th Oct 2011 14:37 in reply to "RE[5]: So I guess that..."
frderi Member since:
2011-06-17

Whats this? Tell frderi he's wrong day?


Not true. NeXTStep kernel was based on Mach 2.5 microkernel, which was NOT made by Apple or NeXT engineers but written by Carnegie Mellon University.
Thanks to give credits where it's due.

Mach was not written BY Carnegie Mellon. It was initially written AT Carnegie Mellon. Avie initially wrote it as part of his PhD. After a while, he wound up working for Steve Jobs at NeXT, where Mach became the kernel for NeXTSTEP and he further developed it. So YES, it was very much credited to Avie. Check the Mach source code if you don't believe me. Thanks to give credits where it's due.


Clang/LLVM was not started by Apple but at University of Illinois and release under open-source licence, which latter allow Apple to 1) hire one of the student behind LLVM and 2) reuse and improve the code without breaking the licence. Otherwise, they will have to start again from scratch, which they didn't have to, thanks for the open source output of others, like for the Mach kernel.


Development of Clang is initiated and sponsored by Apple. The University of Illinois hosts the project. Apple is a major industry backer of both Clang AND LLVM, providing resources to both projects. Again, thanks to give credits where it's due.

The only thing which is more or less the same consistently between UNIX, Linux and Mac OS X are the BSD userland tools and X11 window system, which make you able to run UNIX and X11 applications on these systems. Both are an optional install for Mac OS X and not really required to boot the system.



Try to remove the Mach kernel and see how fine it boot, just for fun.


Why would one want to do that? I was comparing the UNIX and Linux kernels to Mac OS X. They are not the same. Traditional UNIX systems either had System V or BSD monolithic kernels.

Facts are facts.
Apple also contributes significantly to the opensource community? True

Not invented here syndrome? Not by a long shot.

Reply Parent Score: 1