skip to content

What separates an operating system that may legally be called UNIX from one described as "Unix-like", and how did the System V and BSD branches produce that distinction?

level: middleimportance: nice to knowfreq 26%

answer

  1. a trademark, not a codebase
  2. certification costs money
  3. two branches from one source
  4. sockets came from Berkeley
  5. no AT&T code in Linux

basics

~20 s

UNIX is a trademark held by The Open Group. A system may use the name only after being certified against the Single UNIX Specification, which costs money and testing. Systems such as Linux and the BSDs implement the same interfaces without certifying, so they are called Unix-like.

solid answer

~50 s

The word UNIX is a registered trademark, not a description of a codebase. To use it a vendor must certify the product against the Single UNIX Specification and pay for the registration, which is why IBM's AIX, HP-UX and Apple's macOS carry the name while Linux and the BSDs — which implement the same interfaces just as faithfully — do not. Historically, Unix started as Research Unix at Bell Labs around 1969 and was rewritten in C in the early 1970s, which made it portable to new hardware. Source licences to universities produced the Berkeley branch, which contributed the sockets API and TCP/IP networking, while AT&T's commercial line became System III and then System V. The two diverged badly enough that customers demanded a written contract, which is where POSIX and later the Single UNIX Specification came from. Linux is an independent reimplementation from 1991 with no AT&T ancestry.

go deeper

for a junior

Know that UNIX is a trademark requiring certification, that Linux and the BSDs are called Unix-like, and that macOS is a certified UNIX. That much alone answers the surface question.

for a middle

Explain the two historical branches — Berkeley and AT&T's System V — name a contribution from each, and connect their divergence to why POSIX was written.

for a senior

Turn the history into working knowledge: predict where two Unix systems in front of you will differ, and explain why assuming a script or a build works across them without testing is a real production risk.

for a principal

Own the consequence at policy level: which platforms your software officially supports, whether any certification or conformance claim has actual value to your customers, and what supporting a second Unix family costs in build and test.

## The trademark, not the code "UNIX" is a certification mark owned by The Open Group. A product qualifies by conforming to the Single UNIX Specification, passing the associated test suites, and completing a paid registration. Nothing about the ancestry of the source code enters into it. That is why the answer to "is Linux UNIX?" is a legal one rather than a technical one: Linux implements the same interfaces at least as completely as several certified products, but no distributor has taken the certification through to registration, largely because the cost buys nothing that the distributions' customers ask for. Systems that hold the mark include IBM's AIX, HP-UX and Apple's macOS. Systems that are called *Unix-like* include Linux, FreeBSD, OpenBSD and NetBSD. The BSDs are, unusually, genuinely descended from Unix source code and still cannot use the name — the clearest possible demonstration that the mark tracks certification, not lineage. ## Where the branches came from **Research Unix (Bell Labs, from 1969).** Ken Thompson and Dennis Ritchie built the original system on spare hardware. The decisive move came a few years later: rewriting the kernel in C. Before that, operating systems were assembly artefacts tied to one machine; afterwards, Unix could be moved to new hardware by porting a compiler. Portability is the reason Unix spread and the reason its ideas outlived its hardware. **The Berkeley branch.** AT&T was under a consent decree that restricted it from selling computer products, so it licensed Unix source to universities cheaply. Berkeley's Computer Systems Research Group turned its local modifications into the Berkeley Software Distribution. BSD contributed an enormous amount of what people now think of as Unix: the sockets API and the TCP/IP implementation that became the reference for internet networking, a much faster filesystem, virtual memory work, the C shell and the vi editor. **The AT&T commercial branch.** Once the regulatory position changed, AT&T commercialised the system as System III and then System V, and it was System V that the commercial vendors licensed and rebadged. System V brought its own contributions, including the STREAMS I/O framework and the run-level based init scheme. System V Release 4 was an explicit unification effort, folding in features from BSD, SunOS and Xenix. **Divergence and the standards response.** Through the 1980s every vendor shipped a variant with its own extensions, and the incompatibility — remembered as the "Unix wars" — made writing software for "Unix" genuinely hard. The response was standardisation: the IEEE POSIX work beginning in 1988, and later the Single UNIX Specification, which is what the trademark now certifies against. **Linux.** Written from scratch beginning in 1991 as a kernel, paired with the already-existing GNU userland, and containing no AT&T code. It is Unix-like by design and API, not by descent. The modern BSDs, by contrast, trace to 4.4BSD-Lite, the release produced after the litigation between AT&T's Unix System Laboratories and BSDi was settled in the mid-1990s, which is why they can be distributed freely. ## Where the split is still visible The two branches left fingerprints on machines you use today. Utilities that accept two different option syntaxes — one dash-less and Berkeley-flavoured, one dash-prefixed and System V-flavoured — are carrying that history. So are the two competing conventions for where startup scripts live, and the long-running differences between the BSD-derived userland on macOS and the GNU userland on Linux that make shell scripts non-portable in practice. ## What the interviewer is checking This is not a trivia question about dates. A candidate who understands the lineage understands *why* two Unix systems in front of them behave differently, why POSIX exists at all, and why "it's Unix, it'll work" is an unsafe assumption. Say the trademark part plainly, name the two branches and one concrete contribution from each, and connect it to the standardisation that followed.

  • If Linux implements the interfaces faithfully, what would it actually take to call a distribution UNIX?
    Conformance to the Single UNIX Specification, passing the test suites, and a paid registration with The Open Group for that specific product and version. The obstacle is not technical capability but the per-product, per-version cost and process — and the fact that no significant customer of a Linux distribution asks for the mark, so nobody funds it.
  • Why does it matter today that Unix was rewritten in C so early?
    Because it decoupled the system from the machine. Once the kernel was mostly C, porting meant porting a compiler rather than rewriting the operating system, so Unix spread across wildly different hardware. That portability is what made a written interface standard meaningful in the first place, and it is why the file-and-process model outlived every machine it originally ran on.
  • Name a concrete difference an engineer still hits because of the System V and BSD split.
    The userland. macOS ships BSD-derived utilities and Linux ships GNU ones, so the same-named command accepts different options — in-place editing, date arithmetic and long-option support all differ. Several utilities on Linux also still accept both a Berkeley-style and a System V-style option syntax, which is that history preserved in the interface.

saying these in an interview costs you the question

  • Says Linux is not UNIX because it lacks POSIX interfaces
  • Believes the BSDs may use the UNIX name because they descend from Unix code
  • Claims Linux is a fork of BSD or of AT&T code
  • Thinks certification is about source-code ancestry
  • Assumes macOS is Linux-based because it has a Unix shell

context