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 494185
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: So I guess that...
by lemur2 on Tue 25th Oct 2011 06:05 UTC 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[7]: So I guess that...
by phoudoin on Tue 25th Oct 2011 08:20 in reply to "RE[6]: So I guess that..."
phoudoin Member since:
2006-06-09

IIRC, there is a set of source compatibility to claim UNIX trademark. Have no time to find more about it, though.

Reply Parent Score: 2

RE[7]: So I guess that...
by lemur2 on Tue 25th Oct 2011 21:51 in reply to "RE[6]: So I guess that..."
lemur2 Member since:
2007-02-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) "

On Linux, the command-line userland programs named cat ln and dd are not UNIX cat, ln and dd. They are written-from-scratch GNU programs with the same names and roughly the same functionality as old UNIX programs.

After all, Gnu is Not UNIX.

http://en.wikipedia.org/wiki/GNU

"GNU is a recursive acronym for "GNU's Not Unix!", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code."

Specifically these programs and others of a similar nature are part of GNU coreutils.

http://en.wikipedia.org/wiki/GNU_Core_Utilities

The names were kept the same as old UNIX names in order that bash scripts etc would still run as written, and in order that people didn't have to remember new commands.

Nevertheless, cat, ln and dd on Linux were written-from-scratch GNU programs and they are NOT the same programs as cat, ln and dd on UNIX.

Linux and GNU were designed to be kind-of POSIX compliant, but they are not certified to be. It costs money to get POSIX certification, and no-one has paid such a fee for Linux.

Linux is Linux. It is not UNIX (but it is UNIX-like), and it is not POSIX (but it was designed with POSIX guidelines in mind).

In this day and age, Linux is far more important (in practice) than UNIX.

Edited 2011-10-25 22:11 UTC

Reply Parent Score: 2

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