GNOME
Encyclopedia
GNOME is a desktop environment
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...

 and graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 that runs on top of a computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

. It is composed entirely of free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

. It is an international project that includes creating software development
Software development
Software development is the development of a software product...

 frameworks, selecting application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 for the desktop, and working on the programs that manage application launching, file handling, and window
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...

 and task management
Task manager
A task manager is a program used to provide information about the processes and programs running on a computer, as well as the general status of the computer. It can also be used to terminate processes and programs, as well as change the processes priority...

.

GNOME is part of the GNU Project
GNU Project
The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...

 and can be used with various Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 operating systems, most notably Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and as part of the Java Desktop System
Java Desktop System
OpenSolaris Desktop, formerly Java Desktop System , is a desktop environment now developed by Oracle Corporation available for Solaris, and formerly Linux....

 in Solaris.

History

In 1996, the KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

 project was started. KDE itself was free and open source
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 from the start, but members of the GNU project were concerned with KDE's dependence on the (then) non-GPL Qt
Qt (toolkit)
Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

 widget toolkit
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

, then owned by Trolltech
Trolltech
Qt Development Frameworks is an Oslo, Norway-based software company best known for its Qt toolkit and application framework. Qt Development Frameworks is a wholly owned subsidiary of Nokia Corporation...

. In August 1997, two projects were started in response to this issue: the Harmony toolkit, a free replacement for the Qt libraries, and GNOME, a different desktop not using Qt but built on GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 licensed under the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

 (LGPL), a free software license that allows GPL-incompatible software to link to it. The GNOME desktop itself is licensed under the LGPL for its libraries, and the GPL for applications that are part of the GNOME project. Having the toolkit and libraries under the LGPL allowed applications written for GNOME to use a much wider set of licenses (including proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 licenses).
The initial project leaders and founders for GNOME were two Mexican programmers Miguel de Icaza
Miguel de Icaza
Miguel de Icaza is a Mexican free software programmer, best known for starting the GNOME and Mono projects.-Early years:Miguel de Icaza was born in Mexico City and studied at the Universidad Nacional Autonoma de México but never received a degree. He came from a family of scientists in which his...

 and Federico Mena
Federico Mena
Federico Mena Quintero is a Mexican computer programmer.He wrote the GNOME Canvas while working at Red Hat. He also maintained GIMP for a time, and was one of the first hires at Ximian, now owned by Novell, where he still works...

.

In 2000, Qt was made available under the GNU GPL terms. Trolltech offered dual-licensing under both QPL terms and GNU GPL terms and granted exceptions to other specific licenses like the Apache License
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

. Qt's GNU GPL-derived license, however, continued to restrict linking Qt with arbitrary proprietary software at no charge; GTK+'s LGPL license did not impose this restriction and differentiated it from Qt. At the end of 2000, the Harmony Project ceased, as KDE no longer depended on non-GPL software; the development of GNOME continues . In March 2009, after Trolltech was bought by Nokia, Qt 4.5 was released and added an LGPL licensing as a third option.

The California startup Eazel
Eazel
Eazel was a software company based in Mountain View, California from 1999 to 2001.The enterprise was staffed with former employees of Apple Computer, Netscape, Be Inc., Linuxcare, Microsoft, Red Hat and Sun Microsystems, among others. Mike Boich was CEO; Bud Tribble was VP of Engineering; Andy...

 developed the Nautilus file manager
Nautilus (file manager)
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 and was the default from version 2.0 onwards....

 from 1999 to 2001. De Icaza and Nat Friedman
Nat Friedman
Nathaniel Dourif Friedman , known as Nat, is a programmer who co-founded Ximian along with Miguel de Icaza in 1999, a company that was later bought by Novell in 2003....

 founded Helix Code (later Ximian
Ximian
Ximian was a company that provided free software desktop applications for Linux and Unix based on the GNOME platform. Ximian was founded by Miguel de Icaza and Nat Friedman in October, 1999, and was bought by Novell on August 4, 2003...

) in 1999 in Massachusetts. The company developed GNOME's infrastructure and applications, and in 2003 was purchased by Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...

.

Name

The name “GNOME” is an acronym of GNU Network Object Model Environment. It refers to GNOME’s original intention of creating a distributed object
Distributed object
The term distributed objects usually refers to software modules that are designed to work together, but reside either in multiple computers connected via a network or in different processes inside the same computer. One object sends a message to another object in a remote machine or process to...

 framework similar to Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

’s OLE
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

. 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".

Controversy over supported platforms

