GNUstep History


Next...

It all started with NeXTSTEP a revolutionary new OS based on Mach kernel, Unix tools and the NeXTSTEP programming environment and user interface.

1988. When Steve Jobs left Apple Computers, Inc he started a new company called NeXT Computers , Inc. In 1988 the company released a computer called the NeXTCube with a new operating system called NeXTSTEP.

1989. In 1989 NeXTSTEP 1.0 saw the light of day.


GNU

The GNU project by the FSF wanted to join the first cross platform programming environment that NeXTSTEP promised to be with names like Sun, Digital, IBM and probably even HP behind it.

11 May 1991. Barry Merriman first uses the name GnUStep as far as I have been able to figure out:

Subject: GnUStep

<snip>
>The best bet is Next being nice enough to give NextStep to the FSF,
>and let us run it on GNU (based on Mach3).

Yes, this would be great; they could call it GnUStep.
<snip>

   

Development starts in a dual fasion. Andrew McMullem starts from scratch writting what will become the Foundation part of the NeXTSTEP system and Paul Kunz from SLAC has already written with others objcX (AppKit) to be able to use their HippoDraw application on other systems then NeXT.

21 May 1993. Alpha Release of the Collection Library for GNU Objective-C by Andrew McCallum (libcoll).

<snip>
* What is the Collection library?

It's a library of Objective-C objects with similar functionality to
Smalltalk's Collection objects.  It includes: Set, Bag, Array,
LinkedList, LinkList, CircularArray, Queue, Stack, SortedArray,
MappedCollector, GapArray and DelegateList.  

Outside of its main heirarchy it also includes List, HashTable and
Storage objects compatible with NeXT's objects of the same name.
<snip>

22 May 1993. Kresten Krab Thorup releases Beta releases of the GNU Objective C Collection library


OpenStep

Late 1993 Next Computers Inc. and SunSoft inc. announce that they will write a standard called OpenStep which other implementations can adhere to.

December 1993.

I must let you all know that a "GNU" implementation of OpenStep is in the works,
and has been for a few months now.

It started from two directions: One, some people at the Stanford Linear
Accelerator Center needed to be able to compile their NeXTSTEP apps on
a other machines.  They wrote quite a bit of their code to make a NeXT-
like API on top of Motif.  More beyond this, I really shouldn't say, as
that wasn't my project.  Two, I decided that I'd like to be able to create
programs in a NeXT environment, but couldn't afford the NeXT machine OR
their software for Intel machines (or the special hardware they require
for the Intel machines).  So I decided to start drawing up my own API.

Since the announcement of OpenStep, our two teams have come together,
somewhat.  SLAC agreed to let what they created into GNU, and my idea
was to make my software GNU all along.  While their are still differences
in the implementation details between our groups, I believe we can
still create the "GnuStep" everyone here would like to see in a reasonably
short period of time...

