 | GNOME: Encyclopedia - GNOME
GNOME
The GNOME project is an international effort to create an easy-to-use computer desktop environment built entirely from software considered free 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) to create a fully-functional computer system, such as a GNU/Linux distribution or Sun Microsystems' Solaris.
GNOME is the official desktop of the GNU Project and the correct pronunciation of the name is guh-nome. The name was originally an acronym of GNU Network Object Model Environment, but this usage is now considered obsolete.
GNOME - 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. " [1]
The GNOME project puts heavy emphasis on simplicity, usability and making things "just work". As a consequence of this, two things are given prominence:
- Accessibility — ensuring the desktop can be used by everyone, regardless of technical skill or physical disability
- Internationalisation — ensuring the desktop is available in many languages
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.
GnomeFiles - a software repository, Linux Documentation Project
GNOME - 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 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.[2]
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.[3] The licensing of Qt is still controversial for some 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.[4] 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++, Java, Ruby, C#, Python, Perl and many others.
The name "GNOME" was proposed by Elliot Lee, one of the authors of ORBit and the Object Activation Framework (OAF). 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, many members of the project advocate dropping the acronym and re-naming "GNOME" to "Gnome".
GNOME - 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.[5] 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."[6]
The membership of the foundation elects a board of directors every November, and candidates for the positions must be members themselves.
GNOME - Platforms
Although originally a GNU/Linux desktop, GNOME now runs on most Unix-like systems (*BSD variants, AIX, IRIX, HP-UX), and in particular it has been adopted by Sun Microsystems as the standard desktop for its Solaris platform, replacing the ageing CDE. It is supplied with most modern desktop GNU/Linux distributions, and is the default desktop environment for Fedora Core, Red Hat Linux, Debian and Ubuntu Linux.
GNOME is also available in a number of LiveCD Linux distributions. A LiveCD allows a computer to boot directly from a compact disc (CD) without removal or changes to a pre-existing operating system, such as Microsoft Windows. There are GNOME-based LiveCD Linux distributions such as Gnoppix, Morphix and Ubuntu Linux, and an official GNOME LiveCD is also available for download from the GNOME website.[7]
Sun Microsystems has 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 - Architecture
The GNOME desktop is built from a large number of different projects. A few of the major ones are listed below:
- Bonobo — a compound document technology.
- D-BUS — interprocess communication system.
- GConf — for storing application settings.
- GNOME VFS — a virtual file system.
- GNOME Keyring — for storing encryption keys and security information.
- GNOME Print — for printing documents.
- GNOME Translation Project — translate documentation and applications into different languages.
- GStreamer — a multimedia framework.
- GTK+ — a widget toolkit with several sub-projects.
- GLib — convenience functions for programming in C
- GObject — a framework for object oriented programming in C.
- ATK — an accessibility toolkit.
- Pango — for the layout and rendering of text in a wide variety of languages.
- Cairo — a sophisticated 2D graphics library.
- Human Interface Guidelines — research and documentation by Sun Microsystems on building easy-to-use GNOME applications.
- LibXML — an XML library.
- ORBit — a CORBA ORB for software componentry.
- Metacity — a window manager.
The use of GTK+ as the base widget toolkit allows GNOME to benefit from certain features: theming (the ability to change the look of an application); smooth anti-aliased graphics (with later Cairo-based versions of GTK+); and the opportunity to port the application to other platforms such as Windows and Mac OSX (examples of this include The Gimp and Inkscape).
GNOME - 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 WinFS.
- 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
While not specifically a GNOME project, the Tango Desktop Project aims to provide a consistent user experience across different desktop environments. For example, GNOME and KDE applications will be visually much closer to help users moving from one desktop environment to another.
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.
GNOME - 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.
GNOME - Major GNOME Applications
See List of GNOME applications for a more complete list. Major applications based on GNOME include the following:
- AbiWord — a word processor.
- Epiphany — a web browser. Epiphany is the default browser starting with GNOME 2.4.
- Evince — a document viewer (PDF, PostScript, and more).
- Evolution — for contacts/time management and e-mail.
- Gaim — an instant messenger.
- gedit — a text editor.
- The GIMP — an advanced image editor.
- GnomeMeeting — for telephony and voice over IP.
- Gnumeric — a spreadsheet.
- Inkscape — a vector drawing application.
- Nautilus — a file manager.
- Rhythmbox — a music-management application similar to iTunes.
- Totem — a media player.
GNOME - Stable versions
Each of the parts making up the GNOME project (see 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 stable. Unstable releases for testers and developers are not listed, nor are bugfix releases for individual modules.
GNOME - Source code
GNOME releases are made in the form of source code, which is then compiled and integrated with the rest of the system to produce a functioning computer with an easy to use desktop. 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 source code repository 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-scripts (such as "jhbuild" or GARNOME[8]) are used to automate it.
GNOME - Notes and references
- ^ About GNOME retrieved on 8 September 2005
- ^ Richard Stallman regarding the origin of GNOME. Retrieved on 9 September 2005.
- ^ Richard Stallman on QPL and GPL covered code, and the Qt license change. Retrieved on 9 September 2005.
- ^ 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.
- ^ GNOME mailing lists rules and FAQs.
- ^ Membership of the GNOME foundation retrieved on 8 September 2005
- ^ The official GNOME LiveCD
- ^ The GARNOME homepage
See also
- GnomeFiles - a software repository
- Linux Documentation Project
Other related archives*BSD, 2005, 8 September, 9 September, AIX, ATK, AbiWord, Accessibility, Architecture, Bonobo, C programming language, C#, C++, CDE, CORBA, Cairo, Cygwin, D-BUS, Debian, Epiphany, Evince, Evolution, FAQs, Federico Mena, Fedora Core, Free Software Foundation, Freedesktop.org, GConf, GIMP Toolkit, GLib, GNOME Foundation, GNOME Keyring, GNOME Storage, GNOME VFS, GNU General Public License, GNU Lesser Public License, GNU Project, GNU/Linux, GNU/Linux distributions, GObject, GStreamer, GTK+, Gaim, GnomeFiles, GnomeMeeting, Gnoppix, Gnumeric, HP-UX, Human Interface Guidelines, IRIX, Inkscape, Internationalisation, Java, Java Desktop System, KDE, Linux Documentation Project, List of GNOME applications, LiveCD, MIME type, Metacity, Microsoft Windows, Miguel de Icaza, Morphix, Nautilus, ORB, Pango, Perl, Project Ridley, Python, Q Public License, Qt, Red Hat Linux, Rhythmbox, Ruby, SUSE, Solaris, Sun Microsystems, Tango Desktop Project, The GIMP, The Gimp, Totem, Ubuntu Linux, WinFS, X Window desktops, XUL, Xfce, accessibility, boot, compact disc, compound document, desktop environment, e-mail, encryption, file manager, file system, free, free software license, gedit, iTunes, image editor, instant messenger, kernel, linking, proprietary software, scripts, software componentry, source code, source code repository, spreadsheet, stable, text editor, toolkit, vector, virtual machine, voice over IP, web browser, widget toolkit, window manager, word processor
 Adapted from the Wikipedia article "GNOME", under the G.N U Free Docmentation License. Please also see http://en.wikipedia.org/wiki |