article Related Topics:
Gnome_Ranger_Series :: Gnome-Pilot :: Gnomes :: GNOME
 

The GNOME project is an international effort to create an easy-to-use computing platform built entirely from Free Software. This means creating tools that help developers to write new stand-alone applications, selecting applications for inclusion in the official product, and working on what is known as the desktop environment — the programs which manage application launching, file handling, and window and task management.

A great deal of software is created or hosted under the umbrella of the GNOME project, some of which is collected and released as GNOME. GNOME is used in conjunction with an operating system, such as a GNU/Linux distribution or Sun Microsystems' Solaris, to create a fully functional computer system.

GNOME is the official desktop of the GNU Project and the correct pronunciation of the name is , although is also in common usage. The name was created as an acronym of GNU Network Object Model Environment, but usage of the full expansion is now considered obsolete.

Aims


According to the GNOME website,

The GNOME project puts heavy emphasis on simplicity, usability and making things "just work". The other aims of the project are:

  • Freedom — to create a desktop environment that will always be free of charge, with the source code available for re-use under a Free software license.
  • Accessibility — ensuring the desktop can be used by anyone, regardless of technical skill or physical disability.
  • Internationalisation and localisation — making the desktop available in many languages.
  • Developer-friendliness — ensuring it is easy to write software that integrates smoothly with the desktop, and allow developers a free choice of programming language.
  • Organisation — a regular release cycle and a disciplined community structure.
  • Support — ensuring backing from other institutions beyond the GNOME community.

Origin


The GNOME project was started in August 1997 by Miguel de Icaza and Federico Mena in response to licensing concerns over software used by KDE, a free software desktop environment that relies on the Qt widget toolkit. At the time, Qt did not use a free software license and members of the GNU project became concerned about the use of such a toolkit for building a free software desktop and applications. Two projects were started: Harmony, to create a Free replacement for the Qt libraries, and the GNOME project to create a new desktop without Qt and built entirely on top of free software.

In place of the Qt toolkit, the GTK+ toolkit was chosen as the base of the GNOME desktop. GTK+ uses the GNU Lesser Public License (LGPL), a free software license that allows software linking to it, such as applications written for GNOME, to use a much wider set of licenses, including proprietary software licenses.Section 6 of the LGPL v2.1 prohibits linking to software with a license that restricts reverse-engineering and modification of the work for the customer's own use. The GNOME desktop itself is licensed under the LGPL for its libraries, and the GPL for applications that are part of the GNOME project itself. While Qt is now available under the terms of the GPL, the freedom to link proprietary software with GTK+ freely makes it differ from Qt.

The name "GNOME" was proposed by Elliot Lee, one of the authors of ORBit and the Object Activation Framework. It refers to the possibilities that people, at the time, thought CORBA would bring to a desktop environment — a Network Object Model. Since that no longer reflects the core vision of the GNOME project, some members of the project advocate dropping the acronym and re-naming "GNOME" to "Gnome".

Organisation


In common with most free software projects, the GNOME project is loosely organised. Discussion chiefly occurs on a number of public mailing lists.

In August 2000 the GNOME Foundation was set up to deal with administrative tasks, press interest and to act as a contact point for companies interested in developing GNOME software. While not directly involved in technical decisions, the Foundation does coordinate releases and decide which projects will be part of GNOME. Membership is open to anyone who has made a non-trivial contribution to the project. Members of the Foundation elect a board of directors every November, and candidates for the positions must be members themselves.

Developers and users of GNOME gather at an annual meeting known as GUADEC in order to discuss the current state of the project and its future direction.

Platforms


Originally designed for Linux, GNOME now runs on most Unix-like systems and in particular has been adopted by Sun Microsystems as part of Java Desktop System, replacing the ageing CDE on its Solaris platform. It is the default desktop environment for many modern desktop Linux distributions, including Fedora Core, and Ubuntu. A list of Linux distributions that include GNOME is maintained on the GNOME website.

