OpenStep
| Company type | Software standard |
|---|---|
| Industry | Software development |
| Founded | 1993 |
| Founder | NeXT, Sun Microsystems |
Area served | Cross-platform |
| Products | Application programming interface (API) for graphical user interfaces and software applications |
OpenStep represents an object-oriented programming application programming interface (API) standard created by NeXT. It offers a cross-platform structure for developing graphical user interfaces (GUIs) and software applications that operate across various operating systems such as NeXTSTEP, Windows NT, and several Unix variants. This specification served as a foundation for frameworks like Cocoa on macOS and GNUstep.
The development of OpenStep was primarily a collaboration between NeXT and Sun Microsystems, aiming to facilitate sophisticated application creation on Sun's Solaris. NeXT also released OPENSTEP, a version tailored for its Mach-based Unix platform, which extended the original OpenStep specification with additional capabilities derived from NeXTSTEP.
History
In the early days, Sun Microsystems' workstations demanded programming at a low level directly interfacing with Unix and the SunView toolkit, which made development cumbersome. Sun's mid-1980s initiative to implement the object-oriented NeWS windowing system did not succeed due to its complexity and subpar performance.
Seeking alternatives, Sun evaluated competitors such as Taligent and Microsoft's Cairo but ultimately chose to collaborate with NeXT. This alliance aimed to create OpenStep as a strategic response to Taligent and Cairo. The 1993 agreement included a $10 million investment from Sun into NeXT, spearheaded by Bud Tribble, then VP of Object Products at SunSoft.
The partnership's objective was to adapt NeXTSTEP's object-oriented layers for Solaris/SPARC hardware by removing dependencies on Mach or NeXT-specific platforms. The resulting environment incorporated Display PostScript, the Objective-C runtime and compilers, along with most of NeXTSTEP’s Objective-C libraries—excluding the operating system kernel and low-level display components.
In 1994, Steve Jobs remarked that OpenStep was technologically advanced though competition remained fierce. Meanwhile, Sun CEO Scott McNealy highlighted their dedication to a unified architecture, contrasting it with Taligent’s multi-company strategy.
NeXT released the initial OpenStep API draft by mid-1994 and later introduced an OpenStep-compliant version of NeXTSTEP named OPENSTEP within the same year, supporting diverse platforms including Sun SPARC. The finalized OpenStep API separated Foundation and Application Kit frameworks and introduced the "NS" prefix convention. OPENSTEP stayed as NeXT’s main operating system until its 1997 merger with Apple Computer, after which it influenced Mac OS X and subsequently iOS for mobile devices.
Sun planned for OpenStep to serve as an object-oriented UI toolkit complementing its CORBA-compliant Solaris NEO object system. The porting process involved integrating OpenStep’s AppKit with Sun’s Display PostScript running on X11, enabling multi-threading capabilities, emulating Mach ports through a Solaris daemon, extending the SunPro C++ compiler to support Objective-C, creating an X11 window manager that replicated NeXTSTEP’s appearance, and adapting NeXT development tools like Project Builder and Interface Builder for use with SunPro.
Additionally, Sun ported essential NeXTSTEP applications—including Mail.app, Preview.app, Edit.app, Workspace Manager, and the Dock—to establish a comprehensive user environment.
Subsequently, OpenStep was decoupled from CORBA components; NEO launched without OpenStep in late 1995. In 1996, Sun introduced Joe to integrate NEO with Java. A beta release of OpenStep for Solaris appeared on July 22, 1996; it became available for free non-commercial download in August 1996 and was commercially released in September 1996. This Solaris version of OpenStep supported only the SPARC architecture.
Description
OpenStep distinguishes itself from NeXTSTEP in several fundamental aspects:
- While NeXTSTEP functions as a complete operating system, OpenStep serves as an application programming interface (API).
- The OpenStep API operates independently of the Mach kernel.
- NeXTSTEP releases are tied to specific endianness configurations—big endian on Motorola 68K processors and little endian on x86 architectures—whereas OpenStep is designed to be "endian-neutral."
- OpenStep introduces additional classes along with improved memory management mechanisms.
The OpenStep specification encompasses three principal elements: the Foundation Kit (a core software framework); the Application Kit (which provides graphical user interface and graphics capabilities); and Display PostScript, a 2D graphics engine responsible for window and graphic rendering.
Building on OpenStep
By adopting OpenStep as a standard, developers were able to create new library suites distributed through the OPENSTEP platform, intended to operate independently across diverse operating systems. This strategy aimed at enabling network-wide applications compatible with multiple platforms, presenting an alternative to technologies such as CORBA.
One notable package was Portable Distributed Objects (PDO), a simplified subset of OpenStep that included only Foundation Kit components alongside libraries facilitating remote invocation with minimal coding effort. Unlike OpenStep’s platform-specific OS model, PDO libraries were compiled into native executables tailored for each operating environment, thereby enhancing cross-platform portability. PDO was made available for all leading server vendors.
During the mid-1990s, NeXT showcased PDO’s efficiency by addressing CORBA-related challenges using significantly fewer lines of code. Although PDO applications required Objective-C and supporting runtime libraries, they were considerably more compact—approximately one-half to one-third the size of equivalent CORBA implementations.
A related offering, the D'OLE package, delivered COM object functionality, enabling sophisticated applications running on advanced platforms to be accessed from Microsoft Windows programs. For instance, financial modeling tools developed with D'OLE could be invoked directly from within Microsoft Excel. At that time, OLE only supported communication confined to a single machine; in contrast, PDO demonstrated Excel’s ability to interact with other Microsoft applications over a network before Microsoft introduced comparable features (DCOM).
Another significant extension built upon OpenStep was the Enterprise Objects Framework (EOF), which provided an object-relational mapping system.
OPENSTEP for Mach
NeXT initially developed NeXTSTEP, an operating system based on Mach UNIX designed for Motorola 68k workstations and subsequently ported to Intel x86 PCs, HP PA-RISC, and Sun SPARC hardware. Building upon this foundation, NeXT released OPENSTEP for Mach in versions 4.0 (July 1996), 4.1 (December 1996), and 4.2 (January 1997). This iteration essentially represented NeXTSTEP 4.0 enhanced with improved device driver support through the introduction of the object-oriented DriverKit. Core NeXTSTEP technologies such as Display PostScript, UNIX underpinnings, and signature user interface features like the Dock and Shelf remained integral.
OPENSTEP for Mach supported Intel x86, Sun SPARC, and NeXT’s original 68k processors; however, support for HP PA-RISC was discontinued. From 1995 onward, it became NeXT’s flagship operating system primarily deployed on Intel hardware. It provided full compliance with the OpenStep API while retaining NeXTSTEP libraries for backward compatibility without excessive overhead due to efficient library version management.
Solaris OpenStep
Sun Microsystems partnered with NeXT to develop an OpenStep-compatible framework tailored for Sun's Solaris platform. Nevertheless, Sun redirected its efforts toward Java, which emerged as a competing virtual machine environment against OpenStep. Solaris OpenStep featured Interface Builder and Project Builder, bundled separately under the name Workshop OpenStep.
OPENSTEP Enterprise
NeXT introduced OPENSTEP Enterprise (OSE), designed to operate on Windows NT 4.0. This highlighted OpenStep’s adaptability by enabling applications originally built for OPENSTEP on Mach to be ported with minimal modifications. OSE allowed NeXT’s user base to maintain their development tools within the Windows ecosystem, adapting to market demands despite some user interface inconsistencies caused by channeling graphics through a Display PostScript server customized for Windows. The OSE platform prolonged the commercial lifespan of OpenStep until Apple’s acquisition of NeXT in 1997.
Prior to this acquisition, OPENSTEP and OSE underwent two major revisions and one significant update that was never released.
Rhapsody, Mac OS X Server 1.0
Following the acquisition of NeXT, Apple planned to launch Rhapsody, a revamped iteration of OPENSTEP for Mach aimed at both Macintosh and standard PC hardware. Rhapsody merged OPENSTEP for Mach with a user interface inspired by Mac OS 8’s Copland project and supported Java alongside Apple-specific technologies such as ColorSync and QuickTime, effectively marking the evolution into OPENSTEP version 5. Two developer preview releases were made available on select Intel and PowerPC systems. The first official product, Mac OS X Server 1.0, was released exclusively for PowerPC-based Macintosh computers.
Darwin, Mac OS X 10.0 and later
Apple replaced the Display PostScript-based WindowServer with Quartz and improved compatibility for classic Mac OS applications by introducing the Carbon API, culminating in the debut of Mac OS X and Mac OS X Server starting from version 10.0; this operating system is now known as macOS.
The core programming framework of macOS is rooted in OpenStep principles, enhanced with features such as XML property lists and URL handling classes that facilitate internet connectivity, all implemented through the Cocoa API.
Since then, macOS has established itself as the foremost Unix-like desktop operating system worldwide, although it no longer fully adheres to the original OpenStep specifications.
GNUstep
GNUstep is a free software project that recreates NeXT’s libraries, originating during the NeXTSTEP era prior to OPENSTEP’s release. In contrast to Apple's acquisition—which halted further commercial development of OpenStep on other platforms—GNUstep continues actively as an open source initiative dedicated to providing a portable and free implementation of Cocoa/OPENSTEP frameworks.
It delivers a comprehensive development environment, replicates numerous contemporary macOS Cocoa features, and offers additional API extensions unique to its ecosystem.