GNUstep

From GNUstepWiki
Jump to navigation Jump to search

GNUstep is a cross-platform, object-oriented set of frameworks for desktop application development. The set of frameworks, based on Cocoa (previously OpenStep), enables developers to rapidly build sophisticated software by employing a large library of reusable software components. GNUstep is already used in production environments at several organizations.

A Quick History about GNUstep, NeXTSTEP and OpenStep

NeXTStep was the start. Later NeXT Computer, trying to broaden the acceptance of their object tech, tried licensing it to IBM and others as NextStep (while keeping their OS still, with the same capitalization NeXTStep). Later they renamed the OS NeXTSTEP, but still the object technology that they still hoped to license to other vendors was called NextStep.

Through this time frame, NeXT developed a primeval Foundation Kit, and the Enterprise Objects Framework (EOF) to replace their aging Database Kit (dbkit). Sun was really interested in EOF, and through this interest NeXT (now NeXT Software) managed to get them interested in an updated version of their tech.

GNUstep began when Paul Kunz and others at SLAC wanted to port HippoDraw from NeXTSTEP to another platform. Instead of rewriting HippoDraw from scratch and reusing only the application design, they decided to rewrite the NeXTSTEP object layer which the application depended on. This was the first version of libobjcX. It enabled them to port HippoDraw to Unix systems running the X Window System without changing a single line of their application source. After the OpenStep specification was released to the public in 1994, they decided to write a new objcX which would adhere to the new APIs. The software would become known as "GNUstep".

Together in October 1994, NeXT Software and Sun Microsystems published the OpenStep specification, which was co-designed but at this point not implemented by anyone.

The next versions of Solaris and NeXTSTEP, renamed to OPENSTEP 4.0, contained the new system.

There are a TON of names for the damn things.

However, OpenStep is not compatible with NextStep in either direction. OpenStep was a brand-new thing, only based loosely on the old "appkit" library.

Anyway, in '96 Apple Computer merged with NeXT Software with Apple paying $400 million in cash (and, IIRC, stock). Soon after, NeXT people took over key positions inside Apple, thus completing the "inverse takeover". Apple released the in-progress OPENSTEP v4.2 as a "Prelude to Rhapsody".

Through all this, the OS itself remained a pretty-crappy BSD with a nice, but rather different, GUI sitting on top of it. The BSD itself was bolted into Mach, which was almost used as nothing but a bootloader.