An official GNOME LiveCD, which allows a computer to boot directly from a Compact Disc without removing or changing existing operating systems, is available for download from the GNOME website.

Many GNOME components have been ported to Cygwin, allowing GNOME applications to run on Microsoft Windows.

Architecture


GNOME is built from a large number of different projects. A few of the major ones are listed below:

  • Bonobo — a compound document technology.
  • GConf — for storing application settings.
  • GNOME VFS — a virtual file system.
  • GNOME Keyring — for storing encryption keys and security information.
  • GNOME Translation Project — translate documentation and applications into different languages.
  • GTK+ — a widget toolkit used for constructing graphical applications. The use of GTK+ as the base widget toolkit allows GNOME to benefit from certain features such as theming (the ability to change the look of an application), smooth anti-aliased graphics. Sub-projects of GTK+ provide object oriented programming support (GObjects), extensive support of international character sets and text layout (Pango) and accessibility (ATK). GTK+ reduces the amount of work required to port GNOME applications to other platforms such as Windows and Mac OS X.
  • Human Interface Guidelines (HIG) — research and documentation on building easy-to-use GNOME applications.
  • LibXML — an XML library.
  • ORBit — a CORBA ORB for software componentry.

A number of language bindings are available allowing applications to be written in a variety of programming languages, such as C++ (gtkmm), Java (Java-GNOME), Ruby (ruby-gnome2), C# (Gtk#), Python (PyGTK), Perl (gtk2-perl) and many others. Currently the only languages currently used in applications that are part of an official GNOME desktop release are C and Python.

Look and feel


GNOME is designed around the traditional computing desktop metaphor. Its handling of windows, applications and files is similar to that of contemporary desktop operating systems; The desktop has a launcher menu for quick access to installed programs and file locations, open windows may be accessed by a task bar along the bottom of the screen and the bottom-right corner features a notication area for programs to display notices while running in the background. Each window may be expected to have its own menu bar, making the overall appearance of the desktop closer to that of Microsoft Windows than that of Mac OS X.

The appearance of GNOME can be changed by the use of themes, which are sets consisting of an icon set, window manager border and GTK+ theme engine and parameters. Popular GTK+ themes include Bluecurve and Clearlooks (the current default theme).

GNOME puts emphasis on being easy for everyone to use. The HIG helps guide developers in producing applications which look and behave similarly, in order to provide a cohesive GNOME interface.

Freedesktop.org and GNOME


Freedesktop.org is a project to assist interoperability and shared technology between the different X Window desktops such as GNOME, KDE or Xfce. Although it is not a formal standards organisation, Freedesktop.org defines certain basic features of an X Desktop, including drag and drop between applications, window manager specifications, menu layouts, recent files lists, copy and pasting between applications and a shared MIME type database, among other things. Following Freedesktop.org specifications allows GNOME applications to appear more integrated into other desktops (and vice versa), and encourages cooperation as well as competition.

Examples of technologies originated at Freedesktop.org which now form part of GNOME's core technology set include:

  • Cairo — a sophisticated 2D graphics library.
  • D-BUS — interprocess communication system.
  • GStreamer — a multimedia framework.
  • HAL — a specification and an implementation of a hardware abstraction layer.
  • Poppler — a PDF rendering library.

One recent Freedesktop.org initiative backed by GNOME is the Tango Desktop Project, which aims to provide a common visual standard across different platforms. This will allow users and developers to choose the technologies and applications they like regardless of which desktop environment they use.

GNOME applications


Along with those applications bundled with the desktop, a large amount of other applications have been developed for use in GNOME. See List of GNOME applications for a more complete list.

Official applications

Here is a selection of applications typically supplied as part of a GNOME release:

Other applications

Here is a selection of applications that use technology from the GNOME project and are likely to be used on an average GNOME desktop :

Stable releases


Each of the parts making up the GNOME project has its own version number and release schedule. However, individual module maintainers coordinate their efforts to create a full GNOME stable release on a roughly six-month schedule. The releases listed in the table below are classed as stable. Unstable releases for testers and developers are not listed, nor are bugfix releases for individual modules.

