GNUstep is a set of Objective-C libraries versatile based on the original specification of OpenStep Developed by NeXT (now owned by Apple and incorporated into Mac OS X).
The environment is characterized by providing an object-oriented application development framework and a set of tools for use on a wide variety of computing platforms. Learn more about the GNUstep project, alternatives, etc.
GNUstep arises right after he left Apple, the late Steve Jobs, he founded a new company, NeXT, with the goal of producing the perfect computer.
In 1989, the operating system was released for this machine, called NeXTStep. Although initially only available on the NeXT Cube, NeXTStep has been hugely influential.
The first web browser, WorldWideWeb (later renamed Nexus), was developed on this machine. (The author, Tim Berners-Lee, claimed that his browser would not have been possible without NeXTStep’s excellent development environment.) Another software developed on NeXT machines is Doom.
A few years later, In 1993, NeXT partnered with Sun to produce the OpenStep specification. It was a simplified version of the NeXT APIs, intended for cross-platform development and this was divided into two components:
- One of them the Toolkit which provided low-level libraries such as strings, associative arrays, and file I / O.
- And another was in the application kits they provided a GUI toolkit and associated services.
Sun briefly supported OpenStep on Solaris, while NeXT released a new version of their operating system, confusingly named OPENSTEP, which has been made available for various architectures, including x86, plus NeXT also provided an implementation of the specification that worked on Windows.
At that moment, the GNU Project was very interested in the NeXT system. Many saw OPENSTEP as the ideal UNIX operating system. For a time, the GNU operating system was intended to be very similar to NeXTStep.
Here it is worth noting that the GNU HURD kernel was built on the same fundamentals of Mach than NeXTStep, but with a more ambitious design. The graphical interface layer would have been provided by a GNU implementation of the NeXT APIs.
The GNUstep project really gained momentum after the release of the OpenStep specification in 1994, but it suffered from some issues.
One of the main problems with GNUstep was the fact that very few developers had been exposed to NeXTStep or OPENSTEP. Then came Apple’s acquisition of NeXT, which lowered the price of NeXT hardware and popularized the NeXTStep operating system.
As more and more developers got used to the elegance of the OpenStep API through Apple’s implementation, known as Cocoa, interest in the project was rekindled. In the 2000s, GNUstep implemented more or less all of the original OpenStep specifications, as well as various extensions to OS X.
The GNUstep kernel provides an open source version of the APIs and Cocoa tools that supports several popular platforms. GNUstep provides a robust implementation of the AppKit and Foundation libraries, as well as development tools, including the advanced interface designer Gorm (InterfaceBuilder) and the ProjectCenter IDE (ProjectBuilder / Xcode).
GNUstep seeks to be compatible with the source code of Cocoa, so it can be used to develop and build cross-platform applications between Macintosh (Cocoa), Unix (Solaris) and Unix-like (GNU / Linux and GNU / Hurd, NetBSD, OpenBSD, FreeBSD platforms) and Windows.
GNUstep is not written in C. The main development language for GNUstep is Objective-C, but GNUstep is not limited to that.
The GNUstep libraries are covered by the GNU Lesser Public License (Library). This generally means that you can use these libraries in any program (even non-free programs) without affecting the license of your program or any other library that GNUstep is linked to.
If you distribute the GNUstep libraries with your program, you must make the enhancements you have made to the GNUstep libraries freely available. The GNUstep standalone tools are licensed under the GPL standard.
Finally if you are interested in knowing more about it, you can check the details in the following link