The History of macOS: How a Failed Startup's OS Became Apple's Foundation
How Apple's 1996 acquisition of NeXT, and Steve Jobs' return, turned NeXTSTEP into the Unix foundation underneath every Mac sold today.
macOS’s technical foundation didn’t originate at Apple. It came from a company Steve Jobs founded after he was pushed out of Apple in 1985 — and buying that company back is what brought both Jobs and a genuine Unix core back to the Mac.
The problem Apple was trying to solve
By the mid-1990s, the classic Mac OS (System 7, later Mac OS 8) was showing its age — it lacked protected memory and preemptive multitasking, meaning one misbehaving application could crash the entire system. Apple had tried and abandoned several internal projects (including one codenamed “Copland”) to build a modern successor, without success. Apple needed a real, modern operating system foundation, and needed it from outside.
NeXT: Steve Jobs’ company after Apple
After leaving Apple in 1985, Jobs founded NeXT, building high-end workstations running NeXTSTEP — a genuinely modern, Unix-based operating system with an object-oriented development framework. NeXT’s hardware business never achieved mass-market success, but NeXTSTEP itself was technically excellent, and by the mid-1990s NeXT had pivoted toward selling it as software.
The acquisition
On December 20, 1996, Apple announced its intention to acquire NeXT, with the deal finalized on February 7, 1997, for approximately $427 million in cash, shares, stock options, and assumed debt. The stated purpose was explicit: use NeXTSTEP as the foundation to replace the aging classic Mac OS.
Jobs initially returned to Apple only as an informal advisor. That changed quickly — after then-CEO Gil Amelio was ousted in July 1997, Jobs became Apple’s de facto leader, and was formally named interim CEO on September 16, 1997.
From NeXTSTEP to Mac OS X
The path from NeXTSTEP to a shipping Apple product went through an intermediate stage codenamed Rhapsody, then a series of public developer and consumer previews, before arriving at Mac OS X 10.0, codenamed “Cheetah,” released to the public on March 24, 2001, at a retail price of $129. It carried NeXTSTEP’s Unix-based core (which became Darwin, later open-sourced) forward into a new Aqua user interface, while classic Mac OS applications ran inside a compatibility layer (Classic) during the transition period.
What actually survived the transition
The practical result of this history is still visible in macOS today: its Unix underpinnings (a BSD-derived core, a real preemptive multitasking kernel, a genuine filesystem permission model) trace directly back to NeXTSTEP, not to the classic Mac OS it replaced. Objective-C and the NeXTSTEP application frameworks (which became Cocoa) are why Mac and iOS development looked the way it did for over a decade afterward. Even Apple’s own developer tool history — Interface Builder, in particular — originated at NeXT, not at Apple.
Why this history matters for understanding macOS today
Every macOS internals topic covered elsewhere on this blog — launchd, APFS, code signing, sandboxing, SIP — sits on top of a Unix foundation that exists specifically because Apple bought a company it needed a modern OS from, rather than having built one internally. Understanding that macOS is, at its core, a matured and continuously modernized descendant of a 1990s NeXT workstation operating system explains a great deal about why it behaves like a Unix system underneath its polished interface — because, architecturally, it always has.
The first commercial product to actually ship from this lineage
Before Mac OS X 10.0 ever reached consumers, Apple shipped an earlier, more direct descendant of Rhapsody: Mac OS X Server 1.0, released March 16, 1999 — the first commercially available product genuinely derived from the NeXTSTEP acquisition, aimed at server administrators rather than mainstream Mac users. It supported NeXTSTEP’s own OpenStep APIs (internally called the “Yellow Box”) for native applications, alongside a compatibility environment called the “Blue Box” that ran classic Mac OS 8 applications in something closer to an emulated environment — an early, narrower preview of exactly the native-versus-compatibility-layer split that Mac OS X 10.0 would later bring to the full consumer Mac lineup two years afterward.
From “Mac OS X” to “OS X” to “macOS”
The operating system’s own public name changed twice across its history, each shift reflecting where Apple saw the platform’s identity at that moment. It launched and remained “Mac OS X” through the “big cat” naming era — Cheetah, Puma, Jaguar, Panther, Tiger, Leopard, Snow Leopard, Lion, Mountain Lion — spanning 10.0 through 10.8. Starting with Mavericks (10.9) in 2013, Apple dropped “Mac” from the name (marketed simply as “OS X”) and switched to California landmark names, a shift that coincided with Apple making OS X releases free rather than paid upgrades. The name changed once more, to macOS, announced at WWDC on June 13, 2016, alongside Sierra (10.12) — explicitly to align naming conventions across Apple’s full platform lineup (iOS, watchOS, tvOS), rather than reflecting any deeper technical change to the operating system itself.
Objective-C’s specific path into Apple’s toolchain
The Objective-C language itself predates both NeXT and Apple’s acquisition of it — it was created in the early 1980s by Brad Cox and Tom Love, then licensed and adopted by NeXT as the primary language for NeXTSTEP application development specifically because its Smalltalk-influenced object model fit the dynamic, reusable-component philosophy NeXT’s frameworks were built around. That NeXTSTEP-era choice is the direct reason Objective-C, rather than any Apple-originated language, became the primary iOS and Mac development language for over two decades afterward, right up until Swift’s introduction in 2014 began the long transition away from it.
Related:
Sources: