mrweasel
7 hours ago
So for those who, like me, wonders why Apple keeps getting macOS Unix certified, it's to avoid a lawsuit. Apple misused the Unix trademark when they first launched MacOS, so to avoid legal trouble with The Open Group, Terry Lambert was put in charge of getting MacOS Unix compliant and certified: https://www.quora.com/What-goes-into-making-an-OS-to-be-Unix...
It's basically the only relevance the Unix trademark has these days. I can't imagine many companies choosing macOS because it's a real Unix, nor would anyone really opt out of z/OS, AIX og HPUX, if they where not certified.
ajdude
7 hours ago
> I can't imagine many companies choosing macOS because it's a real Unix, nor would anyone really opt out of z/OS, AIX og HPUX, if they where not certified.
While Unix compliancy isn't what's keeping me on macOS, the Unix tools it has under the hood still is. I've opted to use it over Linux because I still get everything that I need from a "Unix like" standpoint while having some serious enterprise level support and compatibility with work software that's often only available for windows or Mac.
If Apple stopped caring about being Unix compliant, I wouldn't be surprised to see the tools and infrastructure that make it Unix (and useful to me) slowly be removed. Then I'd stop using it.
mdasen
6 hours ago
I'd say that you care about it being UNIX-like, not UNIX®. You don't care that Linux isn't UNIX. You don't care that GNU versions of things like ed and awk are slightly off-spec.
In some ways, Apple's adherence to UNIX specifications probably makes macOS less useful for you. For example, I wish that grep on macOS was closer to GNU grep. When I look up commands online, I often find answers based on the GNU implementations. Those often work on macOS, but sometimes don't (or have subtly different behavior) because macOS is adhering to the UNIX specification rather than to what those utilities do on the vast majority of systems out there.
I don't think Apple would be removing UNIX-like tools from macOS even without certification. They know how valuable it is that most developers use their systems. Even Microsoft went so far as to implement the Windows Subsystem for Linux for developers. At this point, I think that UNIX certification makes macOS less compatible with the tools and help out there which generally targets Linux. Usually the differences are small, but they certainly can be meaningful.
skissane
18 minutes ago
> In some ways, Apple's adherence to UNIX specifications probably makes macOS less useful for you. For example, I wish that grep on macOS was closer to GNU grep. When I look up commands online, I often find answers based on the GNU implementations. Those often work on macOS, but sometimes don't (or have subtly different behavior) because macOS is adhering to the UNIX specification rather than to what those utilities do on the vast majority of systems out there.
UNIX certification is not the reason why macOS utilities are missing options compared to GNU - UNIX standards say you have to have certain options which work a certain way, they don’t prohibit adding additional options as vendor extensions. The reason is that Apple’s investment in improving these tools is minimal because it is a low priority for them, and because people who get annoyed by this often just end up installing the GNU tools anyway (using Homebrew or MacPorts)
In fact, GNU/Linux systems have been certified as UNIX in the past, by a couple of different Chinese vendors (Inspur K-UX, Huawei EulerOS)-which shows use of the GNU tools is no inherent obstacle to certification. The reason these vendors stopped, I suspect, is the money it was making them was smaller than the certification costs and UNIX trademark license fee
lucideer
5 hours ago
> I don't think Apple would be removing UNIX-like tools from macOS even without certification. They know how valuable it is that most developers use their systems.
I hope you're right but I'm not as confident. Corporations - Apple included - have been guilty of some surprising ignorance when it comes to things like this. I'm thankful for this certification circus to continue so that we don't need to test your theory.
selimnairb
2 hours ago
Yeah, except Apple dogfoods macOS to build most of the software for Macs and everything else they make. Presumably they rely on UNIX-like tools and would have to retool as well. So why mess with what’s working for them and others?
Avamander
6 hours ago
Built-in grep is thankfully not as odd as the builtin find is. Might be the first one I replace on my systems.
pseudocomposer
5 hours ago
Given that both grep and find are weird/inconsistent between BSD/GNU versions, and I typically use them piped together for the same things anyway, I’ve found that ripgrep is a nice/faster/universal alternative that is pretty unproblematic to install in whatever environment I want: https://github.com/BurntSushi/ripgrep
bawana
2 hours ago
But isnt that what AI is for? Writing syntactically correct regexes?
zeckalpha
4 hours ago
Some Linux distros have gotten certified. I assume they have released necessary patches as required by GPL.
pxc
4 hours ago
I don't think any patches are required. It's literally just a matter of going through the certification dance for the average distro.
mdasen
2 hours ago
There are patches required. Many GNU utilities are very close to the UNIX spec, but not quite the UNIX spec - including glibc. But making a Linux distro that is UNIX certified would likely make it a worse Linux distro for most people since it would be less compatible with what everyone is assuming for a Linux distro. A lot of the differences are subtle edge cases, but do you really want that in your distro?
It's not just about going through a song-and-dance. It's about making an OS that has different behavior - often very tiny differences, but differences that would make the distro worse for most users.
skissane
10 minutes ago
> It's not just about going through a song-and-dance. It's about making an OS that has different behavior - often very tiny differences, but differences that would make the distro worse for most users.
Is this actually true? Can you give a real example of where Huawei EulerOS or Inspur K-UX are inferior to their non-certified base (yet another Red Hat Enterprise Linux clone) due to their UNIX certification?
gsnedders
2 hours ago
How close are the GNU coreutils with the POSIXLY_CORRECT environment variable set?
I wouldn't be surprised if there were still patches required, but at least on the face of it that should get you most of the way there.
swiftcoder
3 hours ago
Don't you have to ship the BSD-compatible versions of grep et al?
pxc
2 hours ago
I'm not sure why you would. I don't think POSIX generally specifies the behavior of command line tools in such a level of detail. FWIW, the regex type used by default by GNU Grep is already POSIX's Basic Regular Expressions. (It also supports POSIX Extended Regular Expressions and PCRE2.)
Afaik, EulerOS and other Unix-certified Linux distros just ship the usual GNU userland.
mdasen
2 hours ago
The Single UNIX Specification does specify the behavior of many command line tools like ed, grep, awk, etc. OpenBSD sometimes notes where their tools vary from the UNIX spec. It's usually very small ways that don't matter to most people, but it does put them outside of the UNIX spec.
mechanicum
6 hours ago
> because macOS is adhering to the UNIX specification
Isn’t it rather that Darwin was based on BSD 4.4? I’d imagine GPL 3.0 is a bigger impediment to them ever migrating to GNU tools than any desire to be UNIX certified.
p_ing
5 hours ago
https://developer.apple.com/library/archive/documentation/Da...
It derives from 4.4 BSD but it's more than that.
macOS includes a woefully outdated bash 3.2 due to GPL 3.0; they switched to zsh long ago.
cesaref
6 hours ago
brew install grep?
latchkey
5 hours ago
brew is such a treasure.
eric_h
4 hours ago
and kind of a counter point to the GGGP's "Unix compliancy isn't what's keeping me on macOS, the Unix tools it has under the hood still is."
I certainly replace a large chunk of the "unix tools under the hood" with tools installed via homebrew.
EPWN3D
an hour ago
There is absolutely no way that happens. Apple cares about Unix compatibility for very good business reasons. Apple gets a lot of value from being even just Unix-ish. It's the same reasons Microsoft eventually knuckled under and made WSL -- the ubiquity of Unix conventions and tooling is just too cemented in the industry.
POSIX conformance is a cherry on top, and it helps get them certain sales that require a conforming Unix. But that's not the real value to the platform.
zitterbewegung
6 hours ago
While macOS only really gets Unix certified they design of the flavor of unix from FreeBSD. Homebrew is also the best port system and package manager I have ever used because it requires no thinking. I actually dislike using Linux because now I have to learn the replacement from ifconfig, the creation of launchd IMHO is way better than init.d and systemd, and the command line diskutil and other additions still feel like its more Unix like while Linux feels like its moving toward its own thing. Before I was using macOS I was using OpenBSD as my daily driver since high school. I still don't understand though why Ubuntu has the ability to break /boot because there isn't enough space to add another kernel to there...
samgranieri
an hour ago
Homebrew is pretty nice. I think it's better than Fink (mac DPKG), and MacPorts (mac Freebsd-based). I'm actually using homebrew right now on ubuntu 25 for a few packages that I don't feel like compiling from source or installing from some random PPA or apt source.
All that being said, I've spent some time on Arch, and I really like pacman and the AUR setup. And all that documentation is just amazing. I really didn't understand systemd before I read the archwiki article on it.
SystemD I think was a bit inspired by Launchd.
StopDisinfo910
5 hours ago
I’m going to comment on the homebrew part because well that’s your tastes but I personally think it’s the worst package manager I have ever used and is not really a port system so opinions do vary here.
> I have to learn the replacement from ifconfig
MacOs switched to networksetup and ipconfig a long time ago. Ifconfig is not recommended so the situation is exactly the same than on Linux here.
> launchd IMHO is way better than init.d and systemd
Systemd is basically a more complete and better designed launchd. Having used both I have trouble thinking of anything launchd does better.
> the command line diskutil and other additions still feel like its more Unix like
Diskutil is a MacOS only tool. I’m a bit lost about what your argument is here.
Linux still use fdisk and dedicated tools to create file systems exactly like on FreeBSD or any other Unix. It’s MacOs doing its own thing here.
zitterbewegung
5 hours ago
Thank you for correcting me I appreciate it I will use those new commands.
pxc
2 hours ago
How is launchd better than systemd? I find the commands much more verbose and the documentation more obscure
makeitdouble
5 hours ago
It's not for everyone, but at some point I got tired of the FreeBSD layer being there but not cared for, and WSL+git for windows kinda provides a decent compromise in that regard.
The thing I hated the most was spending time building installation scripts or running images for the prod environment, and then go fight macos to replicate the same setup locally. Especially having parralel installs for the system and my user account was a PITA.
One would argue I could just dev on the docker image as well, but then being on a somewhat unixy OS doesn't matter much anymore.
WSL let's the Windows side live it's life (shell level tools can still be injected for convenience), and the linux side be genuinely Linux, not some ersatz, and duplicable to one's heart content. It's still less pain and better perfs than straight docker, and just extremely well integrated in general.
StopDisinfo910
5 hours ago
Considering the core utils have even been ported to Windows, I don’t really see what you would lose.
The Unix don’t really share much between each other apart from a small core.
pjmlp
5 hours ago
While true, there are still speed bumps on Windows.
One is better using the Windows alternatives.
StopDisinfo910
5 hours ago
The initial argument was that MacOS is nice because it has the core Unix tool. I find this baffling because MacOS has very little to do with a traditional Unix apart from the certification and the core utils are literally usable on approximately anything.
Speed bumps regarding what?
I’m mostly using Linux nowadays but when I have to use Windows, the experience is fairly ok. The tooling when you want to manage it is imho superior to what Apple provides. I’m not used to develop on it but I have seen people do and it didn’t seem particularly worse than Linux-like environment.
Not that I really have anything against MacOS. I think it’s neglected by Apple and not as enjoyable as it used to be. I dislike Apple and the policies it’s pushing for. Nevertheless, it’s ok to use. Everything pretty much is nowadays.
yndoendo
3 hours ago
When producing cross-platform software I find creating it on Linux first to be the most cost effective. Porting it to macOS has the least resistance. Windows is where it cost more time and code to release.
macOS, Linux, and BSD treat CMD and GUI applications the same while Windows separates applications. Window's two type of application approach brakes the ability to use STDIN and STDOUT for logging and other useful means. Simple debugging of `./app > app.log` does not work on Windows with `app.exe > app.log` with GUI applications. The Windows variant needs a specialized logging system and more boilerplate code.
Windows also has one of the worst automation system when it comes to solution deployment. One needs to create custom mouse and keyboard emulation scripts to automate the installation of 3rd party applications when their installer does not support silent mode. AutoIT helps me with this greatly.
kid64
2 hours ago
Windows does have quirks: MSI installers, Inno Setup, NSIS, and custom EXEs may or may not support silent mode. When they don’t, automation is ugly (AutoIt, AutoHotKey).
But Windows also has strong automation tooling: PowerShell, WinRM, Chocolatey, Winget, MSIX packaging. These provide far more than “mouse and keyboard emulation.”
So your statement ignores the modern ecosystem and overstates the weakness.
yndoendo
an hour ago
Please note, you are assuming I have the ability to control the version of Windows the product lives on. Some products still have to support up to Windows XP.
Also the PowerShell is actually broken. I can use standard network powershell commands that brake the OS applied to network interfaces. Currently waiting on a laptop with bare metal Windows installation to verify if those sanitized PowerShell commands are crashing the VM or Windows itself.
.NET for the longest time was broken with _NetworkInterface.GetAllNetworkInterfaces()_ only returning enabled NICs. This was finally fixed in .NET 9. Work around his to go WIN32 custom coding when older .NET must be used.
.NET WPF touch screen event messaging system is also broken where it would latch depending on how the finger is swiped off a button. Had to dump that and go with WIN32 as work around so that bug didn't have the capability to crush someone's appendage when being used in machinery.
The registry system the OS is built upon is flawed. It does not have well defined layout such as a configuration file.
pjmlp
5 hours ago
If you mean UNIX System V via green phosphor text terminals, thankfully not.
Speed bumps regarding compilation of tooling written with UNIX semantics in mind, without taking into consideration Windows development culture and OS semantics.
StopDisinfo910
5 hours ago
What are these mythical Unix semantics?
Linking to Glibc? Sharing a roughly similar file system structure? Expecting bash to be there?
Because from where I stand the people that care about BSD have spent the past decade complaining it’s getting more and more complicated to port Linux software so I’m very curious to know what the common DNA is supposed to be.
pjmlp
3 hours ago
Everything that UNIX has and Windows doesn't.
StopDisinfo910
an hour ago
That’s as vague as it gets. The amount of things various Unix have in common is, well, not that much. Not that people care in any way because frankly speaking no one uses Unix.
I get that you meant is probably that MacOS is close enough to Linux that you can somehow pretend it is the same when developing things which are ultimately going to run on Linux.
To which I say, I personally think that buying Apple is wasting a lot of money for something which would work fine in a VM but well, that’s nice aluminium I guess.
qmr
6 hours ago
> I still get everything that I need from a "Unix like" standpoint
Everything except a package manager!
philistine
5 hours ago
With the way Apple is running its App stores, do you honestly believe that we would benefit from an Apple package manager?
I'm convinced the devs inside Apple know what I'm saying as well, and are giving as much help as possible to Homebrew to keep it independent. There is some small proof, Homebrew was considered very highly during the DTK rollout for Apple Silicon.
zitterbewegung
6 hours ago
Majority of people use homebrew. There is also macports.
pjmlp
5 hours ago
UNIX never had a package manager.
Those that have one, it is not standard.
mickael-kerjean
6 hours ago
There are some infuriating issues though, I have wiped out a couple files on OSX using sed with the -i option to replace a text within a file only to realised OSX would wipe it out instead ....
pjmlp
5 hours ago
It is also relevant, that as proven on FOSDEM corridors full of Apple laptops, most folks only care about some sort of POSIX experience, and couldn't care less about Linux/BSD religion.
So that target audience gets a cool modern experience, without fighting with driver issues and such.
It is also the reason why Microsoft ended up bringing Project Astoria from the ashes into WSL.
UNIX has won, but not as Richard Stallman would have liked to.
kasabali
3 hours ago
AFAIK Stallman didn't care about UNIX, considering he is more of a LISP guy. GNU targeted UNIX because it was the popular OS at the time.
drob518
5 hours ago
Nailed it.
bigyabai
4 hours ago
I don't think Richard Stallman much cares. The first thing every programmer does on a Mac is install GNU software.
pjmlp
3 hours ago
Not really.
bigyabai
3 hours ago
Sure, I guess. I'd love to meet this "real developer" who doesn't git pull anything to their Mac.
Me, I live in the real world and got dotfiles to clone.
pxc
2 hours ago
Git's not a GNU project.
Fwiw, though, I personally do use a ton of GNU software on any Mac I touch: coreutils, grep, sed, find, parallel, GCC, autotools, make, gdb, Emacs, and maybe some GNU Java stuff for LibreOffice, Bash. Most developers on macOS probably use at least a couple of those.
dwaite
2 hours ago
Because of the heavy push to GPL v3 by GNU, and because Apple’s interpretation of the license’s patent requirements prevented any GPL v3 code use, very few GNU projects remain as part of macOS.
Git is not a GNU project and is GPL v2.
pjmlp
2 hours ago
Hello.
Install everything XCode and use proper UNIX tools already installed.
mdasen
7 hours ago
That explains why they got it UNIX certified back then, but couldn't they stop advertising macOS as UNIX and stop getting it certified? They even changed the name from Mac OS X to macOS since then.
crazygringo
7 hours ago
That's my question too, why continue to bother? Apple doesn't even have any separate "Server" OS anymore. I can't find anything mentioning UNIX on any apple.com marketing pages.
I guess it's just, might as well keep it going, as an option for future marketing if ever needed. Maybe it helps the salespeople in some enterprise deals? I mean, if it doesn't really cost anything to keep it.
kstrauser
6 hours ago
My (wholly unsupported) guess is that there are government or megacorp bids somewhere for Unix systems for employees, and this checks that box. The buyer could update their requirements, but why do that when you can just make your vendor jump through the hoop?
drob518
5 hours ago
Probably a government contract.
btown
3 hours ago
Not at Apple and don't have any knowledge here, but I'd imagine that the UNIX test suite, ever since it began passing, has been a useful set of additional regression tests even outside the certification context.
Does anyone want to be the person that removes regression tests from active use, only to be responsible when something breaks that would have been caught by that test? Far easier to just fix your code so the test passes.
(And for many years, OS X then macOS had a reputation for being rock-solid, capable of going much longer betwen restarts, going into BSOD much less frequently than Windows would. Having a set of third-party tests certainly didn't hurt this!)
mrweasel
3 hours ago
I obviously don't know, but I could easily imagine that Apples legal team has flagged it as a potential risk and the cost of keep the certification up to date is minimal, compared to some imagined risk. Safer to pay the fee, and not having to worry about someone at Apple accidentally calling macOS a Unix system in public.
Also, Apple is a huge company, there's the question of who's going to make the call the not update a certification that's negligible within the scope of macOS development. Better to not be that person and just rubberstamp the invoice from The Open Group. If management disagree, they can make the call, but they won't because the cost is to small for them to deal with.
randall
7 hours ago
there’s no downside as far as i’m aware.
mdasen
6 hours ago
There isn't much downside, but it probably involves a small amount of money (paid for the certification) and it means spending time making sure that everything remains 100% within spec. There's lots of little edge cases where BSDs differ from the spec and it means that Apple needs to take care not to drift from the spec.
jorams
10 minutes ago
As pointed out by amiga386 both here[1] and in earlier posts, macOS is not actually compliant with the Unix spec and never has been. This has apparently not been a hindrance for the certification of every single non-compliant version. Unix certification for Apple might not involve anything other than payment.
al_borland
6 hours ago
Apple remaining in spec sounds like a good thing from a compatibility point of view.
Am I missing something? I’m not sure why it’s coming off like people are complaining about this?
Analemma_
5 hours ago
It’s a spec that doesn’t really matter in practice. Like some other comments said, Linux, BSD and Solaris are “Unix but not Unix(tm)”, and nobody cares.
bawolff
6 hours ago
Presumably certification costs money (?)
monkeyelite
6 hours ago
Probably a small amount especially when they just need to tell them what changed
bawolff
33 minutes ago
Given how little their target market cares about being a "real" unix, a small amount is probably more than the benefit it brings in.
hopelite
7 hours ago
Famous last words
jeremiemyhren
6 hours ago
I think it’s a quiet but deliberate strategy to keep macOS the spiritual successor to NeXTSTEP. While many of Jobs principles are under pressure at current day Apple, his ghost lives on.
hollandheese
4 hours ago
I think you mean literal successor. It's descended from NeXT's codebase. Mac OS X 10.0 was basically NeXTSTEP 6 with Apple logos, Carbon and a Mac OS 9 VM.
spijdar
24 minutes ago
There's a "ship of theseus" problem with this idea. There's enough different about OS X (different kernel and BSD base, different display server, different driver stack) that I think it's fair to describe it as a separate OS, yet clearly a lot _is_ directly taken from NS, especially the ObjC/application layer stuff. The waters are further muddled by the existence of Rhapsody and OS X Server 1.0, which are much more clearly "NeXTSTEP 6 with Apple logos, Carbon and a Mac OS 9 VM". I don't think anyone outside the original OS X development team really knows just how much code was kept vs scrapped for the start of OS X development. Given that NS/OS was based on USL-encumbered BSD, it seems likely to me that nothing from the original NS kernel was kept for that, at a minimum.
monkeyelite
6 hours ago
This also doesn’t explain anything? Is getting Unix certified a jobs principle or a requirement to be a “spiritual successor”?
pjmlp
5 hours ago
Jobs was very much anti-UNIX and is relatively easy to find it out.
NeXTSTEP had to support UNIX, because that was the workstation market they were after.
However notice how everything relevant for NeXT products was based on Objective-C userspace tooling and frameworks.
blablabla123
4 hours ago
Literally the only reason that kept me on the platform until recently despite becoming increasingly hostile to developers...
cramcgrab
6 hours ago
You forgot solarius, well, so did oracle.
mrweasel
3 hours ago
I don't think Solaris is Unix certified anymore. It was previously, but the current supported versions are not.
igravious
5 hours ago
Used to work with UNIX servers in the early 2000s but out of that sector for coming up on two decades -- are z/OS, AIX and HPUX (and other old big iron enterprisey UNIXen) still around? I would have thought that Linux had killed them all of by now. Excuse my ignorance!
pjmlp
5 hours ago
They definitely are, not all though, HP-UX is on life support.
However Aix, Solaris (and Open Solaris derivatives), z/OS, IBM i (AS/400), ClearPath MCP, OS 2200, are still being updated and sold.
That list is not only UNIX systems.