# NeXTSTEP

NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer, founded by Steve Jobs, in the late 1980s and early 1990s and was initially used for its range of proprietary workstation computers such as the NeXTcube. It was later ported to several other computer architectures.
Although relatively unsuccessful at the time, it attracted interest from computer scientists and researchers. It hosted the original development of the Electronic AppWrapper, the first commercial electronic software distribution catalog to collectively manage encryption and provide digital rights for application software and digital media, a forerunner of the modern "app store" concept. It is the platform on which Tim Berners-Lee created the first web browser, and on which id Software developed the video games Doom and Quake.
In 1996, Apple Computer acquired NeXT. Apple needed a successor to the classic Mac OS, and merged NeXTSTEP and OpenStep with the Macintosh user environment to create Mac OS X. All of Apple's subsequent platforms since iPhone OS 1 were then based on Mac OS X (later renamed macOS).

## Overview

NeXTSTEP (also stylized as NeXTstep, NeXTStep, and NEXTSTEP) is a combination of several parts:
* a Unix operating system based on the Mach kernel, plus BSD
* Display PostScript and a proprietary windowing engine
* the Objective-C language and runtime
* an object-oriented (OO) application layer, including several "kits"
* development tools for the OO layers.
NeXTSTEP is a preeminent implementation of the last three items. The toolkits are the canonical development system for all of the software on the system.
It introduced the idea of the Dock (carried through OpenStep and into macOS) and the Shelf. NeXTSTEP originated or innovated a large number of other GUI concepts which became common in other operating systems: 3D chiseled widgets, large full-color icons, system-wide drag and drop of a wide range of objects beyond file icons, system-wide piped services, real-time scrolling and window dragging, properties dialog boxes called "inspectors", and window modification notices (such as the saved status of a file). The system is among the first general-purpose user interfaces to handle publishing color standards, transparency, sophisticated sound and music processing (through a Motorola 56000 DSP), advanced graphics primitives, internationalization, and modern typography, in a consistent manner across all applications.
Additional kits were added to the product line. These include Portable Distributed Objects (PDO), which allow easy remote invocation, and Enterprise Objects Framework, an object-relational database system. The kits made the system particularly interesting to custom application programmers, and NeXTSTEP had a long history in the financial programming community.

## History

NeXTSTEP was built upon Mach and BSD, initially 4.3BSD-Tahoe. A preview release of NeXTSTEP (version 0.8) was shown with the launch of the NeXT Computer on October 12, 1988. The first full release, NeXTSTEP 1.0, shipped on September 18, 1989. It was updated to 4.3BSD-Reno in NeXTSTEP 3.0. The last version, 3.3, was released in early 1995, for the Motorola 68000 family based NeXT computers, Intel x86, Sun SPARC, and HP PA-RISC-based systems.
NeXT separated the underlying operating system from the application frameworks, producing OpenStep. OpenStep and its applications can run on multiple underlying operating systems, including OPENSTEP, Windows NT, and Solaris. In 1997, it was updated to 4.4BSD while assimilated into Apple's development of Rhapsody for x86 and PowerPC. NeXTSTEP's direct descendant is Apple's macOS, which then yielded iPhone OS 1, iOS, iPadOS, watchOS, and tvOS.

## Legacy

The first web browser, WorldWideWeb, and the first app store were all invented on the NeXTSTEP platform.
   1990 CERN: A Joint proposal for a hypertext system is presented to the management. Mike Sendall buys a NeXT cube for evaluation, and gives it to Tim Berners-Lee. Tim's prototype implementation on NeXTSTEP is made in the space of a few months, thanks to the qualities of the NeXTSTEP software development system. This prototype offers WYSIWYG browsing/authoring! Current Web browsers used in "surfing the Internet" are mere passive windows, depriving the user of the possibility to contribute. During some sessions in the CERN cafeteria, Tim and I try to find a catching name for the system. I was determined that the name should not yet again be taken from Greek mythology. Tim proposes "World-Wide Web". I like this very much, except that it is difficult to pronounce in French...
Some features and keyboard shortcuts now common to web browsers originated in NeXTSTEP conventions. The basic layout options of HTML 1.0 and 2.0 are attributable to those features of NeXT's Text class.
Lighthouse Design Ltd. developed Diagram!, a drawing tool, originally called BLT (for Box-and-Line Tool) in which objects (boxes) are connected together using "smart links" (lines) to construct diagrams such a flow charts. This basic design can be enhanced by the simple addition of new links and new documents, located anywhere in the local area network, that foreshadowed Tim Berners-Lee's initial prototype that was written on NeXTSTEP in October–December 1990.
In the 1990s, the pioneering PC games Doom, Doom II, Quake, and their respective level editors were developed by id Software on NeXT machines. Other games based on the Doom engine such as Heretic and its sequel Hexen by Raven Software, and Strife by Rogue Entertainment were developed on NeXT hardware using id's tools.
Altsys made the NeXTSTEP application Virtuoso, version 2 of which was ported to Mac OS and Windows to become Macromedia FreeHand version 4. The modern "Notebook" interface for Mathematica, and the advanced spreadsheet Lotus Improv, were developed using NeXTSTEP. The software that controlled MCI's Friends and Family calling plan program was developed using NeXTSTEP.
About the time of the release of NeXTSTEP 3.2, NeXT partnered with Sun Microsystems to develop OpenStep. It is the product of an effort to separate the underlying operating system from the higher-level object libraries to create a cross-platform object-oriented API standard derived from NeXTSTEP. OpenStep was released for Sun's Solaris, Windows NT, and NeXT's Mach kernel-based operating system. NeXT's implementation is called "OPENSTEP for Mach" and its first release (4.0) superseded NeXTSTEP 3.3 on NeXT, Sun, and Intel IA-32 systems.
Following an announcement on December 20, 1996, Apple Computer acquired NeXT on February 4, 1997, for $429 million. Based upon the "OPENSTEP for Mach" operating system, and developing the OpenStep API to become Cocoa, Apple created the basis of Mac OS X, and eventually of iOS, iPadOS, watchOS, and tvOS.
GNUstep is a free software implementation of the OpenStep standard.

