OpenStep [oʊpn̩ˈstɛp] (engl. ‚offener Schritt‘) ist eineSpezifikation für eine objektorientierteProgrammschnittstelle (API) für Computer, die zwischen dem Kernel und den Applikationen vermittelt; sie wurde vonNeXT undSun erarbeitet. Das „Open“ verweist nicht etwa auf freie Software, sondern darauf, dass die Vorzüge von NeXTStep durch OpenStep Hard- und Softwareplattform-übergreifend implementiert werden konnten.
DasBetriebssystemOPENSTEP (in Großbuchstaben) ist die ersteImplementierung der Programmierschnittstelle[1] – beide wurden aus deren Vorgängern entwickelt: der Programmierschnittstelle NeXTstep (in der Schreibweise mit kleingeschriebenem „step“) des gleichnamigen Betriebssystems NeXTStep bzw. NeXTSTEP. Der Nachfolger bzw. die Weiterentwicklung von OpenStep ist dieYellow Box ausRhapsody, woraus letztlichCocoa entstand, die native Programmierschnittstelle vonmacOS undiOS.
Die OpenStep-API war das Ergebnis der Zusammenarbeit von NeXT (heuteApple) und Sun Microsystems (heuteOracle). Dabei wurde die bereits existierende objektorientierte NeXTstep-API gemeinsam erweitert und die Spezifikation offengelegt. Das erklärte Ziel war es, eine Multi-Plattform-Programmierschnittstelle zu erschaffen, die neben dem Betriebssystem von NeXT (NeXTSTEP wurde dabei in OPENSTEP umbenannt) auch aufSolaris von Sun undWindows NT von Microsoft hätte verfügbar sein sollen. Damit hätten Programme, die die OpenStep-API nutzten, auf mehreren Betriebssystemen und Architekturen (Plattformen) laufen können. Sun zog sich jedoch Mitte der 1990er-Jahre aus der Entwicklung zurück, da man sich voll aufJava, das ebenfalls als Multi-Plattform-Programmierschnittstelle konzipiert war, konzentrieren wollte. Nach der Übernahme von NeXT Anfang 1997 wurde die Programmierschnittstelle bei Apple weiterentwickelt und als Yellow Box inRhapsody und als Cocoa inMac OS X integriert. Der Multi-Plattform-Anspruch wurde nach 1998 nicht weiter verfolgt – die Schnittstelle wird nur noch für Apple-Entwicklungen genutzt. Mac OS X wurde inzwischen umbenannt: von 2012 bis 2016 hieß es OS X (ohne „Mac“ im Namen) und seit 2016 heißt esmacOS. Auf Basis von Mac OS X entstand ab 2005 schließlich die iPhone OS und iPad OS genannten Varianten, die 2010 iniOS umbenannt und zusammengeführt wurden, bis sie 2019, mit der Vorstellung voniPadOS, wieder voneinander getrennt wurden. iOS bildet jedoch die Basis sowohl von iPadOS als auch vontvOS undwatchOS. Alle diese auf dem quelloffenen BSD-UnixDarwin fußenden Betriebssysteme beinhalten Cocoa als eine der wesentlichen Programmierschnittstellen.
Mit der Version 4.0 des davor (bis Version 3.3) als NeXTStep bzw. NEXTSTEP bezeichneten Betriebssystems implementierte NeXT erstmals die OpenStep-APIs und nannte das Betriebssystem fortan ebenfalls OPENSTEP, jedoch zur Unterscheidung von der API in Großbuchstaben.OPENSTEP forMach (auf Unix-Basis) lief u. a. auf Motorola-68k- und Intel-IA-32-CPUs und mitOPENSTEP Enterprise gab es einen Aufsatz fürWindows NT für dasOpenStep forWindows portiert wurde.
Nachdem NeXT im Januar 1997 von Apple aufgekauft worden war, entstand unter dem NamenRhapsody auf Basis von OPENSTEP Apples neues Betriebssystem, das dasLook & Feel des bisherigenMacintosh-BetriebssystemsMac OS mit der Funktionalität von OPENSTEP verband. Mittels derBlue Box konnten darauf auch für das klassische Mac OS entwickelte Anwendungen ausgeführt werden, waren jedoch auf ein virtualisiertesMac OS 8.5 angewiesen. Trotz Fertigstellung von „Rhapsody 1.0“ blieb es bei als Vorschau für Entwickler veröffentlichten Vorabversionen, da das Projekt kurz vor der geplanten Veröffentlichung gestoppt wurde. Als Server-Betriebssystem wurde Rhapsody schließlich dennoch veröffentlicht, jedoch bereits unter dem neuen NamenMac OS X Server 1.0 exklusiv fürPower-Macintosh-Server.[2]
Auf Basis von Rhapsody wurde eine neuegrafische Benutzeroberfläche mit dem NamenAqua entwickelt sowie der ursprünglicheMacintosh-Baukasten zu 75 % alsCarbon-API portiert. Das sollte den Erhalt der Macintosh-Plattform auch auf Mac OS X sicherstellen, da Entwickler ihre Mac-OS-Anwendungen damit leichter auf das neue Betriebssystem portieren konnten. Die Weiterentwicklung von Carbon wurde 2007 eingestellt. Für neue Applikationen waren die weiterentwickelten OpenStep-Schnittstellen vorgesehen – die originale OpenStep-API findet sich heute größtenteils in derCocoa-API von macOS undiOS wieder. Das Server-Betriebssystem wurde anfangs alsMac OS X Server mit der gleichen Versionsnummer wie das Desktop-System (10.0, 2001, bis10.6, 2009) als eigenständiges Betriebssystem herausgebracht, ist jedoch seitOS X Server 1.0 (Lion Server, 2011) über denApp Store auf dem jeweiligen macOS nachinstallierbar. Zusammen mit weiteren APIs und mit demDarwin-basierten Unix-Kern, der noch von Rhapsody stammt, sowie proprietären Entwicklungen (wie dem Aqua-Desktop) veröffentlicht Apple dasBetriebssystem Mac OS X (zwischen 2012 und 2016 nur noch OS X, seit 2016 macOS) und iOS (und darauf basierendtvOS/watchOS) exklusiv für die eigene Hardware. Die Fähigkeit von OPENSTEP – als Urvater von Mac OS X/OS X/macOS – auf verschiedenen Architekturen und Kerneln zu laufen, gab Apple die Flexibilität, das Betriebssystem zu modernisieren und gleichzeitig die Kompatibilität mit vorhandener Mac-Hardware und -Software aufrechtzuerhalten.
GNUstep ist einefreie Implementierung von OpenStep für andereBetriebssysteme wieLinux,Unix oder auchWindows. Während erste Versionen zu NeXTStep/OPENSTEP kompatibel waren, dient in aktuellen Versionen macOS als Vorbild. Im Wesentlichen handelt es sich beim weiterentwickelten GNUstep daher um eine Nachbildung der Cocoa-Schnittstellen von Mac OS X/OS X/macOS, also der weiterentwickelten ursprünglichen OpenStep-API.