In May 2011 Lennart Poettering
Lennart Poettering
Lennart Poettering is a computer programmer, best known for the creation of the PulseAudio cross-platform sound server, the systemd replacement for the System V init daemon, and the Avahi zeroconf implementation....

 proposed systemd
Systemd
systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead....

 as a dependency for further releases of GNOME. As systemd
Systemd
systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead....

 is available only on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, the proposal led to discussion of possibility to drop other platforms support in future GNOME releases. While some met the proposal with criticism others evolved the idea to GNOME Operating System
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 on top of Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

.

While the discussion on mailing list ended with no conclusive result, the GNOME 3.2 Release Notes state that systemd
Systemd
systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead....

 will be used in GNOME 3.4 release.

Project structure

As with most free software projects, the GNOME project is loosely-managed. Discussion chiefly occurs on a number of public mailing lists.

In August 2000, the GNOME Foundation
GNOME Foundation
The GNOME Foundation is a non-profit organization based in Cambridge, Massachusetts, United States, coordinating the efforts in the GNOME project.-Purpose:...

 was set up to deal with administrative tasks and 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
GUADEC
The GNOME Users And Developers European Conference, is an annual conference taking place in Europe, whose topic is the development of the GNOME desktop environment....

 to discuss the current state of the project and its future direction.

GNOME often incorporates standards from freedesktop.org
Freedesktop.org
freedesktop.org is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000.The organisation focuses on the user....

 to allow GNOME applications to better interoperate
Interoperability
Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to...

 with other desktops, encouraging both cooperation and competition.

Aims

According to the GNOME website:
The GNOME project puts heavy emphasis on simplicity, usability, and making things “just work” (see KISS principle
KISS principle
KISS is an acronym for the design principle Keep it simple, Stupid!. Other variations include "keep it simple and stupid", "keep it short and simple", "keep it simple sir", "keep it simple or be stupid" or "keep it simple and straightforward"...

). The other aims of the project are:
  • Freedom — to create a desktop environment with readily-available source code for re-use under a free software license.
  • Accessibility
    Computer accessibility
    In human-computer interaction, computer accessibility refers to the accessibility of a computer system to all people, regardless of disability or severity of impairment...

     — to ensure the desktop can be used by anyone, regardless of technical skill or physical circumstances.
  • Internationalization and localization
    Internationalization and localization
    In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...

     — to make the desktop available in many languages. At the moment, GNOME is being translated to 175 languages.
  • Developer-friendliness — to ensure ease of writing software that integrates smoothly with the desktop, and allow developers a free choice of programming language.
  • Organization — to adhere to a regular release cycle and maintain a disciplined community structure.
  • Support — to ensure backing from other institutions beyond the GNOME community.

Look and feel

Up until the release of GNOME 3.x, GNOME was designed around the traditional computing desktop metaphor
Desktop metaphor
The desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...

. Users can change the appearance of their desktop through the use of themes, which usually consist of an icon set, a window manager border and GTK+ theme engine and parameters. The current default theme is Adwaita. The Human Interface Guidelines helps developers to produce applications that look and behave similarly to each other, which provides a cohesive GNOME experience.

GNOME 2.x (the previous major release of GNOME) was very similar to a conventional desktop interface, featuring a simple desktop in which users could interact with virtual objects, such as windows, icons, and files. GNOME 2.x used Metacity
Metacity
Metacity was the window manager used by default in the GNOME desktop environment until GNOME 3, where it was replaced by Mutter. The development of Metacity was started by Havoc Pennington and it is released under the GNU General Public License....

 as its default window manager. GNOME 2's handling of windows, applications, and files is similar to that of contemporary desktop operating systems. In its default configuration, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a taskbar 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. However, these features can be moved to almost any position or orientation the user desires, replaced with other functions or removed altogether.

GNOME 3.x has evolved from a traditional desktop metaphor to a new interface. The redesigned GNOME experience features several main changes: Released as the new interface for Gnome 3, GNOME Shell replaces the original GNOME Panel; Mutter replaces Metacity as the default window manager; The minimize and maximize buttons are no longer placed on the titlebar by default. With the release of GNOME 3.0, the default look and feel has moved from the traditional computer desktop metaphor towards a user interface where switching between different tasks and virtual workspaces takes place in a new area called the overview. Many of the default GNOME applications have also gone through redesigns to provide a more consistent and unified user experience.

