Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In very, very short terms, Rhapsody is Apple's Windows 8.

In order to explain why that comparison makes sense at all, I first need to go over some basics.

After shipping the original Macintosh in 1984, Apple's investors got really mad about how the computer wasn't selling, and more or less forced Steve Jobs out of the company. Jobs decided he was going to build another computer company called NeXT, which was going to out-engineer Apple and make the next big thing. It didn't actually work out that way, but conveniently for Steve, Apple had been mismanaged into the ground and drowning in technical debt. So Apple basically bought NeXT because OPENSTEP (previously NeXTSTEP; at this point Steve was trying to turn it into a cross-platform API) was a functional operating system and all of Apple's attempts at System 8 (including asking IBM to finish Copland, which is another boondoggle called Taligent) weren't.

So, right when Apple announced the NeXT buyout, they also announced that the next version of the Macintosh's OS would be built on top of OPENSTEP, with all existing Macintosh software running in a fullscreen "Blue Box" VM. The "Yellow Box" would hold new software written to the OPENSTEP APIs, and these apps were properly memory-protected. (Context: At this point in time all System 7 apps ran in kernel mode with separate segmented heaps. It's exactly as bad as it sounds.) This new OS was code-named "Rhapsody", and it even came in an Intel port that would install and run just fine on most PCs (albeit without the Blue Box).

Apple's plan was basically to continue the NeXT business as-is, with some quick rebrands (including rebranding the Windows NT port of OPENSTEP as "Red Box") and hastily-written compatibility bridges so that Macintosh users wouldn't be completely left out in the cold. Users were anticipating the new OS, but developers were utterly furious that they were being told to basically abandon all of their software and rewrite it to this entirely different and far more complicated API. They called the Blue Box the "penalty box", because they felt punished for staying loyal to the Mac.

I call Rhapsody "Apple's Windows 8" because it basically tried the same thing Windows 8 did a decade later: foisting a technically superior but entirely incompatible API on developers who weren't interested in any of it. Some might disagree because, well... Apple never actually shipped what they announced. A year after assuming control of Apple, Jobs would come up on stage again and announce that Rhapsody was "cancelled". Instead they'd build an entirely new OS called Mac OS X, built exclusively for the Mac, with three new subsystems; "Cocoa" (OPENSTEP APIs), "Classic" (Mac Toolbox APIs), and now "Carbon"; the latter being specifically intended for quickly porting existing Macintosh software to OSX without rewriting your app. This made developers a lot happier and saved the entire transition.

In the meanwhile, because Mac OS 8 was terrible for running servers on, Apple would ship another """unrelated""" OS called "Mac OS X Server", which was literally just the cancelled retail release of Rhapsody with some extra server applications bundled in. It even called itself Rhapsody in uname.

If you're wondering what happened to the Intel version of Rhapsody, well... not counting the two developer releases before Rhapsody's faked death, Apple would maintain Intel ports of everything up until actually announcing a proper developer transition from PowerPC to Intel years later. Just as proof of how much Apple had learned their lesson of how not to handle a developer transition, Carbon would actually get ported to Intel, and there were Intel OSX apps that needed it. It was ultimately removed only in macOS Catalina.



The funny thing is that Carbon was based on the modified Toolbox APIs that were intended for Copland! There used to be a header with a big comment block telling the whole history. AFAIR, they had tried changing the System 7 APIs so they could run on a system with memory protection, then they gave up because Copland had failed (and I think part of it was a mandate to be able to use the System 7 API _without_ changes, which was impossible), then Mac OS X came along and the comment changed to "we're doing this after all, lol".


Thanks, I've never heard of this before so it was cool to learn about.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: