Arikah Map

GNOME

This article is about the GNOME project and desktop environment. For other uses, see Gnome (disambiguation).
GNOME
GNOME:Gnomelogo.svg

<tr><td colspan="2" style="text-align: center;">GNOME:Gnome-2.16-screenshot
GNOME 2.16 screenshot showing the Nautilus file manager and the gedit text editor</td></tr><tr><th>Developer:</th><td>GNOME developers</td></tr><tr><th>Latest release:</th><td>2.16.2 / 23 November 2006</td></tr><tr><th>OS:</th><td>Cross-platform</td></tr><tr><th>Available language(s):</th><td>Multilingual (more than 25)</td></tr>

Use:Desktop environment

<tr><th>License:</th><td>GNU Lesser General Public License
GNU General Public License</td></tr>

Website: http://www.gnome.org/

The GNOME project is an international effort to create an easy-to-use computing platform built entirely from free software. This goal includes creating tools which help developers write new stand-alone application software, 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 Linux or Sun Microsystems' Solaris, to create a fully functional computer system.

GNOME is the official desktop of the GNU Project and the official pronunciation of the name is /gəˈnoʊm/ with a hard "G", although /noʊm/ (as in the English word "gnome") is also in common usage.


Contents

Aims

According to the GNOME website:[1]

   
GNOME:GNOME
The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.
   
GNOME:GNOME

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

Multilingual

Origin

GNOME:GNOME 2.13.3 (development version) using the Japanese language, with Tango Desktop Project pre-release icons.
Enlarge
GNOME 2.13.3 (development version) using the Japanese language, with Tango Desktop Project pre-release icons.

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: the Harmony toolkit, to create a free replacement for the Qt libraries, and GNOME to create a new desktop without Qt and built entirely on top of free software.[2]

In place of the Qt toolkit, GTK+ 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.[3] 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 as an acronym of GNU Network Object Model Environment by Elliot Lee, one of the authors of ORBit and the Object Activation Framework.[citation needed] It refers to GNOME's original intention of creating a distributed object framework similar to Microsoft's OLE.[4] This no longer reflects the core vision of the GNOME project, and the full expansion of the name is now considered obsolete. As such, some members of the project advocate dropping the acronym and re-naming "GNOME" to "Gnome".[5]

Organization

As with most free software projects, the GNOME project is loosely organised. Discussion chiefly occurs on a number of public mailing lists.[6]

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.[7] 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.[8]

Platforms

GNOME:GNOME 2.10 screenshot (on Fedora Core 4) showing Rhythmbox (music player), GThumb (image manager), gedit (text editor), and the Nautilus file manager.
Enlarge
GNOME 2.10 screenshot (on Fedora Core 4) showing Rhythmbox (music player), GThumb (image manager), gedit (text editor), and the Nautilus file manager.

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 Common Desktop Environment on their 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.[9]

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.[10]

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:

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. The only languages currently used in applications that are part of an official GNOME desktop release are C, C# and Python.[11]

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 top-right corner features a notification area for programs to display notices while running in the background.

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.

Usability

Since GNOME v2.0, a key focus of the project has been usability. As a part of this, a large effort was put into creating the GNOME Human Interface Guidelines (HIG). The HIG is an extensive guide for creating high quality, consistent, usable GUI programs, covering everything from GUI design to recommended pixel-based layout of widgets.

GNOME HIG introduction:[12]

   
GNOME:GNOME
This document tells you how to create applications that look right, behave properly, and fit into the GNOME user interface as a whole. It is written for interface designers, graphic artists and software developers who will be creating software for the GNOME environment. Both specific advice on making effective use of interface elements, and the philosophy and general design principles behind the GNOME interface are covered.
   
GNOME:GNOME

During the v2.0 rewrite, many settings were deemed to be "crack" settings (of little or no value to the majority of users) and were removed. For instance, the preferences section of the Panel were reduced from a sprawling dialog of six large tabs to a much simpler one with two small tabs.

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 organization, 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:

These initiatives aim to allow users and developers to choose the technologies and applications they like regardless of which desktop environment they use.

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.