In GNOME 3's default configuration, the desktop has a top panel holding (from left to right) an activities button, clock, system status area and user menu. Clicking on the activities button or moving one's mouse to the top-left hot corner, brings one to the overview. The system status area holds various system indicators, such as those for volume, bluetooth, network, battery, and accessibility. The user menu holds a chat availability indicator, shortcuts to system settings, as well as session actions such as logging out, switching users, locking the screen, or suspending the computer. The overview (accessed by clicking on the activities button in the top panel, or touching the top-left hot corner) shows the window picker,the workspace changer on the right, the dash on the left, a windows button, an applications button, and a search bar. While in the overview, users can click on the windows and application buttons just under the top panel to switch between the window picker and the application picker. The window picker provides a way to switch to other open windows; a convenient way to close multiple windows easily; and gives users a quick overview of current activities. The application picker replaces the GNOME 2.x applications menu, and provides an easy way to launch applications. The dash houses shortcuts to favorite applications and open windows. Also in the default interface are a new system for notifications. In GNOME 3, notifications popup from the bottom of the screen, as opposed to the top-right of the screen as in GNOME 2.x.

Usability

Since GNOME 2.0, a key focus of the project has been usability
Usability
Usability is the ease of use and learnability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with. A usability study may be conducted as a primary job function by a usability analyst or as a secondary job...

. To this end, the GNOME Human Interface Guidelines (HIG) were created. Following the guide, developers can create high-quality, consistent, and usable GUI programs, as it addresses everything from GUI design to recommended pixel-based layout of widgets.

During the 2.0 rewrite, many settings were deemed to be of little or no value to the majority of users and were removed. For instance, the preferences section of the Panel was reduced from a dialog of six tabs to one with two tabs. Havoc Pennington
Havoc Pennington
Robert Sanford Havoc Pennington is an American computer engineer and entrepreneur.He is known in the free software community due to his work on HAL , GNOME, Metacity, GConf, and D-BUS.- Career :...

 summarized the usability work in his 2002 essay "Free Software UI", emphasizing the idea that all preferences have a cost, and it is better to "unbreak the software" than to add a UI preference to do that:

Controversy over GNOME 3.0

With the release of GNOME 3.0 and its abandonment of the traditional desktop metaphor, considerable controversy was stirred among both Linux users and developers about its usability. Among those critical of the new version is Linus Torvalds
Linus Torvalds
Linus Benedict Torvalds is a Finnish software engineer and hacker, best known for having initiated the development of the open source Linux kernel. He later became the chief architect of the Linux kernel, and now acts as the project's coordinator...

, the creator of Linux and a routine user of GNOME before abandoning it at the release of GNOME 3.0. Torvalds criticized GNOME 3.0 by stating, "The developers have apparently decided that it's 'too complicated' to actually do real work on your desktop, and have decided to make it really annoying to do." Torvalds cited specific usability problems he pointedly summarized as "crazy crap," and the "'head up the arse' behavior" of Gnome 3.0. Torvalds stated that his objections were universally held by the varied Linux developers he knew.

Other Linux users and developers have added to Torvald's criticism of GNOME 3.0. Stephen Ewen, lead developer for UberStudent
UberStudent
UberStudent is a free and opensource computer operating system and collection of programs for higher education and college-bound secondary students, their teachers and schools, and researchers, knowledge workers, and lifelong learners....

, a Linux distribution for higher education and secondary students and schools, has cited examples demonstrating that GNOME 3.0 is a "hindrance" to student academic computing productivity. He further argued that the usability issues of GNOME 3.0 compared to its prior version placed much of the Linux desktop world into what he described as a "crisis." He stated that this was brought on because GNOME's developers had "become personally enthralled with Apple Macs
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

." Ewen added that the enthrallment "has led to a major shift in overall Linux strategy, one that chooses to take on Apple and its encroachment into Microsoft dominance rather than Microsoft dominance itself." He concluded by urging a refocus away from Apple and back toward Microsoft, and by expressing his hope that the issue would self-correct over time due to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

's free and open source
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 nature.

Responding to some of these criticisms, GNOME designer William Jon McCann said in an interview that "people are not making it up and it may indeed not be what they like", stating that "there are a lot of different products out there that may fit their way of working better." However, he also reminded them that "this isn't the first time we have encountered such reactions", adding that "many of the same people who are now claiming that GNOME2 was such a great thing for them were some of the most vocal opponents of the things we did in GNOME2." He also commented that some "feedback is certainly valid and we are going to use that to make informed decisions in the GNOME3 cycle", stressing that GNOME 3 is still early in development and that it took "eight, nine years to get to where GNOME2 ended up and we've had like four months of GNOME3."

