I’ve always thought POSIX compliance is the primary thing vendors should be targeting for portability. I was trying to find something that would explain the difference between POSIX and UNIX compliance, but there’s not great sources on this specifically.
I imagine UNIX is a superset of POSIX, I’d be curious if anyone knows of a simple comparison between the two?
It's absolutely wild. They've broken multicast and UDP for all applications that do not pay Apple money (like open source, community coded ones). Which means things like mouse/keyboard sharing applications like synergy/barrier/etc stopped working in many cases. But that's just the tip of the iceberg. And there's no way for a human to control this "multicast entitlement" on their own OS how they like it. The only way for applications on Sequoia to have multicast network access is for some commercial developer pay for it.
This is very not Unix. Careful out there "up"grading.
Both of your links refer to that entitlement being required on iOS, not macOS, are you sure it applies to Mac (and if it does, does that even matter given non-app-store-apps can assert whatever entitlements they'd like with impunity)?
It sounds pretty classically Unix to me. If the entitlement comes on a slip of paper they have to mail you, perhaps in an otherwise empty box or a FedEx envelope, it REALLY sounds like Unix.
The slow crawl of locking down Macs has made me consider abandoning the platform. I think I’m done with Macs. Might hold on to iPhones, but I want to be able to use my phone however I want, too.
Is it possible to get around the authorization requirement if you don't get your app notarized? Obviously that makes it harder to distribute it and to convince people to install it.
Those who choose to buy, use and develop for Apple systems supposedly know what they want and deserve to get it good and hard - free after H.L. Mencken
Sincere question: why would those kinda of apps need multicast? I don't know much/anything about them but it seems to my naive eye like they'd use plain old unicast UDP.
Your link is about iOS. macOS is not concerned. Also, that makes sense to have a UNIX certification for macOS, not much for iOS, which is a different kind of platform.
I remember a time when this mattered in terms of branding (Mac OS X being a Unix). It meant that the OS was “industrial-class”. This was against a backdrop of Macs not being seen as serious machines, unlike Windows machines which were more “corporate”.
But nowadays macOS is so pervasive that a Unix certification doesn’t buy much brand cachet. Perhaps it might help for specific compliance requirements but those are likely the minority.
> It meant that the OS was “industrial-class”. This was against a backdrop of Macs not being seen as serious machines, unlike Windows machines which were more “corporate”.
I’ve always wondered, since back when OS X 10.5 got apples first Unix certification.
What does that help you as a developer? Can you just download the spec for free, built against it and have a working app for several platforms that not only compiles and runs but also behaves the same on all of them?
The linked page lists some SCO, IBM, and HP products. I have no idea how relevant any of those are. Is macOS the only remaining Unix with significant a significant user base?
It is, after all, a great tradition of UNIX™ systems to install the OS... and then immediately install GNU tools on top to make it less painful to work on. This is just macOS carrying the banner proudly:P
That's so true. The OS ships with certain things preinstalled, but you can install other or newer versions of them.
And if I found myself in a shop where I needed to use standard command line tools to do my job but wasn't allowed to install or update them, I'd be looking elsewhere because life's too short for that bureaucratic overreach.
I hear horror stories like bosses not allowing their employees to choose their own tooling. Pretty much any office like that which doesn't have armed soldiers guarding the building deserves ridicule.
I love how Apple basically cp -R BSD, became the most profitable company in the world off it and gave nothing back except a walled garden and lock in. But hey it’s still technically Unix.
If you actually look at Apple's history with these, it's embarrassing for Apple.
Apple effectively abandoned CUPS when Michael R. Sweet left the company, which is why the OpenPrinting fork exists. For something like a year they let the project languish and accepted virtually no patches, either. No one but Apple uses Apple CUPS anymore.
Darwin is subject to periodic, incomplete code dumps to the point that for decades even getting it to build has been a struggle that includes tons of downstream work. At the moment, such efforts are in a historic slump; no recent stack is usable for anyone and it's been that way for years.
WebKit was a hostile fork (without any history of antagonism to motivate it) of KHTML, essentially classic code-over-the-wall stuff. Its original announcement was cause for consternation in the F/OSS community, not celebration.
LLVM I don't know much about the governance and maintenance of. Maybe someone else can speak to that.
But as useful as LLVM and WebKit have been to downstream projects, Apple's record with open-source is mixed at best.
Ah CUPS, that software which just received some CVEs for decades old security vulnerabilities
Also, Darwin is more of a hypothetical thing. There was a time when they actually released CD images IIRC, but that was a long time ago. I haven’t seen a pure Darwin installation in probably almost 20 years now.
To be fair, all of those started as FOSS outside of Apple. LLVM came from academics at UofI, CUPS has been around since forever and they just bought it and started paying the main dev, Darwin came from pillaging NeXT, and Webkit famously was based on KHTML from KDE.
It still drives me up the wall when people think that Apple created Webkit. Just another FOSS project that Apple forked. Not only that but they didn't want to play nice with the original project so KHTML was dead within years.
I’ve always thought POSIX compliance is the primary thing vendors should be targeting for portability. I was trying to find something that would explain the difference between POSIX and UNIX compliance, but there’s not great sources on this specifically.
I imagine UNIX is a superset of POSIX, I’d be curious if anyone knows of a simple comparison between the two?
Far as I can tell, the Single Unix Specification (SUS) is POSIX plus one extra standardized api, namely curses.
It may be "certified" but that hardly matters when MacOS Sequoia is a pay-to-access-networking operating system. https://developer.apple.com/forums/thread/663875 https://developer.apple.com/documentation/bundleresources/en...
It's absolutely wild. They've broken multicast and UDP for all applications that do not pay Apple money (like open source, community coded ones). Which means things like mouse/keyboard sharing applications like synergy/barrier/etc stopped working in many cases. But that's just the tip of the iceberg. And there's no way for a human to control this "multicast entitlement" on their own OS how they like it. The only way for applications on Sequoia to have multicast network access is for some commercial developer pay for it.
This is very not Unix. Careful out there "up"grading.
Sounds pretty much AT&T UNIX to me, after they were cleared to profit, or how Sun had the great idea about UNIX SDKs.
Both of your links refer to that entitlement being required on iOS, not macOS, are you sure it applies to Mac (and if it does, does that even matter given non-app-store-apps can assert whatever entitlements they'd like with impunity)?
They haven't finished updating their docs. This lockdown applies starting in Sequoia to the desktop OS. Here is an explaination confirming my statements: https://forums.developer.apple.com/forums/thread/757824
"Apple is bringing some networking protections over from iOS to macOS starting with Sequoia. Please see the following links: https://developer.apple.com/videos/play/wwdc2024/10123?time=... https://developer.apple.com/forums/thread/663858 https://developer.apple.com/videos/play/wwdc2020/10110/ "
I'm already fielding questions about this from affected Mac OS Sequoia users in the #barrier IRC help channel.
It sounds pretty classically Unix to me. If the entitlement comes on a slip of paper they have to mail you, perhaps in an otherwise empty box or a FedEx envelope, it REALLY sounds like Unix.
The slow crawl of locking down Macs has made me consider abandoning the platform. I think I’m done with Macs. Might hold on to iPhones, but I want to be able to use my phone however I want, too.
Is it possible to get around the authorization requirement if you don't get your app notarized? Obviously that makes it harder to distribute it and to convince people to install it.
Those who choose to buy, use and develop for Apple systems supposedly know what they want and deserve to get it good and hard - free after H.L. Mencken
Sincere question: why would those kinda of apps need multicast? I don't know much/anything about them but it seems to my naive eye like they'd use plain old unicast UDP.
mDNS would be one thing - e.g. anything like Sonos, or the Shelly (IoT hardware) apps that can look for devices on the local network.
Your link is about iOS. macOS is not concerned. Also, that makes sense to have a UNIX certification for macOS, not much for iOS, which is a different kind of platform.
Disable SIP, do whatever the f* you want.
Isn’t this only required for App Store distribution/hardened runtime?
You can build local open src software without this.
Unix isn't necessarily or inherently free or open source? That was part of the reason Linus Torvalds created Linux?
Tthat sounds very anti-trust to me...
Although that might imply there must be a business involved that is wronged by their actions... and many open source programs do not have that luxury.
I remember a time when this mattered in terms of branding (Mac OS X being a Unix). It meant that the OS was “industrial-class”. This was against a backdrop of Macs not being seen as serious machines, unlike Windows machines which were more “corporate”.
But nowadays macOS is so pervasive that a Unix certification doesn’t buy much brand cachet. Perhaps it might help for specific compliance requirements but those are likely the minority.
> It meant that the OS was “industrial-class”. This was against a backdrop of Macs not being seen as serious machines, unlike Windows machines which were more “corporate”.
See FoxTrot comic from February 2002:
* https://www.gocomics.com/foxtrot/2002/02/25
I’ve always wondered, since back when OS X 10.5 got apples first Unix certification.
What does that help you as a developer? Can you just download the spec for free, built against it and have a working app for several platforms that not only compiles and runs but also behaves the same on all of them?
Generally yes, although that app would then obviously need to be restricted to only use POSIX APIs.
Relevant post / discussion https://news.ycombinator.com/item?id=29984016
Are there any other operating systems today that are Unix certified?
The linked page lists some SCO, IBM, and HP products. I have no idea how relevant any of those are. Is macOS the only remaining Unix with significant a significant user base?
Certified UNIX. Everything we associate with UNIX is not certified, including the BSD base that macOS obtained its UNIX behavior from.
AIX is still highly popular in certain industries where nobody gets fired for buying IBM.
HP-UX is still being released, not sure who is using it but it must bring in enough revenue to justify support.
SCO and whoever they sold to have been dead for quite a while.
... with some GNU components stuck in 2006.
GNU is not Unix...
"GNU is not Unix" is a name, not necessarily the truth.
See also: Lame ain't an MP3 encoder, natural gas, DPRK
3 replies →
Probably not a problem for anyone who needs compliance with a 2003 standard.
Doesn’t GNU literally stand for “GNU’s not Unix”
Stuck with GPLv2 basically.
homebrew is your friend here
It is, after all, a great tradition of UNIX™ systems to install the OS... and then immediately install GNU tools on top to make it less painful to work on. This is just macOS carrying the banner proudly:P
That's so true. The OS ships with certain things preinstalled, but you can install other or newer versions of them.
And if I found myself in a shop where I needed to use standard command line tools to do my job but wasn't allowed to install or update them, I'd be looking elsewhere because life's too short for that bureaucratic overreach.
I hear horror stories like bosses not allowing their employees to choose their own tooling. Pretty much any office like that which doesn't have armed soldiers guarding the building deserves ridicule.
I love how Apple basically cp -R BSD, became the most profitable company in the world off it and gave nothing back except a walled garden and lock in. But hey it’s still technically Unix.
Apple has made some substantial open source contributions.
- LLVM - https://llvm.org/
- They are the stewards of CUPS (Common UNIX Printing System) - https://www.cups.org/
- Darwin kernel is open source - https://github.com/apple-oss-distributions/xnu
- Webkit - https://opensource.apple.com/projects/webkit/
If you actually look at Apple's history with these, it's embarrassing for Apple.
Apple effectively abandoned CUPS when Michael R. Sweet left the company, which is why the OpenPrinting fork exists. For something like a year they let the project languish and accepted virtually no patches, either. No one but Apple uses Apple CUPS anymore.
Darwin is subject to periodic, incomplete code dumps to the point that for decades even getting it to build has been a struggle that includes tons of downstream work. At the moment, such efforts are in a historic slump; no recent stack is usable for anyone and it's been that way for years.
WebKit was a hostile fork (without any history of antagonism to motivate it) of KHTML, essentially classic code-over-the-wall stuff. Its original announcement was cause for consternation in the F/OSS community, not celebration.
LLVM I don't know much about the governance and maintenance of. Maybe someone else can speak to that.
But as useful as LLVM and WebKit have been to downstream projects, Apple's record with open-source is mixed at best.
- And the Swift Language - https://swift.org
Ah CUPS, that software which just received some CVEs for decades old security vulnerabilities
Also, Darwin is more of a hypothetical thing. There was a time when they actually released CD images IIRC, but that was a long time ago. I haven’t seen a pure Darwin installation in probably almost 20 years now.
I'm not sure Darwin has had much impact outside of Apple, Apple also tends to keep versions of it to themselves.
That said, the other contributions like WebKit and LLVM have had a wide and positive impact.
To be fair, all of those started as FOSS outside of Apple. LLVM came from academics at UofI, CUPS has been around since forever and they just bought it and started paying the main dev, Darwin came from pillaging NeXT, and Webkit famously was based on KHTML from KDE.
It still drives me up the wall when people think that Apple created Webkit. Just another FOSS project that Apple forked. Not only that but they didn't want to play nice with the original project so KHTML was dead within years.
3 replies →
I don’t think any BSD uses Mach, or Quartz, or Cocoa.
Apple (or NeXT) added Cocoa, which is/was were most of the value was coming from.