Standards
Standards play a crucial role in the evolution and interoperability of operating systems, especially within the Unix and Linux ecosystems, due to the historical fragmentation of Unix into various incompatible versions. The push for standardisation was driven by a need for consistency and interworking among diverse Unix systems.
Here's an overview of key standardisation efforts:
POSIX (Portable Operating System Interface)
POSIX is a set of open operating system standards developed by the IEEE (Institute of Electrical and Electronics Engineers). Its primary goal was to provide a common baseline or API (Application Programming Interface) for operating systems. This standard was designed as a compromise API readily implementable on both BSD and System V platforms, which were the two major divergent lines of Unix development.
- Purpose: The standard aims to ensure that programs written for POSIX-compliant systems can run on any other substantially or wholly compliant operating system. This promotes portability of applications across different Unix-like environments.
- Government Mandate: In 1993, POSIX was mandated by the United States government for many of its own systems.
- Relationship with Linux: Linux systems adhere to POSIX standards. Linux commands, for instance, are designed to be as similar to Unix commands as possible by adhering to POSIX standards. While many Linux distributions are "Unix-like" and largely implement POSIX, only a few have been officially certified as POSIX.1 compliant, such as Linux-FT.
- Relationship with Windows: Interestingly, the sources indicate that Windows has also chosen to follow the POSIX standard.
The Single UNIX Specification (SUS) and UNIX® Trademark
The term UNIX (all caps) is a registered trademark. It is now owned and administered by The Open Group, an industry standards consortium.
- Certification: Only operating systems that pay for and pass stringent certifications can officially bear the UNIX trademark. This certification signifies compliance with the Single UNIX Specification (SUS).
- Definition: The Open Group dictates that "UNIX" refers more to a class of operating systems than a specific implementation. The SUS defines the structure and behaviour of a compliant system, not its implementation.
- Certified Systems: Several commercial Unix variants are certified UNIX operating systems, including IBM AIX, HP-UX, Oracle Solaris, and Apple's macOS (which is based on BSD and the Mach kernel). Notably, some Linux distributions, such as Huawei EulerOS and Inspur K-UX, have also achieved UNIX 03 certification.
- "Unix-like" vs. "UNIX": Many Unix variants (like most BSDs) and Linux distributions are considered "Unix-like" because they behave similarly and adhere to Unix design principles and POSIX standards, but they are not officially certified as UNIX, often due to the cost of certification.
- Trademark Usage: The Open Group requests that UNIX always be used as an adjective followed by a generic term (e.g., "UNIX system") to prevent it from becoming a genericised trademark. Historically, the all-caps "UNIX" styling came from the use of small caps in early documentation.
The Unix Wars and Standardisation Efforts
The original proprietary licensing of Unix by AT&T led to significant fragmentation and incompatibility among different Unix versions. This era, known as the Unix wars, saw fierce rivalry between vendors who based their systems on either AT&T's System V or the Berkeley Software Distribution (BSD). Customers and vendors alike demanded standardisation due to the difficulty of ensuring compatibility across the multitude of incompatible Unix products.
- Initial Attempts: AT&T responded by issuing the System V Interface Definition (SVID) in 1985, requiring conformance for "System V" branding.
- Consortia Formation: In 1984, European vendors formed the X/Open consortium to create an open system specification based on Unix. The Open Software Foundation (OSF) was formed by other vendors in response to AT&T's collaboration with Sun Microsystems to unify Unix variants.
- Unification: The creation of the Common Open Software Environment (COSE) initiative in 1993, by major Unix players, marked the end of the most notorious phase of the Unix wars. This was followed by the merger of UI (UNIX International, the AT&T/Sun faction) and OSF in 1994, forming The Open Group.
- Unified Standard: The Open Group continues to develop and evolve the Single UNIX Specification, which, along with the IEEE POSIX specification, became the Open Group Base Specification by 2008. This separation of the UNIX trademark from any specific code stream and the stability of core interfaces encouraged the development of a rich set of software tools, with the open-source movement building on this foundation.
The underlying Unix philosophy, which advocates for small, single-purpose tools that work together by handling text streams and using pipes for inter-process communication, also functions as a de facto set of design standards that both Unix and Unix-like systems, including Linux, continue to follow.