Comment by pxc
13 hours ago
There's a lot of chatter here about macOS' Unix certification. But in a post shared by another user, it appears that the actual content of that Unix certification vindicates OP— macOS' official Unix compatibility requires disabling SIP:
> So, if you want your installation of macOS 15.0 to pass the UNIX® 03 certification test suites, you need to disable System Integrity Protection, enable the root account, enable core file generation, disable timeout coalescing, mount any APFS partitions with the strictatime option, format your APFS partitions case-sensitive (by default, APFS is case-insensitive, so you’ll need to reinstall), disable Spotlight, copy the binaries uucp, uuname, uustat, and uux from /usr/bin to /usr/local/bin and the binaries uucico and uuxqt from /usr/sbin to /usr/local/bin, set the setuid bit on all of these binaries, add /usr/local/bin to your PATH before /usr/bin and /usr/sbin, enable the uucp service, and handle the mystery issues listed in the four Temporary Waivers.
https://www.osnews.com/story/141633/apples-macos-unix-certif...
So it seems very fair to say then, that features like SIP and the SSV are genuine turns away from Unix per se, even given the fact of the certification.
It is still a UNIX nontheless, other commercial UNIXes have similar subtleties on their certification.
For a long time, Inspur K-UX, a Red Hat Linux derivitive was a Unix O3 certified system as well. https://www.opengroup.org/openbrand/register/brand3617.htm
> So it seems very fair to say then, that features like SIP and the SSV are genuine turns away from Unix per se
At the end of the day UNIX is an operating system. A dead operating system that hasn’t seen a release outside of Bell Labs since the 80s and even 10th Edition was 1988, and never distributed.
A branch of it persisted through System V and its variants, then it became a spec, then operating systems started calling themselves UNIX according to that spec whether they were Systems V offshoots or reconstructions stemming from Net/2.
We’ve been genuine turns away from Unix per se since before I was born. The SUS and POSIX lets people pretend like we’re not.
IMO, that's a pretty poor summary of how the "Unix Wars" really ended. Bell UNIX got productized into System V, and the trademark was dumped off on TOG.
But "Unix" was really more of an ideal. The ideal system may not have existed, but a lot of people saw the potential of the flawed heaven in there. Including Stallman and Torvalds. Imagine "Industry-standard APIs" which are actually non-negotiable, and not just some compliance-test. Well, you need the source code, right? We have a much better "unix" now than we ever had with "UNIX".
The “Unix Wars” battle lines were drawn in 1988 with the formation of the X/Open Group and Unix International, the same year Bell Labs put together the 10th Edition’s manual, more or less demarcating its release according to their own conventions even if it wasn’t sold nor distributed. Their next project was Plan 9.
Incidentally this was also the year of the last major version of AT&T’s System V, System V Release 4. There would be a couple more minor releases after that, but there was never a System V Release 5.
> The ideal system may not have existed, but a lot of people saw the potential of the flawed heaven in there. Including Stallman and Torvalds.
I don’t think Stallman nor Torvalds ever saw anything so romantic in UNIX. You could ask them, but it doesn’t jive with well anything in the historical record.
> We have a much better "unix" now than we ever had with "UNIX".
We have better operating systems, yes, and for a price and some elbow grease, some of them can even use the UNIX trademark which checks a box for some people who might care about that sort of thing.
9front it's the last 'Unix' release after Unix v8 and Unix v10.
Then that would be Inferno, given how little Plan 9 shares with UNIX, and Inferno had the same authors.
Plan 9 isn’t UNIX. 9front isn’t Plan 9 from Bell Labs.
The visceral response to the statement:
> To the Unix purist, this might appear wasteful and unnecessary, but macOS isn’t, and never has been, Unix. It’s a closed-source proprietary operating system designed for use by millions of consumers and regular users. Rather than configuring it using config files or its thousands of property lists, its controls are largely exposed in System Settings, with a few settings hidden away and only accessible through the defaults command.
Is really, really interesting to me, because so many people (including the author) are so invested in the question of whether or not "macOS is Unix". There's so much signaling happening here, people throwing around UNIX all-caps, talking about certifications, the "good parts" of UNIX, that macOS "[is] quite literally [UNIX]", while seemingly missing the author's intention entirely.
You don't have to agree with the author, but a good faith interpretation of "macOS isn’t, and never has been, Unix" should be obvious in its meaning. Yes, macOS 26 has been certified by The Open Group to be compliant with the Single UNIX Specification.
You know what else is UNIX certified? IBM's z/OS. Yet I don't think people would be clambering to say that z/OS's USS is "quite literally UNIX" with the same ferocity.
The point the author is clearly attempting to make is that the idea and system of macOS is not Unix. Even if macOS is, legally speaking, "UNIX®", it was not made to be UNIX®. macOS is not built to adhere to the "UNIX® philosophy". The fact NextStep and OS X after it were BSD-compatible is an implementation detail -- a useful one at that -- but an implementation detail nonetheless. It's like Android's use of the Linux kernel underneath. Yes, Android is Linux, but there's a reason why there's a vocal community of people who champion "Real Linux smartphones". Android uses Linux, but Android isn't defined by Linux.
I'm not trying to prove anyone right or wrong here, I just want to give my three cents on the matter. I would call macOS "unix-y" because it's close enough to being a "unix" to be comfortable on the CLI, but I've touched the unix "heart" enough to know it still smells like 2005-ish FreeBSD, largely frozen in time.
Of course, that's good enough for most things. But then, does that make Windows a Unix-like, just because it can run Linux ELF executables via WSL1? Conceivably, if Microsoft cared, they could get UNIX® 03 certification via WSL1, WSL2, or some hacked together reincarnation of SFU with parts from WSL1.
Yes, I know, macOS has a "real" BSD core, and a "real" unix heritage through BSD and OSF/1. The point is that it's not hard (IMO) to see where the author is coming from saying "No, macOS is not a Unix".
(I disagree with him for different reasons -- he ambiguously implies that "Unix" means being open-source, for instance -- but I agree that macOS as a platform is not very Unix-y, even if it is UNIX®.)
The analogy with Android and Linux is dead-on. As is the confusing language with which people talk about these things. "Android isn't Linux" and "macOS isn't Unix" aren't quite the right way to express the sentiments and thoughts behind them— even when those sentiments and thoughts are themselves clear and reasonable.
I don't think Apple's choices to deviate from the Unix standard are necessarily for the worst; many are for the better! But their cultural deviation from the norms of the free Unices and Unix-likes is part of what makes computing on macOS feel constraining and frustrating to me. It seems like that sense of disappointment (shared by many others), and defensiveness in response to it, end up driving a lot of discussions around this.
"UNIX® philosophy" doesn't exist, that is a religion like discussion about UNIX spread by FOSS people while arguing for GNU/Linux with their endless list of command line options.
I use UNIX in various flavours since being introduced to it in 1993 via Xenix, and cannot name a single one where this was ever true.
In terms of practical usage, imo it doesn't matter whether macOS is Unix - it's certainly not Linux. The shell is different, the bundled utils are different, the filesystem, configuration and tooling is different enough that if you try to run anything beyond the most basic scripts written for Linux, they will not work.
Which means macOS is a separate platform you need to learn and support.
By this standard, WSL2 is much more Linux than macOS.
>You know what else is UNIX certified? IBM's z/OS. Yet I don't think people would be clambering to say that z/OS's USS is "quite literally UNIX" with the same ferocity.
Does "Unix" still carry some special cachet these days? Linux is more "Unix-like" than MacOS for the reason articulated in the article, but you'll see commenters leap to MacOS's defense by pointing out that MacOS is "literally UNIX".
I think it's a sentimental thing, mixed with a dash of elitism/"purity seeking".
I don't mean that harshly. In my late teens/early 20s, I went through a "phase" where I obsessed with getting "purer and purer". This was mixed with a weird obsession with non-x86 hardware, as well. Lots of NetBSD, FreeBSD and Illumos usage, some Plan9 towards the end, lots of intellectual snobbery about "it feels better", and that sort of thing.
I'm almost 30 now, and my office has "Unix" systems from the 70s up to, well, my M1 MBP with "UNIX®" on it. PDP-11, VAX/ULTRIX, SPARC/SunOS 4, MIPS/IRIX, Alpha/OSF1, I've given them all a spin, running existing software and writing new software to kick the tires of old compilers. That's why I feel comfortable saying macOS really, really doesn't feel like any "UNIX" that I associate with "UNIX".
Although, UNIX was always a confusing term which never really meant all that much to begin with (when talking about commercial OSes/hardware platforms), but that's a whole other conversation...
4 replies →
Back in the early 2000s, RedHat did a study and found the UNIX brandname actually had negative value among IT managers. They saw it as "expensive, proprietary, incompatible" etc. Meanwhile Linux was seen very positively. (So yeah nobody cares, not even the Mac users who pretend to.)
> Conceivably, if Microsoft cared, they could get UNIX® 03 certification via WSL1, WSL2, or some hacked together reincarnation of SFU with parts from WSL1.
They probably could if they really want to.
https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
The Windows NT kernel was designed to extend and embrace .
None of those things are at all desirable. setuid uucp? Security nightmare. strictatime? Not needed. Linux doesn't do it either.
Apple has retained the good parts of UNIX and ignored the shitty parts. In the end, it is more UNIX than Linux is.
Yeah, like a really shitty ancient version of bash. If that's what UNIX means to you, I'm not gonna yuck your yum, but what could be more UNIX like than letting license issues make life worse for your users.
Hey, at least it isn't *BSD! (Or, well...)
bash doesn't mean UNIX, in fact UNIX means being able to chose your shell.
macOS switched to zsh a while ago. i don’t see what that minor choice has to do with being or not being UNIX.
[flagged]
I don't disagree, but what does that possibly have to do with macOS being a Unix or not?
fantastic point… about… what? certainly not TFA…
[dead]