The GNUstep Suite

The GNUstep suite consists of the core packages, the development tools and some auxiliary libraries. You can see a representation of how they are related on the library map.


GNUstep's libraries are licensed under LGPL2.1, or later; and the applications are under the GPLv3, or later.

The Core

The core packages of libraries and tools are the basis of GNUstep. There are four parts at present: makefiles, base library, GUI library and the back-end. All four are available in the Startup package from the downloads pages.

GNUstep Makefile Package
The GNUstep Makefile Package is a configuration system and set of rules that makes compilation of GNUstep source as easy as simply listing the files.
GNUstep Base Library
Our base library implements the FoundationKit part of the OpenStep specification.
GNUstep GUI Library
This implements the ApplicationKit from the OpenStep spec.
GNUstep Back-end
The back-end provides a small set of functions used by the GUI library to interface to the actual window system (X11, etc). It also has a drawing engine which emulates common PostScript functions.

Development Tools

GNU Objective-C Compiler (gcc)
To produce applications, we compile source code to make executable binaries. The GNU C compiler has supported Objective-C for years, and it has been ported to almost every operating system.
GNU Debugger (gdb)
GDB 6.0+ supports debugging Objective-C code natively. See our instructions for Objective-C debugging with gdb
Test suite (testsuite)
The GNUstep testsuite (available from the subversion repository) provides regression testing scripts which can be run under both GNUstep and Mac-OSX to check that the functionality implementated by the core GNUstep libraries is complete and matches OSX behavior.
Anyone wishing to contribute code to the core libraries should start by familiarising themselves with the testsuite and contributing tests.
Good development systems always build on project management. Project Center lets you search, edit, debug and design your applications and libraries with a range of tools.
The Graphical Object Relationship Modeller lets you graphically design a user interface for your application.

Auxiliary Libraries

  • GNUstep Database Library Version 2 (GDL2) (see )
  • GNUstep Web Applications Framework (GSWeb) (see
  • GNUstep WebServices (GSWS)

Other Projects

Foundation Extensions Library (extensions)
This library contains some classes and extensions that are not required for GNUstep, but provide some useful functions none the less.
An alternate implementation of FoundationKit. libFoundation is more slim than gnustep-base, but still lacks several features of Foundation. It implements some extensions to Foundation that are also available separately for use with gnustep-base.