GNOME 3 also features a more traditional GNOME Panel interface available as a "Fallback Mode" in situations where the GNOME Shell can not launch due to a computer not meeting its higher hardware demands such as compositing
Compositing window manager
A compositing window manager is a type of window manager. A window manager is software that draws a graphical user interface on a computer display – it positions windows, draws additional elements on windows , and controls how windows interact with each other, and with the rest of the desktop...

 and further desktop effects, although it can also be toggled to be activated by the user. The Fallback mode has most of the same features as the old GNOME Panel, including the placement of applets and the ability to move them around panels, although the mechanism for doing this has been slightly altered. GNOME developer Vincent Untz has stated that, while he prefers the default interface, users who do not appreciate the Shell may be more at home in the Fallback mode. Both the GNOME Shell and the Fallback mode can also be further customized through the use of the "Gnome Tweak Tool", allowing users to regain a traditional desktop, change themes and fonts, and change various settings that are normally unavailable.

Reactions to GNOME Shell have also not been universally negative. Scott Gilbertson of The Register
The Register
The Register is a British technology news and opinion website. It was founded by John Lettice, Mike Magee and Ross Alderson in 1994 as a newsletter called "Chip Connection", initially as an email service...

commented in his review of Fedora 15, one of the first distributions to ship GNOME 3, that while there is "no question that GNOME 3 will be something of a shock for those accustomed to working with the GNOME 2.x line", that the new interface in the end "really does feel like a vast improvement over GNOME 2." Supporting his argument, he commented that one of the Shell's greatest strengths is "that it doesn't look like a cheap knock-off of Windows". Gilbertson concludes that the "result is a cleaner interface, to be sure, but one that's also very different from most OS designs."

As the result of the controversy the Mate project was created as a fork of GNOME 2.

Major subprojects

GNOME relies upon a large number of different projects:
  • GNOME Shell – a user interface of GNOME 3.
  • GSettings – a configuration storage system (replacing GConf
    GConf
    GConf is a system used by the GNOME desktop environment for storing configuration settings for the desktop and applications.Changes to this system are controlled by GConfd, a daemon. GConfd watches out for changes to the database, and when they are changed, it applies the new settings to...

     in older GNOME versions).
  • GVFS
    GVFS
    GVFS is the virtual filesystem for the GNOME desktop, which allows users easy access to remote data via SFTP, FTP, WebDAV, SMB, and local data via HAL integration, OBEX and others....

     – a virtual file system
    Virtual file system
    A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way...

    .
  • GNOME Keyring
    GNOME Keyring
    GNOME Keyring is a daemon application designed to take care of the user's security credentials, such as user names and passwords. The sensitive data is encrypted and stored in a keyring file in the user's home folder...

     – backend for storing encryption
    Encryption
    In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information...

     keys and security information. Seahorse
    Seahorse (software)
    Seahorse is a GNOME front-end application for managing PGP and SSH keys. Seahorse integrates with Nautilus, gedit and Evolution for encryption, decryption and other operations. It has HKP and LDAP key server support...

     is a common frontend.
  • GNOME Translation Project – for translating documentation and applications into different languages.
  • GTK+
    GTK+
    GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from 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) and smooth anti-aliased graphics. Sub-projects of GTK+ provide object-oriented programming
    Object-oriented programming
    Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

     support (GObject
    GObject
    The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability...

    ), extensive support of international character sets and text layout (Pango
    Pango
    Pango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...

    ) and accessibility (ATK
    Accessibility Toolkit
    In computing, Accessibility Toolkit refers in particular to the GNOME ATK.The GNOME ATK, a developer toolkit, allows programmers to use common GNOME accessibility features in their applications. This includes such features as high-contrast visual themes for the visually impaired and keyboard...

    ). GTK+ reduces the amount of work required to port
    Porting
    In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

     GNOME applications to other platforms such as Windows and Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

    .
  • Human interface guidelines
    Human Interface Guidelines
    Human interface guidelines are software development documents which offer application developers a set of recommendations. Their aim is to improve the experience for the users by making application interfaces more intuitive, learnable, and consistent. Most guides limit themselves to defining a...

     (HIG) – research and documentation on building easy-to-use GNOME applications.
  • LibXML
    LibXML
    libxml2 is a software library for parsing XML documents. It is also the basis for the libxslt library which processes XSLT-1.0 stylesheets.-Description:...

     – an XML library.


A number of language binding
Language binding
In computing, a binding from a programming language to a library or OS service is an API providing that service in the language.Many software libraries are written in systems programming languages such as C or C++...

