Linux Standards

To make UNIX programming orderly and organized, UNIX developers created programming standards, which are documents that instruct system programmers how to implement certain aspects of their utilities. When an operating system follows a standard, it is called standard-compliant.

Linux, although being UNIX-based, isn't required to comply with any of UNIX standards (which, in some cases, might cost money if the developers want their system to be officially recognized as standard-compliant. However, wherever possible, Linux strives to comply with two such UNIX standards:

  1. POSIX (= "Portable Operating System Interface", named by Richard Stallman) was proposed in the mid-1980s by IEEE, defines UNIX APIs, shells (command interpreters), and utilities, and its latest version is IEEE Std 1003.1-2017. To be officially recognized as a compliant, the developers of an OS must pay more than $10K for a license.
  2. SUS (= "Single Unix Specification") was proposed in the early 1990s by the Open Group (from the merging of two organizations: OSF and X/Open), and the latest version is SUSv4-2018. The license of this standard is actually free, and it incorporates the latest POSIX standard. Still, not all Linux distros choose to officially comply with it.