Version Date Information
  August 1997 GNOME development announced
1.0 March 1999 GNOME press release for version 1.0 First major GNOME release
1.0.53 October 1999 GNOME press release for version 1.0.53 "October"
1.2 May 2000 GNOME press release for version 1.2 "Bongo"
1.4 April 2001 GNOME press release for version 1.4 "Tranquility"
2.0 June 2002 GNOME press release for version 2.0 Major upgrade based on GTK2. Introduction of the Human Interface Guidelines
2.2 February 2003 GNOME press release for version 2.2 Multimedia and file manager improvements
2.4 September 2003 GNOME mailing list post announcing the release of version 2.4 Epiphany, accessibility support
2.6 March 2004 GNOME mailing list post annoucing the release of version 2.6 Nautilus changes to a spatial file manager, and a new GTK+ file dialog is introduced. A short-lived fork of GNOME, GoneME, is created as a response to the changes in this version.
2.8 September 2004 GNOME press release for version 2.8 Improved removable device support, adds Evolution
2.10 March 2005 GNOME press release for version 2.10 Lower memory requirements and performance improvements. Adds: new panel applets (modem control, drive mounter and trashcan); and the Totem and Sound Juicer applications
2.12 September 2005 GNOME press release for version 2.12 Nautilus improvements; improvements in cut/paste between applications and freedesktop.org integration. Adds: Evince PDF viewer; New default theme: ClearLooks; menu editor; keyring manager and admin tools. Based on GTK+ 2.8 with Cairo support
2.14 March 2006 GNOME press release for version 2.14 Performance improvements. Adds: Ekiga video conferencing application; Deskbar search tool; Pessulus lockdown editor; Fast user switching; Sabayon system administration tool

Source code


GNOME releases are made in the form of source code, which is then compiled and integrated with the rest of the system. Most operating system installations use only stable and tested versions of GNOME, and provide it in the form of easily installed pre-compiled packages.

The process of downloading the source code, compiling and installing the entire GNOME desktop manually is a laborious and time-consuming process, and a number of build-scripts (such as JHBuild or GARNOME) are used to automate it.

Those interested in testing, fixing bugs or adding new features can use the latest unstable branch from the GNOME source code repository, known as "HEAD" — though development code is not recommended for general use as it contains many untested modifications and experimental changes. The source code of every stable version of GNOME can also be retrieved from the GNOME source code repository.

Future developments


There are many sub-projects under the umbrella of the GNOME project, and not all of them are currently included in GNOME releases. Some are considered purely experimental concepts, or for testing ideas that will one day migrate into stable GNOME applications; others are code that is being polished for direct inclusion. Some examples include:

  • GNOME Storage — database filing system for GNOME. Compare with the now-defunct WinFS storage system.
  • Project Topaz — ideas for GNOME version 3.0.
  • Project Soylent — making "people" and their interactions first-class objects within the GNOME framework.
  • Project Ridley — to consolidate several small undermaintained libraries into GTK+, such as libgnome and libgnomeprint.
  • The use of the Mozilla project's XUL on the GNOME desktop.

There is considerable discussion about including software written in C# or Java in later GNOME releases. Both of these languages are already used to develop GNOME applications outside of the project, but their use in the desktop release would force the inclusion of the respective language's virtual machine with every GNOME installation. This would increase the minimum specification of machine needed to run the latest GNOME desktop. Efforts such as GNU Compiler for Java offer a possible solution to this problem by removing the need for a java virtual machine.

See also


Notes and references


External links


Official links

Third-party links

GNU project software | GNOME | X Window System

GNOME | جنوم | GNOME | GNOME | Gnome | GNOME | GNOME | GNOME | GNU Network Object Model Environment | GNOME | گنوم | GNOME | GNOME | 그놈 | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME (desktop) | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME | GNOME

 

This article is licensed under the GNU Free Documentation License. It uses material from the "GNOME".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld