|This is a question that comes up quite a bit. And though it may seem like the easy answer is that it was the "precursor to Mac OS X" or the "operating system that followed NEXTSTEP and OPENSTEP", those answers often lead to more questions.|
This page is my attempt to answer that question in a fairly straight forward but not too technical (I hope) way that also touches on why some paths were taken over others.
What is NeXT?
We start by assuming that most people know what Apple is and was back in the 1980s.
Steve Jobs was one of the founders of Apple Computer and had been one of the strongest backers of the Lisa and Macintosh projects at Apple. Both projects had very slow starts (Lisa morphed into the Macintosh over a period of a year and a half) and after the Macintosh started gaining a foothold most people at Apple wanted to give it a chance to bring in a return.
As is generally known, Jobs and some of the people at Apple had gotten a lot of ideas that led to the Lisa from Xerox's Palo Alto Research Center (PARC). This sharing of technological ideas was more of a trade (Xerox's ideas for Apple's stock) and it led to many Xerox researchers leaving PARC for Apple where they could bring some of those ideas to fruition.
As is also most likely known, there was a lot of infighting at Apple in those days with the technology areas divided between the Apple II/III projects and the Lisa/Macintosh projects. At the higher levels the divisions also stemmed from clashes in ego culminating in the ouster of Jobs.
Jobs still wanted to bring to a product line many of the things that had not made it to the Macintosh that he had seen in that visit to PARC so many years earlier. To do this he started a new company called NeXT Computer.
NeXT would pick up were Apple had left off with Macintosh. And Jobs quickly had many of the Macintosh projects people working at NeXT.
This did not go unnoticed by Apple (as you can guess) who quickly sued NeXT. The settlement between the two would play a major role in the future of NeXT Computer. NeXT had agreed to not enter into the desktop market as a direct competitor of Apple. This is why there were never any cheep, low end NeXT computers. NeXT was forced to market their systems as low to mid range workstations.
In retrospect, this really (more than any other factor) doomed NeXT Computer from the start. But at the time, Jobs wanted to finally make a system with all the advances that he felt should have been part of the Macintosh project from the start.
What is NEXTSTEP?
When it came to hardware, it was little surprise that NeXT didn't fall very far from the Apple hardware design. In the late 1980s Motorola had a major lead in processor technology over Intel and that lead was why Macs and NeXT systems were able to do what they did (while other PCs were no where even close). NeXT wasn't the only company to follow Apple's lead right up to Motorola's door, Silicon Graphics also used Motorola processors in their late 80's systems.
While the hardware was a forgone conclusion, the software for these NeXT systems wasn't.
All of Jobs big ideas needed a foundation. As they were forced into the workstation market, UNIX was a given. But what form of UNIX took some thought. NeXT really wanted to be part of the educational system, so part of those foundations needed to be what was being used by universities. That pushed them in the direction of UC Berkley's BSD. But at the same time they wanted some freedom of having their own core operating systems.
While traveling from university to university, Jobs came across an operating system project at Carnegie Mellon University (CMU) called Mach. One of the main designers of this system was a graduate student named Avie Tevanian, who was quickly hired by NeXT. Mach was designed to be used as a foundation to a larger operating system. And NeXT was able to use BSD to flesh out Mach into the core of their new OS.
With the foundations laid, the next step was the programing interfaces. This was where Apple had stopped moving in the directions PARC had started down. NeXT moved to a fully object oriented development platform based on Objective C that would make it easy for people to develop applications.
At about this time, the desktop publishing market had taken off. While the Macintoshes ease of use and WYSIWYG application style made creating content easier than traditional methods, it was really Apple's LaserWriter using Adobe's Postscript printing language that made all that possible. As NeXT's operating system was still in the middle of development, they decided to make their system work better than anything else out there with Postscript. NeXT and Adobe joined to develop a new screen rendering system based on Postscript called Display Postscript.
When it came to displaying something using this rendering engine, NeXT developed it's own GUI interface. This was a mixed blessing. Most workstations were using some form of the X Windows System for displaying graphical content at that time. X Windows was painfully immature for the tasks NeXT had in mind, so like Apple, NeXT developed their own way of managing windows and other GUI widgets.
In all reality, this was the only choice they could have made. The X Windows System had become a group project of sorts. When a developer needed some functionality in their X app, they would hack together what they needed. This made most X apps of the late 80's and early 90's wildly different from one another. There was also the problem of dealing with fonts, which X Windows was never really designed to deal with. Even today, X Windows makes for a shaky foundation on which other window managers have piled on top of to produce a user environment.
In October of 1988, NeXT Computer showed off their first NeXTcube running NeXTSTEP 0.8. It wasn't long before companies like IBM, HP and Cannon started approaching NeXT about porting NeXTSTEP to their platforms. While this was the furthest thing from Jobs' mind at the time, everything was portable... either as a whole or as layers.
What is OpenStep?
As I said earlier, the seeds of NeXT Computers doom were sewn in them being forced into the workstation market. The cost of a workstation was beyond what most people would pay (and outside of where most people could buy computers) and not making it an X Windows capable workstation (though it could be added on) made them a hard sell in the standard workstation market.
Still, it was obvious to most people that this was something that was way ahead of it's time and a lot of companies wanted in on it. As NeXT wined down it's computer hardware business, it started opening up it's software opportunities. As I said earlier, the operating system was portable. So they quickly ported it to a number of other platforms. Further, the development/application environment could also be portable with a little work. This is what Sun Microsystems saw in NEXTSTEP.
Sun proposed opening the development/application environment for other operating systems (including their Solaris operating system). This variation on the development/application environment would come to be known as the OpenStep Specifications.
Further, Sun wanted to move away from their OpenWindows (their version of X Windows) and CDE (IBM's Common Desktop Environment specifications which used Motif) user environments and to a GUI that was based on NEXTSTEP (Sun was already using Adobe's Display Postscript). This was to become OpenStep Solaris.
What is OPENSTEP?
The development of OpenStep lead to a lot of changes in the development/application environment. NeXT had moved some of these into NEXTSTEP 3.3, but had put most of the work into bringing their operating system into compliance with the OpenStep specifications with version 4.0.
This is where someone got the big idea of renaming NEXTSTEP as OPENSTEP.
Further, as Sun's OpenStep Solaris looked almost identical to NEXTSTEP 3.x, NeXT abandon many of the GUI updates that had been part of the NEXTSTEP 4.0 beta releases so that OPENSTEP and OpenStep Solaris would look alike. At this point NeXT wanted out of the operating system business for many of the same reasons they wanted out of the hardware business, and this seemed like the easiest way to move their users over into Sun's hands.
What is Rhapsody?
I don't know how it is for women, but most men never really get over their first love.
All the plans were set. Sun would take over the "platform" mantle for NeXT. Sun had just acquired Lighthouse Design so that they would have their own office suite to compete with Microsoft and it's Windows/Office combination. NeXT was moving towards Enterprise and Web services.
Apple at this time had just pulled the plug on Copland, a project to replace the Macintosh operating system. The project had stalled on a number of fronts, and Apple was in the market to jump start the replacement idea by acquiring some other operating system as a foundation. Most everybody had thought that this other operating system was going to be the BeOS (which was made by another former Apple executive's company).
To set the stage a little, Sun was at the top of it's game at this time. The internet was taking off and Sun had a ton of money. Had they known NeXT was for sale, I'm quite sure they would not have hesitated to buy it to secure the technology which they were spending so much time transitioning to. Given this, I don't think NeXT was up for sale at that point.
Jobs wanted to get back to Apple. And I think he saw that he had what they needed. So he quietly made it known to Apple that they were open to the idea of being acquired.
In December of 1996, Apple and NeXT announced that they were merging. And as you can guess, this brought all of Sun's plans for OpenStep Solaris to a halt.
Apple continued to support NeXT products while integrating the new technology into their future.
Apple's first steps with their new technology was to start moving it to Apple's hardware and to makes some of their own advances to the development/application environment (which was renamed Yellow Box). The new version of the operating system (version 5.0) was also renamed (yet again) to Rhapsody.
Apple was able to iron out most of the issues with the Yellow Box and the rest of the system within two developer releases of Rhapsody (the last actually being a platform for developers to make apps for the final public version).
What the new NeXT people at Apple found was the same road blocks that people in the Copland project ran up against early on. Mac developers not wanting to have to rewrite their applications.
Even as Rhapsody Developer Release 2 reach the hands of developers, Apple had already started formulating a plan. The plan was to be called Carbon.
What is Mac OS X?
Rhapsody had reached a point of maturity that it could now stand on it's own in public, but Apple was now faced with the problem that it would most likely not get past the Applications Barrier (a term heavily used within the DoJ's case against Microsoft and their monopoly tactics). Because of this Apple pulled the general "client" version of Rhapsody and only released a version with a suite of server apps (given the product name: Mac OS X Server).
To solve this Applications Barrier problem, Apple went back to Copland development. When they had run up against the same problem, they had started working on a solution where most of the existing Mac APIs would work in the new kernel based operating system.
At the World Wide Developers Conference in 1998, Apple showed off an early alpha version of Carbon running in Rhapsody Developer Release 2. What was amazing was that they had a demo version of Adobe's Photoshop 5.0 running as a native Carbon app in Rhapsody. This success most likely directly led to a certain over confidence at Apple and they started giving out what would turn out to be very unrealistic release dates.
||(Photoshop 5.0 running as a Carbon app in Rhapsody 5.1 at WWDC 1998)|
|This new Carbon based path was given a new name: Mac OS X. While it was founded on the same technology as Rhapsody, it was to relieve Apple of some license restrictions left over from NEXTSTEP/OPENSTEP (like Display Postscript). Part of the reason for renaming Rhapsody Server to Mac OS X Server was to show that they were making progress and were actually getting products out into peoples hands. The drawback of this is that Mac OS X Server 1.x was not really Mac OS X at all, it was still Rhapsody.|
Even after making the move to Carbon, Apple still had a ways to go with the major developers who had been holding out with Rhapsody. They were afraid that Carbon was going to be a second hand environment to Yellow Box (which would soon be renamed, yet again, to Cocoa). One of the things Apple did to try and put this fear aside for them was to get rid of the Workspace Manager and replace it with a totally new Finder written from the ground up in Carbon... which also showed Apple that even though their WWDC demo in 1998 was impressive, they were far from having an environment that was ready for the public or their developers.
Because of this, Mac OS X didn't reach maturity (at least of the Carbon front) until late 2001.
This extended development time was the reason that Mac OS X Server 1.x was on the market far longer than Apple had planned on. They seem to have envisioned a single release of Mac OS X Server (in March of 1999) which was to be quickly followed by a "Mac OS X based" version of Mac OS X Server. The Rhapsody version stayed on the market until the summer of 2001 when the first Mac OS X version of Mac OS X Server (v10.0.3) was released.
How closely related is Rhapsody and Mac OS X?
These systems went through worlds of changes. While Rhapsody is similar in many ways to Mac OS X, even versions of Mac OS X are quite different from each other.
For example, I have applications that run in Mac OS X Developer Preview 4. Some of these still worked in Mac OS X Public Beta and none of them continued to function in Mac OS X v10.0. Some of my Public Beta apps still worked in 10.0 but stopped functioning in 10.1. And generally speaking, if something worked in 10.1, there was a good chance it would continue to work in 10.2/10.3.
I hope that sets up what these operating systems are and how they came about. I know that when someone says "Mac OS X is a Unix OS" that they see the word "Unix" and the roman numeral "X" (which is pronounced "10") and think that it must be like the other Unix operating systems and uses the X Windows System. Apple does (now) supply an X Windows System (called X11) but it is an addition to Mac OS X and not part of what Mac OS X actually is.
The same goes for Rhapsody. It does not come with an X Windows System, but there are third party additions that provided that environment.
NEXTSTEP, OPENSTEP, Rhapsody and Mac OS X are pretty unique in what they are and how they fit into the "Unix" landscape.