GNOME |
: This article is about the GNOME project and desktop environment. For other uses of the term, see Gnome (disambiguation).
The GNOME project is an international effort to create an easy-to-use computer desktop environment built entirely from software considered free software by the Free Software Foundation.
A great deal of software is created or hosted under the umbrella of the GNOME project, some of which is collected and released together as The GNOME Desktop. The Desktop is then further combined with other software (such as a kernel (computer science)) to create a fully-functional computer system, such as a GNU/Linux distribution or Sun Microsystems Solaris_Operating_Environment.
GNOME is the official desktop of the GNU Project and the correct pronunciation of the name is guh-nome . The name was orginally an acronym of GNU Network Object Model Environment, but this usage is now considered obsolete.
=Aims=
According to the GNOME website,
: The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for end-users, users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.
The GNOME desktop puts heavy emphasis on simplicity, usability and making things just work . As a consequence of this, two things are given prominence in GNOME development:
In addition to providing an easy-to-use desktop for users, the GNOME project also aims to make the development of application software easier by providing many of the services expected in a modern environment and promoting the reuse of code.
= Origin =
The GNOME project was started in August 1997 by Miguel de Icaza and Federico Mena to provide an alternative to KDE.
KDE is a free software desktop environment that relies on the Qt toolkit widget toolkit — a piece of software written by Trolltech that did not use a free software license. Members of the GNU project became concerned about the use of such a toolkit for building a free software desktop and applications and launched two projects: Harmony , to create a 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 November 1998, the QT toolkit was licensed under the open source Q Public License (QPL), but debate continued about compatibility with the GNU General Public License (GPL). In September 2000, Trolltech made the GNU/Linux version of the Qt libraries available under the GPL, in addition to the QPL, thereby removing most of the objections that had fuelled years of licensing debates. The licensing of Qt is still controversial for some people because the use of the GPL for a library imposes restrictions on the licensing of code linking to it, such as applications and libraries using the KDE/Qt framework. In particular, in order to develop proprietary software with KDE and Qt, it is necessary to purchase a commercial license from Trolltech.
In place of the Qt toolkit, the GIMP 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. 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.
The GNOME desktop is written in the C programming language. A number of language bindings are available, allowing GNOME applications to be written in a variety of languages, such as C plus plus, Java programming language, Ruby programming language, C Sharp, Python programming language, Perl and many others.
= Organisation =
In common with most free software projects, the GNOME project is loosely organised. Discussion occurs on a number of mailing lists that are open to anyone. 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. The foundation, while not directly involved in technical decisions, does coordinate releases and decide which projects will be part of GNOME. According to the foundation s website, the qualifications for membership are,
: Per the GNOME Foundation s charter, any contributor to GNOME is eligible for membership. Although it is difficult to specify a precise definition, a contributor generally must have contributed to a non-trivial improvement of the GNOME Project. Contributions may be code, documentation, translations, maintenance of project-wide resources, or other non-trivial activities which benefit the GNOME Project.
The membership of the foundation elects a board of directors every November, and candidates for the positions must be members themselves.
= Platforms =
Although originally a GNU/Linux desktop, GNOME now runs on most Unix-like systems (Berkeley Software Distribution variants, AIX operating system, IRIX, HP-UX), and in particular it has been adopted by Sun Microsystems as the standard desktop for its Solaris platform, replacing the ageing Common Desktop Environment. Sun Microsystems has also released a business desktop under the name Java Desktop System — a SUSE Linux/Solaris 10 system base with a GNOME desktop. There is also a port of GNOME to Cygwin, allowing it to run on Microsoft Windows.
GNOME is also available in a number of LiveCD Linux distributions, such as Gnoppix, Morphix and Ubuntu Linux. A LiveCD allows a computer to booting directly from a compact disc (CD) without removal or changes to a pre-existing operating system, such as Microsoft Windows.
= Architecture =
The GNOME desktop is built from a large number of different projects. A few of the major ones are listed below:
=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:
Although GNOME applications can be written in many programming languages, the GNOME desktop itself and the applications that are part of a GNOME release are currently written purely in C. There is considerable discussion over the inclusion of applications written in other, higher level, languages such as C#, Python and Java. Although each of these languages is already used to develop GNOME applications, their use in core GNOME applications would force the inclusion of the respective language s virtual machine with every GNOME installation. This would increase the minimum specification of machine able to run the latest GNOME desktop.
=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.
= Major GNOME Applications =
See List of GNOME applications for a more complete list. Major applications based on GNOME include the following:
= Versions =
==Stable versions==
Each of the parts making up the GNOME project (see GNOME#Architecture) 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 Development stage#Stable/Unstable. Unstable releases for testers and developers are not listed, nor are bugfix releases for individual modules.
==CVS version==
Most operating system installations use only stable and tested versions of the GNOME desktop, and provide it in the form of easily installed pre-compiled packages. Those interested in testing, fixing bugs or adding new features can use the latest Concurrent Versions System version of GNOME — though development code is not recommended for general use as it contains many untested modifications and experimental changes. 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-Scripting programming languages (such as jhbuild ) are used to automate it.
=Notes=
#[http://www.gnome.org/about/ About GNOME] retrieved on 8 September, 2005 #[http://linuxtoday.com/news_story.php3ltsn=2000-09-05-001-21-OP-LF-KE Richard Stallman] regarding the origin of GNOME. Retrieved on 9 September, 2005. #[http://linuxtoday.com/news_story.php3ltsn=2000-09-05-001-21-OP-LF-KE Richard Stallman] on QPL and GPL covered code, and the Qt license change. Retrieved on 9 September, 2005. #[http://www.fsf.org/licensing/licenses/lgpl.html 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. #[http://mail.gnome.org GNOME mailing lists] rules and FAQs. #[http://foundation.gnome.org/membership/ Membership of the GNOME foundation] retrieved on 8 September, 2005
= See also =
= External links =
== Official sites ==
==GNOME versions==
== Third-party sites ==
|
|