## Release history

| Version | Date | Distribution medium | Architecture | Basis | Notes |
| 0.8 | October 12, 1988 | MO disc | m68k | 4.3BSD-Tahoe | NeXTStep Digital Webster, Complete Works of William Shakespeare, netboot, NFS |
| 0.8a | 1988 | MO disc | m68k | 4.3BSD-Tahoe | |
| 0.9 | 1988 | MO disc | m68k | 4.3BSD-Tahoe | NeXT 0.9/1.0 Release Description |
| 1.0 | 1989 | MO disc | m68k | 4.3BSD-Tahoe | |
| 1.0a | 1989 | MO disc | m68k | 4.3BSD-Tahoe | Photo of NeXTSTEP 1.0a MO disc |
| 2.0 | September 18, 1990 | MO disc, CD-ROM | m68k | 4.3BSD-Tahoe | Support for the NeXTstation, NeXTcube (68040). Support for floppy disk, CD-ROM, Fax modems, and color graphics. Workspace Manager now has the Shelf, copies performed in background, black hole is replaced by recycler icon. Terminal.app. Dynamic loading of drivers. |
| 2.1 | March 25, 1991 | MO disc, CD-ROM | m68k | 4.3BSD-Tahoe | Support for the NeXTdimension board. TeX, internationalization improvements. New machines with 2.1 include Lotus Improv. |
| 2.1a | | MO disc, CD-ROM | m68k | 4.3BSD-Tahoe | |
| 2.2 | | CD-ROM | m68k | 4.3BSD-Tahoe | Support for the NeXTstation Turbo |
| 3.0 | September 8, 1992 | CD-ROM | m68k | 4.3BSD-Reno | Project Builder, 3D support with Interactive RenderMan, Pantone colors, PostScript Level 2, Object Linking and Embedding, Distributed Objects, Database Kit, Phone Kit, Indexing Kit, precompiled headers, HFS, AppleTalk, and Novell NetWare. |
| 3.1 | May 25, 1993 | CD-ROM | m68k, i386 | 4.3BSD-Reno | First release for the i386 architecture, introducing fat binaries. |
| 3.2 | October 1993 | CD-ROM | m68k, i386 | 4.3BSD-Reno | |
| 3.3 | February 1995 | CD-ROM | m68k, i386, SPARC, PA-RISC | 4.3BSD-Reno | Support for the PA-RISC and SPARC architectures added, introducing Quad-fat Binaries. Last and most popular version released under the name NEXTSTEP. Referred to as NEXTSTEP/m68k, NEXTSTEP/Intel, NEXTSTEP/SPARC. NEXTSTEP/PA-RISC Delivered on 2 CDs: NeXTSTEP CISC and NeXTSTEP RISC. The Developer CD includes libraries for all architectures, so that programs can be cross-compiled on any architecture for all architectures. |
| 4.0 beta | 1996 | CD-ROM | m68k, i386, SPARC, PA-RISC | 4.3BSD-Reno | Very different user interface. Notable as being a precursor of many ideas later introduced in the macOS Dock. Allegedly dropped due to complaints of having to re-teach users but not for technical reasons (the new UI worked well in the beta). |
| 4.0 | July 1996 | CD-ROM | m68k, i386, SPARC | 4.3BSD-Reno | Support for the PA-RISC architecture dropped. Support for m68k, i486, and SPARC architectures. Initial Release of OpenStep for Windows. |
| 4.1 | January 1997 | CD-ROM | m68k, i386, SPARC | 4.3BSD-Reno | Support for m68k, i486, and SPARC architectures, and OpenStep for Windows, under OPENSTEP Enterprise (NT only). |
| 4.2 Pre-release 2 | September 1997 | CD-ROM | m68k, i386, SPARC | 4.3BSD-Reno | Pre-release 2 circulated to limited number of developers before OpenStep and Apple acquisition. |
| Rhapsody | August 31, 1997 – October 27, 2000 | CD-ROM | i386, PowerPC | 4.4BSD | Released after the Apple acquisition, these are arguably closer to NeXTSTEP and OPENSTEP than to Mac OS X. For example, they can still be used as remote display via NXHost. |
Versions up to 4.1 are general releases. OPENSTEP 4.2 pre-release 2 is a bug-fix release published by Apple and supported for five years after its September 1997 release.