s are available, allowing applications to be written in a variety of programming languages, such as C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 (gtkmm
Gtkmm
gtkmm is the official C++ interface for the popular GUI library GTK+. gtkmm is free software distributed under the GNU Lesser General Public License ....

), Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 (java-gnome
Java-gnome
java-gnome is a set of language bindings for the Java programming language for use in the GNOME desktop environment. It is part of the official GNOME language bindings suite and provides a set of libraries allowing developers to write computer programs for GNOME using the Java programming language...

), Ruby (ruby-gnome2), C# (Gtk#
Gtk Sharp
Gtk# is a set of .NET bindings for the GTK+ GUI toolkit and assorted GNOME libraries. The library facilitates building graphical GNOME applications using Mono or any other compliant CLR...

), Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 (PyGTK
PyGTK
PyGTK is a set of Python wrappers for the GTK+ graphical user interface library. PyGTK is free software and licensed under the LGPL. It is analogous to PyQt and wxPython which are python wrappers for Qt and wxWidgets respectively. Its original author is the prominent GNOME developer James Henstridge...

), Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

 (gtk2-perl
Gtk2-perl
Gtk2-Perl is a set of wrappers for the Perl programming language around the GTK+ GUI library and the other GNOME platform libraries. GTK2-Perl is free software and licensed under the LGPL...

), Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...

 (Gnocl) and many others. The only languages currently used in applications that are part of an official GNOME desktop release are C, C++, C#, Python and Vala
Vala (programming language)
Vala is a programming language created with the goal of bringing modern language features to C, with no added runtime needs and with little overhead, by targeting the GObject object system. It is being developed by Jürg Billeter and Raffaele Sandrini. The syntax borrows heavily from C#...

.

Release cycle

Each of the component software products in 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 an approximately six-month schedule.

Some experimental projects are excluded from these releases.

GNOME releases are made to the main FTP server in the form of source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 with configure scripts, which are 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 and development version of GNOME is stored in the GNOME Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...

 source code repository.

A number of build-scripts (such as Jhbuild or GARNOME
GARNOME
GARNOME is a build utility for the GNOME Desktop. It began as a project to allow users to build the GNOME desktop, without falling victim to the depravities of CVS, non-standard build tools and other forms of co-dependence....

) are available to help automate the process of compiling the source code.

Adoption

GNOME is the default desktop environment for several Linux distributions, see Comparison of Linux distributions for details.

Current release

GNOME version 3.2 was released on September 28, 2011 and is currently the latest version of the GNOME desktop. This version brought more stability to the GNOME Shell and the underlying technologies, as well as improvements on the GNOME applications. New features include the ability to add online accounts, which allows the integration of services such as Google Docs, Google Calendar, and Google Contacts into GNOME; as well as an updated user menu. GNOME 3.2 also brings new applications, such as GNOME Contacts, GNOME Documents and the GNOME Sushi file previewer, as well as web application support in Epiphany 3.2.

Previous release

Version 3.0 of the desktop environment was released on April 6, 2011. It was announced at the July 2008 GUADEC
GUADEC
The GNOME Users And Developers European Conference, is an annual conference taking place in Europe, whose topic is the development of the GNOME desktop environment....

 conference in Istanbul
Istanbul
Istanbul , historically known as Byzantium and Constantinople , is the largest city of Turkey. Istanbul metropolitan province had 13.26 million people living in it as of December, 2010, which is 18% of Turkey's population and the 3rd largest metropolitan area in Europe after London and...

. The code name ToPaZ (standing for Three Point Zero) was introduced around 2005 and for a long time was only a playground for vague ideas. Quite a few mock-ups were created as part of several ToPaZ brainstorming processes.

Though the philosophy around GNOME mandates that changes are incremental, the desktop received a major overhaul with the GNOME Shell.

Past releases

The last 2.x release was version 2.32, which was released in September 2010. It included improvements to the Empathy IM client
Empathy (software)
Empathy is an instant messaging client which supports text, voice, video, file transfers, and inter-application communication over various IM protocols....

, Evince
Evince
Evince is a document viewer for PDF, PostScript, DjVu, TIFF and DVI designed for the GNOME desktop environment.The developers of Evince intended to replace the multiple GNOME document viewers with a single and simple application. The Evince motto sums up the project aim: "Simply a Document...

, and the Nautilus file manager
Nautilus (file manager)
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 and was the default from version 2.0 onwards....

.

Version 2.32 was the last major release planned before version 3.0.

Tests reveal that GNOME 2 (version 2.29) has lower memory utilization compared to KDE
KDE Software Compilation
The KDE Software Compilation is a desktop environment and an associated range of KDE Applications produced by KDE. Prior to version 4.4, released in February 2010, the Software Compilation was known as KDE, which used to stand for K Desktop Environment until November 2009...

 4.4, but higher than Xfce
