3

So I know that Linux is considered "Unix-like" while OSX is Unix.

Why is this? I feel like Linux is much more "Unix-like" than OSX is.

What makes OSX more "Unix" than Linux?

Aristides
  • 149
  • OSX is BSD, not UNIX. – Braiam May 15 '14 at 21:10
  • 1
    relevant http://unix.stackexchange.com/questions/1489/is-mac-os-x-unix?rq=1 – Braiam May 15 '14 at 21:11
  • 1
    Why the downvotes ? – Aristides May 15 '14 at 21:17
  • 2
    @Braiam: This depends on wording. You could either say, being UNIX means being descendant of the original AT&T System I+ (which it actually is due to the ancestry with FreeBSD, which somehow is connected to the »old« 4.4BSD and thus to AT&T Unix). The other approach would be saying being UNIX means being UNIX certified (which I'd prefer) by The Open Group, which OS X actually is, and thus it's absolutely legitimate to call OS X not only a UNIX derivative, but actually a UNIX. – Andreas Wiese May 15 '14 at 21:41
  • @AndreasWiese So then is the only reason that OSX is considered Unix because of the certification? If so, why doesn't Linux take the certification? If it did, why wouldn't it pass? That is the root of my question. – Aristides May 15 '14 at 22:04
  • Whoever suggested duplicate, I don't think so; my question is WHY, not whether it is or not – Aristides May 15 '14 at 22:05

1 Answers1

9

As suggested in the comments, OS X primary is a real Unix since it is certified by The Open Group (owner of the UNIX™ trademark), allowing it to legally claim itself to be UNIX.

Primary requirement for being UNIX certified is being conforming to the POSIX standard(s). Second one is being able to pay The Open Group the certification process. I think the latter point is the main problem why Linux is not certified. ;)

Another good reason for not taking the afford of certification is that there isn't really one Linux. Of course, there is a primary source for the actual operating system's kernel, but most distributors don't ship exactly this kernel, but patch it themselves, which would break certification. Even if you take the vanilla kernel (Linus's tree), there are dozens of possible configurations, and the kernel config even allows you to explicitly break POSIX compliance. This sounds strange at first glance, but absolutely makes sense, for example if you're planning to run your kernel on an embedded system with hard resource constraints. It could be advantageous to disable certain features that simply are not needed by such a setup, but would break POSIX compatibility (by disabling parts of the API, etc.).

OS X on the other hand does not have this problems. There's only one vendor which has complete control to decide which features the kernel supports and which not.

But even in the »iWorld« you can spot this problem: iOS or the system used on Apple's iTV although descendant of and closely tied to development of OS X are not UNIX certified. This most probably is caused by a reduced feature set breaking certification requirements.

Edit: The Open Group actually has a (draft status and rather moldy) document describing the conflicts between POSIX and LSB (the Linux Standard Base) you can find here.

Andreas Wiese
  • 10,400