What are the differences between POSIX, the Single UNIX Specification, and the Open Group Base Specifications? I think their purpose is for determining if an OS is Unix?
migrated from superuser.com Jun 3 '11 at 20:55
Today, POSIX and SUS are basically the same thing; SUS encompasses a little more.
One important "difference" is the XSI (XOPEN) option group, which specifies a number of traditional Unix interfaces which are unlikely to be applicable to a new operating system that's not "a Unix". Often people will use "SUS" to refer to the full standard including the XSI option, and "POSIX" to refer to the base standard and possibly the non-Unix-centric option groups.
Successive versions of SUS seem to be gradually deprecating parts of the XSI option that were not really useful for writing portable applications and that instead just reflected legacy implementations, and moving a few of the more-useful parts to the base standard.
Looking at the top of the Open Group Base Specifications, you will see the standard identifier IEEE Std 1003.1-2008. IEEE Std 1003.1 is what is known as POSIX.1 with 2008 just being the latest incarnation. Looking at POSIX on Wikipedia, you will see that the standard contains three parts including:
Basically, POSIX is just the name of the standard developed by the IEEE with the initial version done in 1988. POSIX is not UNIX™ officially simply because IEEE does not own the trademark, but it is the operating system environment and interface found on UNIX™ systems. Later on, The Open Group who controls the UNIX™ trademark got involved with creating a standard based on POSIX called Single UNIX Specification version 2 or SUSv2. Now these two specifications are developed jointly as The Austin Group. The latest version is SUSv4. So, to sum up:
POSIX:2008 = IEEE Std. 1003.1-2008 = SUSv4 = The Open Group Specification Issue 7.
Also, read my answer to What exactly is POSIX?