OpenStep history
|
I heard today that one of our PlanetSun loyal viewers would like to see some articles on OpenStep, so I'll start the ball rolling as I was involved in that project between 1994-1996. |
OpenStep was part of something called Neo - Network Extensible Objects, the follow-on from DOE Distributed Objects Everywhere (pronounced Doh!). It was an attempt to create a standard specification based on NeXTStep from NeXT, plus an implementation of that specification and to provide a desktop environment, similar to the existing NeXTStep one, but with all the applications rewritten to use OpenStep API's rather than NeXTStep ones. Here's a screenshot.
We worked closely with NeXT. Greg McLaughlin, the Sun OpenStep director at the time, fondly recalls many occasions when Steve Jobs phoned him up at ungodly hours to discuss the project.
As you are probably aware, a lot of the ideas and development from NeXTStep and OpenStep ended up in the latest Mac OS X from Apple.
Anyway. Let's talk some history. Stuff that probably isn't known out there.
There were two projects around this time. The first was a port of the NeXTStep environment to run on Sun hardware, and directly on top of the frame buffer. Then there was the OpenStep project as outlined above, that was to run on top of the X11 windowing system, and be able to happily interact with CDE, our desktop graphics environment of the time. This is about the latter one.
Let's throw a few more variables into the mix. NeXTStep, on which OpenStep is based, is written in Objective C. We didn't have Objective C support in the Sun compilers at that time, so there was a small sub-group working on that. NeXTStep is designed to work in a Display PostScript environment, so extra work had to be done to get it to properly render in our X11 environment. Then all the applications had to be ported over, converting NeXTStep API calls to their OpenStep equivalents.
As you can imagine, because of all this, there is an initial bootstraping effort. Everybody is dependant upon everybody else. How do you get started? Well we created two prototyping environments before we fully started in on the OpenStep work.
SideStep: Mark Anenberg created this. Each Sun developer, as well as having Sun hardware to develop on, also had a PC running NextStep so that we could eventually compare results. Mark created the ability to run the NeXTStep apps on the Sun but display them over on the NeXT PC. This really helped kick start the development work.
FootStep: While this was going on, I ported the NeXT Display PostScript runtime environment, to run in a window on top of X11 on the Sun hardware. I hooked up the mouse and keyboard events to their X11 equivalents, and you could then run the NeXTStep applications in this environment.
By the time we had most things working in FootStep, the compiler guys had done their job and the graphics guys had done their job and we started getting the applications to run natively on top of X.
I do remember that a couple good T-shirts came out of this project. The Neo folks (or was it the DOE folks?) created one with the slogan "Drag me, drop me, treat me like an object". The unofficial OpenStep T-shirt showed a man trying to push a large object uphill. I don't have a picture handy, but this GIMP splash screen will give you an idea of what I mean.
[Technorati Tag: Computer History]
( Aug 09 2004, 09:35:16 AM PDT ) [Listen] Permalink Comments [20]












