GNOME provides an excellent framework for building applications by providing a set of core libraries. These include libraries to create graphical user interfaces, high-level components for creating applications with a uniform look and feel, a fast and thin CORBA ORB, and miscellaneous functions for handling configuration files. GNOME also provides libraries for handling XML data and HTTP connections. More importantly, GNOME provides functionality that free software systems have lacked for a long time, like a component architecture and a printing and font framework.
The following sections are devoted to overviews of the GNOME architecture, with examples and notes from the authors themselves. For the most part, these sections are technical in topic, and are aimed at the developer. However, they are presented in a non-technical manner, and people just interested in seeing what the GNOME development environment has to offer should feel at home.