Euler has seeked POSIX 03 conformance back 5 years ago.
It's really not that hard to make any current *nix POSIX 03 conformant because they're already there. 03 was a long time ago.
There isn't a single version of Linux kernel that's POSIX compliant nor there is a single version of GNU userland. GNU's intentionally not compliant. Huawei made changes and put their code up for certification.
Systems such as Linux distributions and BSDs can be altered, brought to conformance and certified but nobody is doing that just for the sake of it. A time consuming, expensive, recurring process against someone else's standards body.
Linux is not Unix, or vice versa. The only thing they have in common is they're both POSIX style operating systems.
SCO tried to claim this back in 2009-2011, saying that Linux contained patented Unix code in the kernel. Forensic code analysis was done and not a shred of Unix code was found to be present in the Linux kernel. But in addition to that, they incurred the wrath of Novell when they claimed they held the rights to Unix. Novell put them in their place, SCO had only licensed Unix from Novell, they didn't buy the rights.
SCO is now dead and gone, bankrupt. Who knew trying to extort the entire world with threatening license fees to use Linux, and suing their own customers for using Linux would end badly for them. Their contempt and greed was their downfall.
There's no Unix code in Linux, and there never was. It was a fever dream by SCO executives trying to extort billions of people for licensing fees for using Linux. They're both POSIX operating systems that share some UI features and design principles so they look similar.
Binary compatibility is possible through emulation layers. It's been forever since I've run BSD, but there was a program called alien that could convert Linux packages into Unix compatible packages.
Lets drop in a bit of context here about the claim that Linux is UNIX.
- Linux is not an OS, it's an OS kernel, useless without init system, shells, and standard OS tools called the userland
- Torvalds used MINIX book and source in order to make a Unix-type operating system kernel that can run GNU userland
- GNU means "GNU's not Unix"
- The resulting operating system is actually called GNU/Linux
- There are other operating systems with GNU userland but without Linux kernel, mainly Debian/kFreeBSD.
- There could be other operating systems with Linux kernel but without GNU userland, mainly embedded.
Therefore no original UNIX source was used in the beginning in any aspect, kernel or userland.
GNU's name isn't a joke only, it's a outlook of philosophy too; they've modified stuff, long options come to mind, GNU-style make comes to mind and many others. This is intentionally not Unix compliant.
Now in BSD world, it's completely different. The system used to be full UNIX due to it being sourced from AT&T SysV via academic license. Still in that ecosystem, Berkeley made 386BSD version, which is that UNIX running in Intel. 386BSD was used as starting point for FreeBSD 1, NetBSD 1, and BSDi the commercial OS - the latter caused the lawsuit from AT&T because BSDi was commercializing System V code that was granted under academic license.
AT&T succeeded and BSDi had to legally move to 4.4BSD-lite, which is 386BSD with refactored parts of proprietary code. Through the conclusion of the lawsuit, FreeBSD and NetBSD were 'recommended' to move to 4.4BSD codebase too.
So around 1993 we have three clean Unix-like implementations that have no UNIX in the source code whatsover. GNU/Linux, FreeBSD and NetBSD.
The UNIX trademark was eventually acquired by Santa Cruz and culminated in infamous SCO vs Linux lawsuit. SCO tried to claim API design as proprietary. Kinda the same thing Oracle tried to do with Java later on.
FreeBSD 5.5?
There's the
Intel Binary Compatibility Standard (iBCS) which Linux implements (or at least used to, could've been removed for all I know). I'm not sure how effective it is though.
Yes.
FreeBSD since version 4 implements the Linux compatibility layer.
It translates syscalls and other kernel interface differences between Linux and BSD, both systems are Unix types and use same type of executable and runtime linker so just translation is needed. This allows to implement a Linux compatible kernel in FreeBSD so one can just install the appropriate userland and to desired 3rd party applications.
With FreeBSD 5.5 RH 7.2 and RH 8 userlands were available. They are currently not available for remote install because Red Hat moved them somewhere.
The support versioning is whatever release of glibc can run under the simulated kernel. From there you can derive what 'distros' you can use down on the filesystem. Although none are necessary - Linux apps can work against FreeBSD libs too.
This is what I'll be testing next - the 3D game support on TNT2 on this PC. Linux 3D games usually don't even need an Linux userland to run. Official nVidia drivers expose the Linux-type libGL.
I like messing with this, you might've figured the Windowmaker WM up there, NeXTSTEP is absolutely my favourite GUI ever, I still use Windowmaker to this day on my main PC, but on SVGA resolutions it just looks wonderful as it should. And some of the dockapps (the widgets for desktop) do not compile anymore, too old codebase. I want a fishbowl clock back on my desktop.