Xfce
Xfce is a free software desktop environment for Unix and other Unix-like platforms, such as Linux, Solaris, and BSD – though recent compatibility issues have arisen with regard to BSD Unix platforms...

 4.6 and LXDE
LXDE
LXDE is a free and open source desktop environment for Unix and other POSIX compliant platforms, such as Linux or BSD. The goal of the project is to provide a desktop environment that is fast and energy efficient...

 0.5 (which are also based on GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 like GNOME).
Version Date Information
August 1997 GNOME development announced
1.0 March 1999 First major GNOME release
1.0.53 October 1999 "October"
1.2 May 2000 "Bongo"
1.4 April 2001 "Tranquility"
2.0 June 2002 Major upgrade based on GTK2. Introduction of the Human Interface Guidelines
Human Interface Guidelines
Human interface guidelines are software development documents which offer application developers a set of recommendations. Their aim is to improve the experience for the users by making application interfaces more intuitive, learnable, and consistent. Most guides limit themselves to defining a...

.
2.2 February 2003 Multimedia and file manager improvements.
2.4 September 2003 "Temujin": Epiphany
Epiphany (web browser)
Epiphany is an open source web browser for the GNOME desktop environment. The browser is a descendant of Galeon, and was created after developer disagreements about Galeon's growing complexity...

, accessibility support.
2.6 March 2004 Nautilus
Nautilus (file manager)
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 and was the default from version 2.0 onwards....

 changes to a spatial file manager
Spatial file manager
In computing, a spatial file manager is a file manager that uses a spatial metaphor to represent files and folders as if they are real physical objects.-Concepts:The base requirements of a spatial file manager are:...

, and a new GTK+ file dialog
File dialog
In computing, a file dialog is a dialog box that allows users to choose a file from the file system...

 is introduced. A short-lived fork of GNOME, GoneME, is created as a response to the changes in this version.
2.8 September 2004 Improved removable device support, adds Evolution
Novell Evolution
Evolution or Novell Evolution is the official personal information manager and workgroup information management tool for GNOME. It combines e-mail, calendar, address book, and task list management functions. It has been an official part of GNOME since version 2.8 in September 2004...

.
2.10 March 2005 Lower memory requirements and performance improvements. Adds: new panel applets (modem control, drive mounter and trashcan); and the Totem
Totem (media player)
Totem is a media player for the GNOME computer desktop environment which runs on GNU/Linux, Solaris, BSD and other Unix and Unix-like systems. It is officially included in GNOME starting from version 2.10 , but de facto it was already included in most GNOME environments...

 and Sound Juicer
Sound Juicer
Sound Juicer is an application Front-End to the Cdparanoia CD ripping library. It allows the user to extract audio from compact discs and convert it into audio files that a personal computer or digital audio player can understand and play...

 applications.
2.12 September 2005 Nautilus improvements; improvements in cut/paste between applications and freedesktop.org integration. Adds: Evince
Evince
Evince is a document viewer for PDF, PostScript, DjVu, TIFF and DVI designed for the GNOME desktop environment.The developers of Evince intended to replace the multiple GNOME document viewers with a single and simple application. The Evince motto sums up the project aim: "Simply a Document...

 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 Performance improvements (over 100% in some cases); usability improvements in user preferences; GStreamer 0.10 multimedia framework. Adds: Ekiga
Ekiga
Ekiga /i k ai g a/ is a VoIP and video conferencing application for GNOME and Windows. It is distributed as free software under the terms of the GNU General Public License. It was the default VoIP client in Ubuntu until October 2009, when it was replaced by Empathy...

 video conferencing application; Deskbar search tool; Pessulus lockdown editor; Fast user switching
Fast user switching
Fast user switching is a feature on some modern multi-user operating systems such as Windows XP and newer, Mac OS X, Linux. It allows users to switch between user accounts on a single PC without quitting applications and logging out. Analogous functionality was first developed on consumer level...

; Sabayon system administration tool.
2.16 September 2006 Performance improvements. Adds: Tomboy
Tomboy (software)
Tomboy is a free and open-source desktop notetaking application written for Unix-like and Microsoft Windows operating systems, written in C# using Gtk#. Tomboy is part of the GNOME desktop environment, often for personal information management. Its interface is a notepad with a wiki-like linking...

 notetaking application; Baobab
Baobab (software)
Baobab is a graphical disk usage analyzer for GNOME. It is a part of GnomeUtils. It is named after a strange tree: Adansonia.- External links :**...

 disk usage analyser; Orca