VersionDateInformation
August 1997[13]GNOME development announced
1.0March 1999 [14]First major GNOME release
1.0.53October 1999 [15]"October"
1.2May 2000 [16]"Bongo"
1.4April 2001 [17]"Tranquility"
2.0June 2002 [18]Major upgrade based on GTK2. Introduction of the Human Interface Guidelines.
2.2February 2003 [19]Multimedia and file manager improvements.
2.4September 2003 [20]Epiphany, accessibility support.
2.6March 2004 [21]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.8September 2004 [22]Improved removable device support, adds Evolution.
2.10March 2005 [23]Lower memory requirements and performance improvements. Adds: new panel applets (modem control, drive mounter and trashcan); and the Totem and Sound Juicer applications
2.12September 2005 [24]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.14March 2006 [25]Performance improvements. Adds: Ekiga video conferencing application; Deskbar search tool; Pessulus lockdown editor; Fast user switching; Sabayon system administration tool.
2.16September 2006 [26]Performance improvements. Adds: Tomboy notetaking application; Baobab disk usage analyser; Orca screen reader; improvements to Totem, Nautilus and GNOME Power Manager; compositing support for Metacity; new icon theme. Based on GTK+ 2.10 with new print dialog.

Source code

GNOME releases are made in the form of source code, which is compiled by operating system vendors and integrated with the rest of their systems before distribution. Most vendors use only stable and tested versions of GNOME, and provide it in the form of easily installed pre-compiled packages. The source code of every stable version of GNOME is stored in a version control system in the GNOME source code repository.[27]

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) can be 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 tree, known as "HEAD". Development code contains new modifications and experimental changes to the code which are later "frozen" to allow for the code to be tested and bugs to be corrected.

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:

There had been considerable discussion about including software written in C# or Java in GNOME.[31] With GNOME 2.16, Gtk# (the C# bindings for GTK+ and GNOME) and Mono have been added to the list of dependencies, and a C# application, Tomboy, has also been included in that release.[32]

See also

References

  1. ^ About GNOME. Retrieved on 2005-09-08.
  2. ^ Richard Stallman (2000-09-05). Stallman on Qt, the GPL, KDE, and GNOME. Retrieved on 2005-09-09.
  3. ^ http://www.fsf.org/licensing/licenses/lgpl.html
  4. ^ Pennington, Havoc (1999). GTK+ / Gnome Application Development. Retrieved on 2006-09-08.
  5. ^ Desktop Development mailing list. Retrieved on 2006-05-07.
  6. ^ GNOME mailing lists, rules and FAQs.
  7. ^ Membership of the GNOME foundation. Retrieved on 2005-09-08.
  8. ^ About GUADEC.
  9. ^ Distributions that ship GNOME as their Default Desktop.
  10. ^ The official GNOME LiveCD.
  11. ^ GNOME desktop-devel mailing list.
  12. ^ GNOME Human Interface Guidelines. Retrieved on 2006-10-05.
  13. ^ de Icaza, Miguel. The story of the GNOME project.
  14. ^ GNOME press release for version 1.0
  15. ^ GNOME press release for version 1.0.53
  16. ^ GNOME press release for version 1.2
  17. ^ GNOME press release for version 1.4
  18. ^ GNOME press release for version 2.0
  19. ^ GNOME press release for version 2.2
  20. ^ GNOME mailing list post announcing the release of version 2.4
  21. ^ GNOME mailing list post announcing the release of version 2.6
  22. ^ GNOME press release for version 2.8
  23. ^ GNOME press release for version 2.10
  24. ^ GNOME press release for version 2.12
  25. ^ GNOME press release for version 2.14
  26. ^ GNOME mailing list post announcing the release of version 2.16
  27. ^ Information about the GNOME source code repository.
  28. ^ Project Topaz homepage.
  29. ^ Error on call to Template:cite web: Parameters url and title must be specified.
  30. ^ Mozilla, Gnome mull united front against Longhorn. News.com. Retrieved on 2006-04-20.
  31. ^ Pennington, Havoc (2004-03-16). Java, Mono, or C++?. Retrieved on 2006-09-05.
  32. ^ Vincent Untz, Quim Gil, SegPhault, John Williams, Brent Smith (2006-09-06). GNOME 2.16 Release Notes. Retrieved on 2006-09-07.


Categories


Articles with unsourced statements | GNU project | GNU project software | GNOME | X Window System | Free desktop environments | User interface | Graphical user interface | Software architecture

Find

Find

Find