OpenStep is a defunct
object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
application programming interface
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) specification for a legacy
object-oriented operating system, with the basic goal of offering a
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 in the late 1980s and early 1990s and was initially used for its range of proprieta ...
-like environment on non-NeXTSTEP operating systems. OpenStep was principally developed by
NeXT
Next may refer to:
Arts and entertainment Film
* ''Next'' (1990 film), an animated short about William Shakespeare
* ''Next'' (2007 film), a sci-fi film starring Nicolas Cage
* '' Next: A Primer on Urban Painting'', a 2005 documentary film
Lit ...
with
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
, to allow advanced application development on Sun's operating systems, specifically
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
. NeXT produced a version of OpenStep for its own
Mach
Mach may refer to Mach number, the speed of sound in local conditions. It may also refer to:
Computing
* Mach (kernel), an operating systems kernel technology
* ATI Mach, a 2D GPU chip by ATI
* GNU Mach, the microkernel upon which GNU Hurd is bas ...
-based
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
, stylized as OPENSTEP, as well as a version for
Windows NT
Windows NT is a proprietary graphical operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems sc ...
. The
software libraries
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subro ...
that shipped with OPENSTEP are a superset of the original OpenStep specification, including many features from the original NeXTSTEP.
History
In the early era of the
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
history, Sun machines had been programmed at a relatively low-level making calls directly to the underlying
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
and producing a
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
(GUI) using the
X11 system. This led to complex programming even for simple projects. An attempt to address this with an
object oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
programming model was made in the mid-1980s with Sun's
NeWS
News is information about current events. This may be provided through many different Media (communication), media: word of mouth, printing, Mail, postal systems, broadcasting, Telecommunications, electronic communication, or through the tes ...
windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
, but the combination of a complex
application programming interface
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) and generally poor performance led to little real-world use and the system was eventually abandoned.
Sun then began looking for other options.
Taligent was considered to be a competitor in the operating system and object markets, and Microsoft's
Cairo
Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metro ...
was at least a consideration, even without any product releases from either. Taligent's theoretical newness was often compared to NeXT's older but mature and commercially established platform. Sun held exploratory meetings with Taligent before deciding upon building out its object application framework OpenStep in partnership with
NeXT
Next may refer to:
Arts and entertainment Film
* ''Next'' (1990 film), an animated short about William Shakespeare
* ''Next'' (2007 film), a sci-fi film starring Nicolas Cage
* '' Next: A Primer on Urban Painting'', a 2005 documentary film
Lit ...
as a "preemptive move against Taligent and Cairo".
Bud Tribble, a founding designer of the
Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
and of NeXTStep, was now SunSoft's Vice President of Object Products to lead this decision. The 1993 partnership included a $10 million investment from Sun into NeXT. The deal was described as "the first unadulterated piece of good news in the NeXT community in the last four years".
The basic concept was to take a cut-down version of the NeXTSTEP
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
's object layers and adapt them to run on Sun's
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
operating system, more specifically, Solaris on
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
-based hardware. Most of the OpenStep effort was to strip away those portions of NeXTSTEP that depended on Mach or NeXT-specific hardware being present. This resulted in a smaller system that consisted primarily of
Display PostScript, the
Objective-C runtime and compilers, and the majority of the NeXTSTEP Objective-C libraries. Not included was the basic operating system, or the lower-level display system.
Steve Jobs said "We are ahead today, but the race is far from over. ...
n 1996,Cairo will be very close behind, and Taligent will be very far behind." Sun's CEO
Scott McNealy said, "We have no insurance policy. We have made a firm one-company, one-architecture decision, not like Taligent getting a trophy spouse by signing up HP."
The first draft of the API was published by NeXT in mid 1994. Later that year they released an OpenStep compliant version of NeXTSTEP as OPENSTEP, supported on several of their platforms as well as Sun SPARC systems. NeXT submitted the OpenStep specification to the industry's object standards bodies.
The official OpenStep API, published in September 1994, was the first to split the API between Foundation and Application Kit and the first to use the "NS" prefix. Early versions of NeXTSTEP use an "NX" prefix and contain only the Application Kit, relying on standard Unix
libc types for low-level data structures. OPENSTEP remained NeXT's primary operating system product until the company was purchased by
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
in 1997. OPENSTEP was then combined with technologies from the existing
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The ...
to produce
Mac OS X.
iPhone and
iPad's
iOS is also a descendant of OPENSTEP, but targeted at touch devices.
Sun originally adopted the OpenStep environment with the intent of complementing Sun's
CORBA-compliant object system,
Solaris NEO (formerly known as Project DOE), by providing an object-oriented user interface toolkit to complement the object-oriented CORBA plumbing.
The port involved integrating the OpenStep AppKit with the Display PostScript layer of the Sun
X11 server, making the AppKit tolerant of multi-threaded code (as Project DOE was inherently heavily multi-threaded), implementing a Solaris daemon to simulate the behavior of Mach ports, extending the SunPro C++ compiler to support
Objective-C using NeXT's ObjC runtime, writing an X11
window manager to implement the NeXTSTEP look and feel as much as possible, and integrating the NeXT development tools, such as Project Builder and Interface Builder, with the SunPro compiler. In order to provide a complete end-user environment, Sun also ported the NeXTSTEP-3.3 versions of several end-user applications, including Mail.app, Preview.app, Edit.app, Workspace Manager, and the
Dock
A dock (from Dutch language, Dutch ''dok'') is the area of water between or next to one or a group of human-made structures that are involved in the handling of boats or ships (usually on or near a shore) or such structures themselves. The ex ...
.
The OpenStep and CORBA parts of the products were later split, and NEO was released in late 1995 without the OpenStep environment. In March 1996, Sun announced Joe, a product to integrate NEO with
Java. Sun shipped a beta release of the OpenStep environment for Solaris on July 22, 1996,
and made it freely available for download in August 1996 for non-commercial use, and for sale in September 1996. OpenStep/Solaris was shipped only for the SPARC architecture.
Description
OpenStep differs from NeXTSTEP in various ways:
*NeXTSTEP is an operating system, whereas OpenStep is an API.
*Unlike NeXTSTEP, OpenStep does not require the
Mach kernel.
*Each version of NeXTSTEP has a specific
endianness:
big endian
In computing, endianness, also known as byte sex, is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the mos ...
for
Motorola 68K processors, and
little endian for
x86 processors, for example. OpenStep is "endian-free".
*OpenStep introduces new
classes and
memory management capabilities.
The OpenStep API specification defines three major components: Foundation Kit, the
software framework
In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard ...
;
Application Kit, the
GUI and graphics front-end; and Display PostScript, a 2D graphics system (for drawing windows and other graphics on the screen).
Building on OpenStep
The standardization on OpenStep also allowed for the creation of several new library packages that were delivered on the OPENSTEP platform. Unlike the operating system as a whole, these packages were designed to run
stand-alone on practically any operating system. The idea was to use OpenStep code as a basis for network-wide applications running across different platforms, as opposed to using
CORBA or some other system.
Primary among these packages was
Portable Distributed Objects (PDO). PDO was essentially an even more "stripped down" version of OpenStep containing only the Foundation Kit technologies, combined with new libraries to provide
remote invocation with very little code. Unlike OpenStep, which defined an operating system that applications would run in, under PDO the libraries were compiled into the application itself, creating a stand-alone "native" application for a particular platform. PDO was small enough to be easily portable, and versions were released for all major server vendors.
In the mid-1990s, NeXT staff took to writing in solutions to various CORBA magazine articles in a few lines of code, whereas the original article would fill several pages. Even though using PDO required the installation of a considerable amount of supporting code (Objective-C and the libraries), PDO applications were nevertheless considerably smaller than similar CORBA solutions, typically about one-half to one-third the size.
The similar D'OLE provided the same types of services, but presented the resulting objects as
COM
Com or COM may refer to:
Computing
* COM (hardware interface), a serial port interface on IBM PC-compatible computers
* COM file, or .com file, short for "command", a file extension for an executable file in MS-DOS
* .com, an Internet top-level d ...
objects, with the goal of allowing programmers to create COM services running on high-powered platforms, called from
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
applications. For instance one could develop a high-powered financial modeling application using D'OLE, and then call it directly from within
Microsoft Excel. When D'OLE was first released, OLE by itself only communicated between applications running on a single machine. PDO enabled NeXT to demonstrate Excel talking to other Microsoft applications across a network before Microsoft themselves were able to implement this functionality (DCOM).
Another package developed on OpenStep was
Enterprise Objects Framework (EOF), a tremendously powerful (for the time)
object-relational mapping product. EOF became very popular in the enterprise market, notably in the financial sector where OPENSTEP caused something of a minor revolution.
Implementations
OPENSTEP for Mach
NeXT's first operating system was
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 in the late 1980s and early 1990s and was initially used for its range of proprieta ...
, a sophisticated Mach-UNIX based operating system that originally ran only on NeXT's
Motorola 68k-based workstations and that was then ported to run on
32-bit Intel x86-based
"IBM-compatible" personal computers,
PA-RISC-based workstations from
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
, and
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
-based workstations from
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
.
NeXT completed an implementation of OpenStep on their existing Mach-based OS and called it OPENSTEP for Mach 4.0 (July, 1996), 4.1 (December, 1996), and 4.2 (January, 1997). It was, for all intents, NeXTSTEP 4.0, and still retained flagship NeXTSTEP technologies (such as
DPS
DPS may refer to:
Schools United States
* Dalton Public Schools, the public school district in Dalton, Georgia
* Dearborn Public Schools, the public school district in Dearborn, Michigan
* Decatur Public Schools District 61, the public school sys ...
, UNIX underpinnings, user interface characteristics like the
Dock
A dock (from Dutch language, Dutch ''dok'') is the area of water between or next to one or a group of human-made structures that are involved in the handling of boats or ships (usually on or near a shore) or such structures themselves. The ex ...
and
Shelf
Shelf ( : shelves) may refer to:
* Shelf (storage), a flat horizontal surface used for display and storage
Geology
* Continental shelf, the extended perimeter of a continent, usually covered by shallow seas
* Ice shelf, a thick platform of ice f ...
, and so on), and retained the classic NeXTSTEP user interface and styles. OPENSTEP for Mach was further improved, in comparison to NeXTSTEP 3.3, with vastly improved driver support – however the environment to actually write drivers was changed with the introduction of the object-oriented DriverKit.
OPENSTEP for Mach supported Intel x86-based PC's, Sun's SPARC workstations, and NeXT's own 68k-based architectures, while the HP PA-RISC version was dropped. These versions continued to run on the underlying Mach-based OS used in NeXTSTEP. OPENSTEP for Mach became NeXT's primary OS from 1995 on, and was used mainly on the Intel platform. In addition to being a complete OpenStep implementation, the system was delivered with a complete set of NeXTSTEP libraries for backward compatibility. This was an easy thing to do in OpenStep due to library versioning, and OPENSTEP did not suffer in bloat because of it.
Solaris OpenStep
In addition to the OPENSTEP for Mach port for SPARC, Sun and NeXT developed an OpenStep compliant set of frameworks to run on Sun's
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
operating system. After developing Solaris OpenStep, Sun lost interest in OpenStep and shifted its attention toward Java. As a virtual machine development environment, Java served as a direct competitor to OpenStep.
OPENSTEP Enterprise
NeXT also delivered an implementation running on top of
Windows NT 4.0 called OPENSTEP Enterprise (often abbreviated OSE). This was an unintentional demonstration on the true nature of the portability of programs created under the OpenStep specification. Programs for OPENSTEP for Mach could be ported to OSE with little difficulty. This allowed their existing customer base to continue using their tools and applications, but running them on Windows, to which many of them were in the process of switching. Never a clean match from the UI perspective, probably due to OPENSTEP's routing of window graphics through the Display Postscript server—which was also ported to Windows—OSE nevertheless managed to work fairly well and extended OpenStep's commercial lifespan.
OPENSTEP and OSE had two revisions (and one major one that was never released) before NeXT was purchased by Apple in 1997.
Rhapsody, Mac OS X Server 1.0
After acquiring NeXT, Apple intended to ship
Rhapsody as a reworked version of OPENSTEP for Mach for both the Mac and standard PCs. Rhapsody was OPENSTEP for Mach with a
Copland appearance from
Mac OS 8 and support for Java and Apple's own technologies, including
ColorSync and
QuickTime
QuickTime is an extensible multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. Created in 1991, the latest Mac version, QuickTime X, is avai ...
; it could be regarded as OPENSTEP 5. Two developer versions of Rhapsody were released, known as Developer Preview 1 and 2; these ran on a limited subset of both Intel and PowerPC hardware.
Mac OS X Server 1.0
Mac OS X Server 1.0 is an operating system developed by Apple Computer, Inc. Released on March 16, 1999, it was the first version of Mac OS X Server.
It was Apple's first commercial product to be derived from "Rhapsody"—an eventual replacemen ...
was the first commercial release of this operating system, and was delivered exclusively for PowerPC Mac hardware.
Darwin, Mac OS X 10.0 and later
After replacing the Display Postscript WindowServer with
Quartz, and responding to developers by including better backward compatibility for classic Mac OS applications through the addition of
Carbon, Apple released
Mac OS X and
Mac OS X Server, starting at version 10.0; Mac OS X is now named macOS.
macOS's primary programming environment is essentially OpenStep (with certain additions such as XML property lists and URL classes for Internet connections) with macOS ports of the development libraries and tools, now called
Cocoa.
macOS has since become the single most popular desktop Unix-like operating system in the world, although macOS is no longer an OpenStep compliant operating system.
GNUstep
GNUstep, a
free software implementation of the
NeXT
Next may refer to:
Arts and entertainment Film
* ''Next'' (1990 film), an animated short about William Shakespeare
* ''Next'' (2007 film), a sci-fi film starring Nicolas Cage
* '' Next: A Primer on Urban Painting'', a 2005 documentary film
Lit ...
libraries, began at the time of NeXTSTEP, predating OPENSTEP. While OPENSTEP and OSE were purchased by Apple, who effectively ended the commercial development of implementing OpenStep for other platforms, GNUstep is an ongoing open source project aiming to create a portable, free software implementation of the Cocoa/OPENSTEP libraries.
GNUstep also features a fully functional development environment, reimplementations of some of the newer innovations from macOS's
Cocoa framework, as well as its own extensions to the API.
See also
*
NeXT character set
*
Multi-architecture binary
References
External links
OpenStep SpecificationSUNs Workshop OpenStep AnswerBookRich Burridge's Weblog on OpenStep at SUNThe NeXTonianNeXTComputers.orgOpenMagic 1.0 for Sparc by Luke Th. BullockNeXTanswers archive
{{DEFAULTSORT:Openstep
Application programming interfaces
Berkeley Software Distribution
macOS APIs
NeXT
Solaris software