Orca (assistive technology)
Orca is a free and open source, flexible, extensible assistive technology for people with visual impairments. Using various combinations of speech synthesis, braille, and magnification, Orca helps provide access to applications and toolkits that support the AT-SPI .The development of Orca has been...

 screen reader; GNOME Power Manager (improving laptop battery life); improvements to Totem, Nautilus; compositing
Compositing
Compositing is the combining of visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously called "chroma key", "blue screen", "green screen" and other names. Today,...

 support for Metacity; new icon theme. Based on GTK+ 2.10 with new print dialog.
2.18 March 2007 Performance improvements. Adds: Seahorse
Seahorse (software)
Seahorse is a GNOME front-end application for managing PGP and SSH keys. Seahorse integrates with Nautilus, gedit and Evolution for encryption, decryption and other operations. It has HKP and LDAP key server support...

 GPG
GNU Privacy Guard
GNU Privacy Guard is a GPL Licensed alternative to the PGP suite of cryptographic software. GnuPG is compliant with RFC 4880, which is the current IETF standards track specification of OpenPGP...

 security application, allowing encryption of emails and local files; Baobab disk usage analyser improved to support ring chart view; Orca screen reader; improvements to Evince, Epiphany and GNOME Power Manager, Volume control; two new games, GNOME Sudoku and glchess. MP3 and AAC audio encoding.
2.20 September 2007 Tenth anniversary release. Evolution backup functionality; improvements in Epiphany, EOG, GNOME Power Manager; password keyring management in Seahorse. Adds: PDF forms editing in Evince; integrated search in the file manager dialogs; automatic multimedia codec
Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...

 installer.
2.22 March 2008 Addition of Cheese
Cheese (software)
Cheese is a GNOME webcam application, similar to Apple's Photo Booth. It was developed as a Google Summer of Code 2007 project by Daniel G. Siegel. It uses GStreamer to apply effects to photos and videos...

, a tool for taking photos from webcams and Remote Desktop Viewer
Vinagre
Vinagre is a VNC client for the GNOME desktop environment. It was included in GNOME 2.22. It has several features, like the ability to connect to multiple servers simultaneously and switch between them by tabs, VNC servers browsing and bookmarking. In version 2.29 Vinagre added controlling frame...

; basic window compositing support in Metacity
Metacity
Metacity was the window manager used by default in the GNOME desktop environment until GNOME 3, where it was replaced by Mutter. The development of Metacity was started by Havoc Pennington and it is released under the GNU General Public License....

; introduction of GVFS
GVFS
GVFS is the virtual filesystem for the GNOME desktop, which allows users easy access to remote data via SFTP, FTP, WebDAV, SMB, and local data via HAL integration, OBEX and others....

; improved playback support for DVDs and YouTube
YouTube
YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....

, MythTV
MythTV
MythTV is a free and open source home entertainment application with a simplified "10-foot user interface" design for the living-room TV, and turns a computer with the necessary hardware into a network streaming digital video recorder, a digital multimedia home entertainment system, or home theater...

 support in Totem
Totem (media player)
Totem is a media player for the GNOME computer desktop environment which runs on GNU/Linux, Solaris, BSD and other Unix and Unix-like systems. It is officially included in GNOME starting from version 2.10 , but de facto it was already included in most GNOME environments...

; internationalised clock applet; Google Calendar support and message tagging in Evolution; improvements in Evince
Evince
Evince is a document viewer for PDF, PostScript, DjVu, TIFF and DVI designed for the GNOME desktop environment.The developers of Evince intended to replace the multiple GNOME document viewers with a single and simple application. The Evince motto sums up the project aim: "Simply a Document...

, Tomboy
Tomboy (software)
Tomboy is a free and open-source desktop notetaking application written for Unix-like and Microsoft Windows operating systems, written in C# using Gtk#. Tomboy is part of the GNOME desktop environment, often for personal information management. Its interface is a notepad with a wiki-like linking...

, Sound Juicer
Sound Juicer
Sound Juicer is an application Front-End to the Cdparanoia CD ripping library. It allows the user to extract audio from compact discs and convert it into audio files that a personal computer or digital audio player can understand and play...

 and Calculator.
2.24 September 2008 Addition of the Empathy
Empathy (software)
Empathy is an instant messaging client which supports text, voice, video, file transfers, and inter-application communication over various IM protocols....

 instant messenger, Ekiga
Ekiga
Ekiga /i k ai g a/ is a VoIP and video conferencing application for GNOME and Windows. It is distributed as free software under the terms of the GNU General Public License. It was the default VoIP client in Ubuntu until October 2009, when it was replaced by Empathy...

 3.0, tabbed browsing in Nautilus
