All | 43 Folders | Accessibility | BoingBoing | Books | Computer Related | Family | Films | General | Hacking | Hobbies | Humor | Java | Links | Omni | OpenSolaris | Puzzles and Games

« Animal Update | Main | Bobby Fischer Teache... »
20040809 Monday August 09, 2004

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.

[]

[]

( Aug 09 2004, 09:35:16 AM PDT ) [Listen] Permalink Comments [20]

Comments:

--> 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. hmmmm... is this possible now?.. I was thinking of opengl-hardware-accelerated-textures (render on texture technique) for quartz.. would it be possible? would it be fast?.. how fast? how fast was it with X11 at that time?

Posted by Apostolos Karakoussis on August 09, 2004 at 12:59 PM PDT #

Very good article... As a MacOS X User and NeXT-/OpenStep fan I would like to know more about OpenStep@Sun and how and why it died (Java?).

Posted by Sascha Matzke on August 09, 2004 at 01:16 PM PDT #

Hi Apostolos. If I remember correctly, the DPS environment took care of virtually everything. All I had to write were the routines that did bitblt's. I'll try to dig out the code to double-check, but there was certainly no OpenGL involved. At the time (1994-5), it was running on whatever was the current Sun hardware at that time. I forget. It should definitely still work, and nowaday I'd guess it would be quite responsive. There were/are no plans to release this code though.

Hi Sascha. I'll try to post some more on OpenStep. I'll dig through some old mail folders I have to see if that jogs my memory. Yes, in a word, Java caused OpenStep to perish on the vine. God forbid that we should have two products that provide similar functionality and cause confusion in our customer base. ;-)

Posted by Rich Burridge on August 09, 2004 at 01:52 PM PDT #

thanks. well what about the lighthouse design sources? any chance sun picks it up again? it would sure be more powerful than that slow openslowofficeslow. seriously thereis gnome(gtk), there is kde(qt), there is cde(motif), but the only thing i like and use is GNUstep.

Posted by Gurkan Sengun on August 09, 2004 at 03:35 PM PDT #

Hi Gurkan. You should ask our COO about Lighthouse Design sources! I know of no plans to do anything with them.

Posted by Rich Burridge on August 09, 2004 at 03:49 PM PDT #

