The popularity of OS X among geeks in recent years has led to a lot more people discovering OpenStep through Cocoa. GNUstep provides a much-needed Free Software alternative, as David Chisnall explains.

Sun, NeXT, and GNU

After leaving Apple, Steve Jobs created a new company, NeXT, with the aim of producing the perfect computer. In 1989, the operating system for this machine, named NeXTStep, was released.

In spite of being available initially only on the $6,500 NeXT Cube, NeXTStep was incredibly influential. The first web browser, WorldWideWeb (later renamed to Nexus) was developed on it. (The author, Tim Berners-Lee, claimed that his browser wouldn’t have been possible without NeXTStep’s superb development environment.) Other software developed on NeXT machines included Doom.

A few years later, in 1993, NeXT partnered with Sun to produce the OpenStep specification. This was a tidied-up version of the NeXT APIs, intended for cross-platform development. It was divided into two components:

Sun briefly supported OpenStep on Solaris, while NeXT released a new version of their OS—confusingly named OPENSTEP—which was made available for a number of architectures, including x86. NeXT also provided an implementation of the specification that ran on Windows.

At the time, there was significant interest from the GNU project in the NeXT system. Even today, many people regard OPENSTEP as the ideal UNIX OS. For awhile, the GNU operating system was intended to be very similar to NeXTStep; the GNU HURD kernel was based on the same Mach underpinnings as NeXTStep, although with a more ambitious design. The GUI layer would have been provided by a GNU implementation of the NeXT APIs. This project gained some more momentum after the OpenStep specification was released, but was gradually overshadowed by KDE and GNOME.

One of the major problems for GNUstep was the fact that very few developers had had exposure to NeXTStep or OPENSTEP. Then came the takeover of Apple by NeXT (a remarkable feat by Steve Jobs, who managed to persuade Apple’s management to pay his company to take them over). The barrier to entry suddenly dropped. Where previously NeXT hardware cost upwards of $5,000, and the i486 version of the OS cost $499, the machines were now affordable.

As more developers became accustomed to the elegance of the OpenStep API through Apple’s implementation, known as Cocoa, interest in the project was rekindled. At the current time, GNUstep implements more or less all of the original OpenStep specification and several OS X extensions.