The current implementation is still rather flakey, but IT DOES WORK, kinda.
The idea, at the moment is to fix up what we already have to make it
true OpenStep.  The current phase is to isolate the Motif components of
SLAC's library, and set the whole thing up so that Objective-C "categories"
can be used to run OpenStep on a variety of windowing systems.  The
first windowing system we are supporting will, of course, be X.  Motif
support may be done at the same time, although Motif is being looked
down upon the the GNU gods (can't say I disagree!).

There has been a call for help placed in the GNU Objective-C mailing
list, and it's now being placed here.  It would be a tremendous help for
those out there to be willing to spend some time to "fix" what we already
have (isolating Motif), and to build the remaining necessary components.
If all of you out there really mean what you say, that you'd love to see
OpenStep for your machine (even in a somewhat crippled implementation),
let me know!  The plan is being layed out, and WE NEED HELP!

The current SLAC implementation is available at

        ftp.slac.stanford.edu:pub/sources/objcX-0.5.tar.gz

	Thank you.

	  -- Keith
	  --
	  Keith Mason
   

27 January 1994. Michael D. Marchionna sends out a CALL FOR VOLUNTEERS FOR A NeXTStep -> OpenStep --> GnuStep PROJECT

<snip>
According to the NeXT/SUN announcement  the OpenStep specification  will
include the following:

 o Objective-C compiler
 o Display PostScript
 o The NeXT AppKit
 o Portable Distributed Objects
 o Project/Interface Builder

For GnuStep  to become a   reality the above  software  tools need to be
developed.  If this sounds absurd  perhaps you should stop reading  now.
If not, let's take a closer look at what needs to be built.
<snip>

19 October 1994.

October 19, 1994

NeXT Computer, Inc. and SunSoft, Inc. are pleased to release the
specification of the final OpenStep application programming interface. 
The specification is available in two formats:

        OpenStepSpec_rtf.tar.Z  	Rich Text format (RTF)
	OpenStepSpec.ps.Z  		PostScript format

The RTF version is especially suitable for on-line study since it allows
text searches. However, it doesn't preserve the page numbering and
footers of the original. The PostScript version, which does preserve page
formatting, is provided for those who wish to print the specification.

8 November 1994. Andrew McCallum releases GNU Objective C Class Library version 0.1.0

<snip>
It is a library of general-purpose, non-graphical Objective C objects
designed in the Smalltalk tradition.  It includes collection objects for
maintaining groups of objects and C types, streams for I/O to various
destinations, coders for formating objects and C types to streams, ports
for network packet transmission, distributed objects (remote object
messaging), pseudo-random number generators, and time handling
facilities.
<snip>
Renamed the library from `libcoll' to `libobjects'.
<snip>

21 November 1994.

REDWOOD CITY, Calif.-November 21, 1994-NeXT Computer, Inc.
and SunSoft, Inc. released on-time the final specification
which defines the application programming interface (API)
for OpenStep.  The OpenStep specification is now available
to the public via anonymous FTP from NeXT's archive server:
ftp.next.com.  The delivery of this open specification,
jointly announced by NeXT and SunSoft, Inc. one year ago
this month, demonstrates the two companies' dedication to
creating an open object standard.


GNUStep

The OpenStep standard is there and the GNUStep project has the goal of writting objcX and libobjects into a real OpenStep compliant system.

January 1995. The first announcement in the GNU Bulletin:

GNU's Bulletin       January, 1995:
* GNUStep: GNU OpenStep

OpenStep is an object-oriented application programming interface
specification being proposed as an open object standard.  Since its
announcement over a year ago, there has been much interest in a GNU
implementation, which is named GNUStep.  Work has started on an
implementation using an existing library written in Objective-C as a
starting point.  Much work remains to be done to bring this library
close to the OpenStep specifications.  Volunteers should contact
`Paul_Kunz@'.
	

March 1995. First found CVS checkin of Adam Fedor

27 April 1995. gnustep.org is registered

18 July 1995. Paul F. Kunz announces version 0.86 of objcX library

26 December 1995. Adam Fedor announces version 0.87 of the Objective-C GUI Library (objcX)

1996. The GUI library is about 25 percent done. It is going through a major transition at the moment to coordinate work from multiple developers, DisplayPostscript, and the non-OpenStep objcX library into a single package

     139616 1996/08/31 20:12  /OpenStep/systems/gnustep/sources/alpha-snapshots/gnustep-gui-960621.tar.gz
      85360 1996/08/31 20:06  /OpenStep/systems/gnustep/sources/alpha-snapshots/gnustep-xdps-960621.tar.gz
      32650 1996/08/31 20:00  /OpenStep/systems/gnustep/sources/alpha-snapshots/objc-960605-diff.gz
     196505 1996/08/31 19:55  /OpenStep/systems/gnustep/sources/alpha-snapshots/pthreads.0.9.2.tar.gz
     643383 1996/09/06 20:07  /OpenStep/systems/gnustep/sources/gstep-base-0.2.7.tar.gz
          0 1996/09/22 01:58  /OpenStep/systems/gnustep/sources/gstep-base-960531.tar.gz
     416615 1996/08/31 19:24  /OpenStep/systems/gnustep/sources/libobjects-0.1.19.tar.gz
     408159 1996/08/31 19:50  /OpenStep/systems/gnustep/sources/objcX-0.87.tar.gz

4 Oktober 1996. First release that integrates the x/DPS backend.

* GNUstep Base Library (gstep-base): gstep-base-0.2.10.tar.gz.
* Display Ghostscript System (dgs): dgs-0.1.1.tar.gz.
* GNUstep GUI Library (gstep-gui): gstep-gui-0.1.1.tar.gz.
* GNUstep GUI X/DPS Backend (gstep-xdps): gstep-xdps-0.1.2.tar.gz.


Base 1.0.0

16 March 1998. Adam Fedor announces GNUstep version 0.5.0

* This is first release which has all of the core GNUstep libraries
  combined into a single package which allows configuring, making,
  and installing of all the core libraries with just a few commands.

10 june 1998. Initial xraw backend

A preliminary snapshot of a pure X-windows backend to GNUstep has been
placed at

ftp://alpha.gnu.org/gnu/gnustep/snap/xraw.0.0.1.tar.gz

This library is probably buggy, only developers willing to send in bug
fixes should use it.

The library is based on NSXKit. Felipe A. Rodriguez 
has done some great work updating it to get it to work as a backend.
Please send any bug fixes, or offers to help, to him.
	

28 March 1999. xgps moved into core

The xgps backend has been moved into core. xgps is a backend that is
very similar to xraw, except that it is a step closer to getting rid of
the backend system altogether, by moving more functionality into a backend
"Drawing Engine", and should make it easier to integrate and track the
XDPS backend (when it comes back online in a few weeks or so...)
	

9 March 1999. GNUstep version 0.5.5

* A new X11 only gui backend was written, and the gui was much
  improved (probably an understatement). The X11 backend is the
  default now, until DGS gets improved.
Introduction of the xraw backend.

14 September 1999. Adam Fedor announces GNUstep Version 0.6.0

The XDPS backend now works and is basically consistant with the xgps
library, although because of deficiencies in DGS, compositing and alpha
channel do not work.
xraw is replaced by xgps as the X11 backend.

9 April 2001. Adam Fedor announces GNUstep LaunchPad Version 1.0.0

GNUstep Make
GNUstep Base
GNUstep Guile
JIGS

Foundation is now an official 1.0.0 release.


GUI 1.0.0

12 April 2002. Alexander Malmberg makes his first release for the libart/freetype-based backend

01 May 2002. GNUstep GUI 0.7.7. Big change in the GUI library which now consists of a backend:

The graphics/window interface was completely revamped. Window
functions were split into a separate class, GSDisplayServer, and many
PS and DPS functions were removed that were never implemented. However,
new functionality was added to make things faster and eventually
implement Quartz compatibility.

In addition, the old backends, xgps and xdps were depreciated in
favor of a new backend, simply named back, which can be configured for a
variety of window server and graphics implementations, and also allow
for improved code sharing.

In addition there is now a window server backend for Windows
computers, although it is in a very alpha state.

28 July 2002. GNUstep Base Release 1.4.0: DO now works on Windows, Runs on Darwin with GNU runtime.

25 December 2002. Nicola Pero announces first public release of Renaissance.

27 July 2003. GNUstep GUI 0.8.8 with the art backend incorporated