I was thinking of a way to bring Quartz display back to the DarwinOS distribution. This way - although Cocoa would not be there - it could allow a speedier development of GNUStep and Darwin and quite possibly make more people come towards the OpenStep standard desktop or be able to touch OSX's capabilities without Apple doing a backward port to x86 (not that anyone can be sure they don't already have one ;) ). At the other far side this could allow Linux and other systems to manage getting some decent graphics subsystem that could potentially allow us to find a way to a more unified graphics subsystem architecture that can hold out to future developments. I was thinking towards OpenGL so that all work done on one platform would require no changes to work on all other platforms with as much acceleration as possible (since graphics cards tend to have excellent performance nowadays). Do you think this would be a viable project? (especially after cairo is on the way to X11 (http://cairographics.org/))

Posted by Apostolos Karakoussis on August 09, 2004 at 04:11 PM PDT #

I think a decent graphics subsystem on Linux (and Solaris) is coming. Have you seen the recent paper from Jim Gettys and Keith Packard on the (Re)Architecture of the X11 Window System?

Nowadays, with all the work being done on Linux, I'd be looking towards getting a decent OpenStep implementation running there first.

I don't think you are going to get too much help in the way of old freely available source code from either Sun or <strike>NeXT</strike> Apple. Both companies have moved on to other graphics sub-systems.

Just my personal view. I may be totally wrong. Lord knows it has happened before. ;-)

Posted by Rich Burridge on August 09, 2004 at 07:10 PM PDT #

What a blast from the past! I just read your blog entry on Planet GNOME. I had a NeXTstation in my office back in 1991-1992. I still think it was one of the best machines I've ever used. I'm not a proper hacker/developer so I don't really have a grasp of the details, but I remember people raving about the rapid application development envirnoment that NeXTStep/OpenStep, Objective-C and Interface Builder offered, and I remember seeing demos of truly impressive drag-and-drop and object-embedding in and between NeXTStep applications, and people building apps in minutes instead of hours.

I'd dearly love to read a future blog entry from you about how the old NeXTStep/OpenStep environment compares with its modern successors such as .NET/Mono, Java, GNOME/Bonobo/Corba, KDE/KParts, OSX/Cocoa, etc. I'm curious because (and maybe its just because I'm a sucker for PR hype!) the only demos I've seen lately that come close to some of the awe I experienced seeing NeXTStep being demoed have been Miguel's demos of Mono, and even then I think I was still more impressed by some of the things I saw NeXTStep doing.

Please write more on this!

Thanks, Darren

Posted by Darren Brierton on August 09, 2004 at 08:07 PM PDT #

My work study job at college was taking care of 40+ NeXTStations and assorted gear. Ahhh...the Halcyon days of youth.

Posted by Torrey McMahon on August 09, 2004 at 09:11 PM PDT #

Rich, Banlu has worked on a backend for GNUstep using cairo/glitz, i think it is in GNUstep cvs already. Can you tell me who the COO is? Some developers of GNUstep are very interested in the Lighthouse Design sources, Some GNUstep and the Gorm, GNUMail developers can be found in #gnustep on irc.gnustep.org (that's freenode). Myself I am called "tarzeau" there, Now if that wouldn't be joy and a very large step forwards if any Lighthouse Design Application could be ported to GNUstep and released. What do you think how expensive are the single programs of the Office Suite?

Posted by Gurkan on August 10, 2004 at 12:26 AM PDT #

i wasn't born at that time and this sugar story seems like what i would love having been told when young ;)

Posted by nesoko on August 10, 2004 at 04:55 AM PDT #

Hi Gurkan. COO is Chief Operating Officer, in this case Jonathan Schwartz, who joined Sun from Lighthouse Design back in the OpenStep days when we bought the company. Jonathan blogs here too.

I'm not very familiar with the Lighthouse Design suite of apps. I know we helped those guys get their stuff ported back in 1995/6, but I didn't work very closely with them.

Posted by Anonymous on August 10, 2004 at 08:04 AM PDT #

Grr. I'm going to be downloading the roller sources and fixing the "Remember Information?" bug myself before long.

Last comment is from me.

Posted by Rich Burridge on August 10, 2004 at 08:06 AM PDT #

Unfortunately the message was posted before a major harddrive crash but I believe that it's been determined that Sun has no intentions of ever releasing the source to Lighthouse. There was some traffic about this over at next.z80.org (a great site or NeXT and OPENSTEP stuff). They petitioned Sun and got the response that there will be no openning of the source or even release of existing binaries. It's not that it is impossible, it's just highly improbable. I wish I still had that message. Here is the latest reference to it I found on USENET: http://tinyurl.com/3wtlj

Posted by Hank on August 10, 2004 at 11:13 AM PDT #

Thanks for mentioning NEO! At that time, I was young and not a developer, so I had nifty Sun gear pushing NEO, but never seemed to understand what it was. I was alittle shocked when 6 months went by and I hadn't heard about it; the OpenStep/NEO push was huge it seemed like and then just fizzled out without much fanfare. If you could fill in some details about the demise that'd be very interesting. Lots of interesting history there.

Posted by benr on August 13, 2004 at 02:20 PM PDT #

Reading thru more of the comments I was reminded of something. In the Sun Library, at the Santa Clara Campus (I worked there as a contractor during the iPlanet migration) there is a selection of videos. Amoung these videos is a developer showdown between NeXT and Sun. Obviously the point here was to show that the NeXT platform is a breeze to develope on, but it was a really awsome video. I'd love to see that make it's way to the net one day for all to see. Personally, I was in Sun's corner for that fight. But I will admit that I (to this day) have a NeXT Turbo Slab in my garage which I still love to use. I'll also point out that there is still a Bay Area NeXT Users Group (BANG) here in the Silicon Valley, which I don't attend often anymore because it's all OSX talk these days with alittle WebObjects from time to time.

Posted by benr on August 13, 2004 at 02:25 PM PDT #

Please tell us more about OPENSTEP at SUN. And what about that video , can I have a copy of it, benr?

Posted by Gürkan Sengün on September 30, 2004 at 02:42 AM PDT #

Be sure to check out my little NeXT site: http://next.z80.org. We collect old stuff about NeXTSTEP and discuss everything NeXT in a forum. What I'm trying to say is that it would be great to have more of you guys out there to hang out with us.

Posted by Joacim Melin on September 30, 2004 at 11:48 AM PDT #

Hi Rich In our lab we have 3 or 4 old Sparcstations with the afferent software since solaris 1.1. One of the machines (a pizza box sparstation 10) is still running with Solaris 8 on top so I was wondering if it is still possible to run openstep1.0 (another goodie from those old sunsolve CDs) on it? I managed to install the packages but the openstep session does not show up in the CDE login manager despite the fact that I've installed the package which was assumed to enable this. Is it possible to run openstep on this workstation with solaris 8 or better install an old 2.5 system?

Posted by Oldkerosen on November 16, 2004 at 04:08 AM PST #

Hi. I don't think I can help you. I've worked on three other projects since then and my memories of exactly what OpenStep ran on are faded. I suggest asking some of the other folks who have commented on this post, or google around looking for sites that talk about OpenStep/Solaris.

Posted by Rich Burridge on November 16, 2004 at 05:43 AM PST #

Post a Comment:

Comments are closed for this entry.