Nautilus (file manager)
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 and was the default from version 2.0 onwards....

, better multiple screens support and improved digital TV support.
2.26 March 2009 New Disc Burning application Brasero
Brasero (software)
Brasero is a free disc-burning program for Unix-like systems, which serves as a graphical front-end to cdrtools, growisofs, and libburn.Brasero is the default CD/DVD application in the GNOME desktop....

, simpler file sharing, media player improvements, support for multiple monitors and fingerprint reader support.
2.28 September 2009 Addition of GNOME Bluetooth module. Improvements to Epiphany
Epiphany (web browser)
Epiphany is an open source web browser for the GNOME desktop environment. The browser is a descendant of Galeon, and was created after developer disagreements about Galeon's growing complexity...

 web browser, Empathy
Empathy (software)
Empathy is an instant messaging client which supports text, voice, video, file transfers, and inter-application communication over various IM protocols....

 instant messenger, Time Tracker, and accessibility. Upgrade to GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 version 2.18.
2.30 March 2010 Improvements to Nautilus
Nautilus (file manager)
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 and was the default from version 2.0 onwards....

 file manager, Empathy IM client
Empathy (software)
Empathy is an instant messaging client which supports text, voice, video, file transfers, and inter-application communication over various IM protocols....

, Tomboy
Tomboy (software)
Tomboy is a free and open-source desktop notetaking application written for Unix-like and Microsoft Windows operating systems, written in C# using Gtk#. Tomboy is part of the GNOME desktop environment, often for personal information management. Its interface is a notepad with a wiki-like linking...

, Evince
Evince
Evince is a document viewer for PDF, PostScript, DjVu, TIFF and DVI designed for the GNOME desktop environment.The developers of Evince intended to replace the multiple GNOME document viewers with a single and simple application. The Evince motto sums up the project aim: "Simply a Document...

, Time Tracker, Epiphany
Epiphany (web browser)
Epiphany is an open source web browser for the GNOME desktop environment. The browser is a descendant of Galeon, and was created after developer disagreements about Galeon's growing complexity...

, and Vinagre
Vinagre
Vinagre is a VNC client for the GNOME desktop environment. It was included in GNOME 2.22. It has several features, like the ability to connect to multiple servers simultaneously and switch between them by tabs, VNC servers browsing and bookmarking. In version 2.29 Vinagre added controlling frame...

. iPod and iPod Touch devices are now partially supported via gvfs
GVFS
GVFS is the virtual filesystem for the GNOME desktop, which allows users easy access to remote data via SFTP, FTP, WebDAV, SMB, and local data via HAL integration, OBEX and others....

 through libimobiledevice. Uses GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 2.20.
2.32 September 2010 Addition of Rygel and GNOME Color Manager. Improvements to Empathy IM client
Empathy (software)
Empathy is an instant messaging client which supports text, voice, video, file transfers, and inter-application communication over various IM protocols....

, Evince
Evince
Evince is a document viewer for PDF, PostScript, DjVu, TIFF and DVI designed for the GNOME desktop environment.The developers of Evince intended to replace the multiple GNOME document viewers with a single and simple application. The Evince motto sums up the project aim: "Simply a Document...

, Nautilus
Nautilus (file manager)
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 and was the default from version 2.0 onwards....

 file manager and others. 3.0 was intended to be released in September 2010, so a large part of the development effort since 2.30 went towards 3.0.
3.0 April 2011 Introduction of GNOME Shell. A redesigned settings framework with fewer, more focused options. Topic-oriented help based on the Mallard markup language
Mallard (documentation)
Mallard is a markup language for the creation of help pages and user documentation for applications .The language is developed within the GNOME project.Mallard is in draft status, meaning, it is not completed yet....

. Side-by-side window tiling. A new visual theme and default font. Adoption of GTK+ 3.0 with its improved language bindings, theming, touch, and multiplatform support. Removal of long-deprecated development APIs.
3.2 September 2011 Online Accounts support. Web Applications support. Contacts manager. Documents and Files manager. Quick Preview of Files in the File Manager. Greater Integration. Better documentation. Enhanced looks and Various performance improvements.

See also

  • Comparison of X Window System desktop environments
  • GNOME Mobile & Embedded Initiative
    GNOME Mobile & Embedded Initiative
    The GNOME Mobile & Embedded Initiative , also known as GNOME Mobile, is an initiative for developing and promoting the use of the GNOME platform in mobile devices...

  • KDE Plasma Desktop
  • List of GNOME applications

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK