OneStopList

Family trees

Unix Family Tree: History and Key Branches

Updated November 5, 2026

Unix Family Tree: History and Key Branches

The Unix family tree is the lineage of operating systems derived from the original Unix developed at Bell Labs in the late 1960s and early 1970s. Its main branches include the BSD lineage (FreeBSD, OpenBSD, NetBSD), the System V lineage (AIX, HP-UX, Solaris), and the Linux kernel, which is Unix-like but not directly descended from Unix code.

Origins at Bell Labs

Unix was created by Ken Thompson, Dennis Ritchie, and others at AT&T’s Bell Labs. The first version, written in assembly language, appeared in 1969. In 1973, Ritchie and Thompson rewrote Unix in the C programming language, a decision that made the system portable across different hardware. This portability was key to Unix’s spread through universities and research labs in the 1970s.

Because AT&T was a regulated monopoly, it could not sell Unix as a product. Instead, it licensed the source code to universities and companies for a nominal fee. This openness allowed many institutions to modify and redistribute Unix, creating the branching that defines the family tree.

The Two Main Branches: BSD and System V

In the late 1970s, the University of California, Berkeley received a Unix license and began developing its own version, called the Berkeley Software Distribution (BSD). BSD added features like the vi editor, the C shell, and the TCP/IP networking stack. The BSD branch eventually split into several descendants:

  • FreeBSD – focused on performance and ease of use; widely used in servers and as the basis for macOS’s kernel (Darwin).
  • OpenBSD – emphasizes security and code audit; known for its proactive security practices.
  • NetBSD – designed for portability across many hardware platforms, from embedded systems to large servers.

In parallel, AT&T released its own commercial version, Unix System V, in 1983. System V became the basis for several proprietary Unixes:

  • AIX – IBM’s Unix, used on its Power servers.
  • HP-UX – Hewlett-Packard’s Unix, for its Itanium and PA-RISC systems.
  • Solaris – Sun Microsystems’ Unix, known for its scalability and ZFS file system.

The two branches differed in details like process management, inter-process communication, and startup scripts. This split caused fragmentation, which later motivated the POSIX standard to define a common interface.

Linux: A Unix-Like, Not a Unix Descendant

In 1991, Linus Torvalds released the Linux kernel, a free and open-source operating system kernel that was inspired by Unix but written from scratch. Linux does not share code with the original Unix or BSD. However, it is called “Unix-like” because it follows POSIX standards and provides a similar command-line environment.

Linux distributions combine the Linux kernel with GNU utilities (like bash, grep, and coreutils) and often with X11 or Wayland for graphics. This combination produces a complete operating system that behaves like Unix but has a different lineage. Many of the user-level tools in Linux come from the GNU Project, which was started by Richard Stallman in 1983 to create a free Unix-compatible system.

macOS and the BSD Connection

Apple’s macOS is a direct descendant of BSD, not of Linux. Its kernel, called XNU, combines a Mach microkernel (from Carnegie Mellon) with components from FreeBSD, including the file system, networking stack, and process management. The userland tools in macOS (like ls, grep, and bash) are largely derived from FreeBSD versions.

This BSD heritage is why macOS has a Unix certificate (it is officially UNIX 03 certified) and why many commands behave similarly to those on FreeBSD. However, Apple has added its own layers, such as the Aqua GUI and the Cocoa APIs, making macOS distinct from other BSDs.

How to Identify Which Branch a System Belongs To

You can often tell which branch a Unix-like system belongs to by checking the uname command output or the package manager. For example:

  • Run uname -s to see the kernel name (e.g., Linux, Darwin, FreeBSD).
  • Run uname -r for the kernel release version.
  • Look at the package manager: apt or yum indicates Linux, pkg indicates FreeBSD, brew is common on macOS.

This is useful for administrators who need to know which commands and file paths are available, since the two branches have subtle differences in things like the location of startup scripts (/etc/init.d on System V, /etc/rc.d on BSD).

Common Problems and Misconceptions

A common misconception is that Linux is a direct descendant of Unix. In reality, Linux was written independently, though it mimics Unix behavior. Another misconception is that all Unix-like systems are free; many commercial Unixes (AIX, HP-UX, Solaris) are proprietary and require licenses.

Another issue is the confusion between the BSD and System V startup scripts. If you move from a System V system (like older Solaris) to a BSD system (like FreeBSD), you will notice that services are started differently. This can cause scripts to fail if they assume one style. Similarly, the default shell may differ: BSD systems often use csh or tcsh as the root shell, while System V uses sh.

Alternatives and Modern Offshoots

Besides the main branches, there are other Unix-like systems worth noting:

  • Minix – a small Unix-like system created by Andrew Tanenbaum for teaching; it influenced Linux’s early development.
  • Plan 9 – a research operating system from Bell Labs that reimagined Unix concepts, though it never gained wide use.
  • illumos – an open-source fork of Solaris, used in systems like OpenIndiana and SmartOS.
  • Darwin – the open-source core of macOS, which is itself a BSD derivative.

These offshoots show that the Unix family tree is not static; it continues to evolve as new projects fork and adapt existing code.

Frequently Asked Questions

Is Linux a Unix?

No, Linux is not a Unix in the strict sense because it does not share code with the original Unix. It is Unix-like, meaning it follows POSIX standards and provides a similar interface. However, the term “Unix” is sometimes used loosely to include Linux, especially in legal or trademark contexts where “Unix” refers to a family of systems.

What is the difference between BSD and System V?

The main differences are in internal design and user-visible commands. BSD uses a different process model, has a different startup script layout, and often includes the csh shell by default. System V uses init scripts in /etc/rc.d and has a different inter-process communication mechanism. Many modern systems have blended the two, so the differences are less pronounced than they were in the 1980s.

Why are there so many Unix versions?

Because Unix was licensed to many organizations, each modified it for their own hardware and needs. AT&T’s licensing terms allowed modifications, so universities and companies created their own versions. This led to a proliferation of variants, which later consolidated into the main branches we see today.

Is macOS a Linux distribution?

No, macOS is not a Linux distribution. It is based on BSD and Mach, not on Linux. The userland tools are similar because both are Unix-like, but the kernel and core system are different. You cannot run Linux binaries on macOS without a compatibility layer, and vice versa.

Which Unix is best for a beginner?

For a beginner, Linux is usually the easiest because it has the largest community, extensive documentation, and many beginner-friendly distributions like Ubuntu or Linux Mint. FreeBSD is also a good choice for learning Unix concepts, but it has a steeper learning curve and less hardware support than Linux.

Can I run Unix on a modern PC?

Yes, you can run several Unix-like systems on a modern PC. Linux runs on almost any hardware. FreeBSD, OpenBSD, and NetBSD also support x86 and ARM processors. Some commercial Unixes like AIX and HP-UX are designed for specific server hardware and are not available for typical PCs. Solaris has an open-source version (OpenSolaris) that can run on x86, but its development has slowed.

Related

How pages are sourced and corrected: Sources and editorial policy.