GNOME

GNOME
GNOME logo
Gnome2.30.0.png
A GNOME 2.30.0 desktop.
Developer(s) The GNOME Project
Initial release 3 March 1999
Development status Active
Written in C (GTK+)
Operating system Cross-platform (GNU, Linux, BSD, Solaris)
Available in Multilingual (166 languages)
Type Desktop environment
License GNU Lesser General Public License
GNU General Public License
Website http://www.gnome.org/

GNOME (pronounced /ˈɡnoʊm/)[1] (abbreviation of GNU Network Object Model Environment) is a desktop environment—a graphical user interface that runs on top of a computer operating system—composed entirely of free and open source software. It was created by two Mexican programmers, Miguel de Icaza and Federico Mena. It is an international project that includes creating software development frameworks, selecting application software for the desktop, and working on the programs that manage application launching, file handling, and window and task management.

GNOME is part of the GNU Project and can be used with various Unix-like operating systems, most notably GNU/Linux, and as part of the Java Desktop System in Solaris.

Contents

Aims

According to the GNOME website:

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

The GNOME project puts heavy emphasis on simplicity, usability, and making things “just work” (see KISS principle). The other aims of the project are:

History

In 1996, the KDE project was started. KDE was free and open source from the start, but members of the GNU project were concerned with KDE's dependence on the (then) non-GPL Qt widget toolkit. 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 entirely on top of GPL and LGPL licensed software).[4] The initial project leaders for GNOME were Miguel de Icaza and Federico Mena.

In place of the Qt toolkit, GTK+ was chosen as the base of the GNOME desktop. GTK+ uses the GNU Lesser General Public License (LGPL), a free software license that allows GPL-incompatible software (including proprietary 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 licenses).[5]

In 2000, Qt was made available under GPL terms[6]. Troll Tech offered dual-licensing under both QPL terms and GPL terms and granted exceptions to other specific licenses like the Apache License. Qt's 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. With Qt licensed under GPL terms, the Harmony Project stopped its efforts at the end of 2000, as KDE no longer depended on non-GPL software. In contrast, the development of GNOME continues (as of 2010). In March 2009, after Qt's owner company Troll Tech was bought by Nokia, Qt 4.5 was released and added a LGPL licensing as a third option.

The California startup Eazel developed the Nautilus file manager from 1999 to 2001. de Icaza and Nat Friedman founded Helix Code (later Ximian) in 1999 in Massachusetts. The company developed Gnome's infrastructure and applications, and in 2003 was purchased by Novell.

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 framework similar to Microsoft’s OLE.[7] 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".[8]

Iterations

Project structure

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

In August 2000 the GNOME Foundation 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.[10] 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 to discuss the current state of the project and its future direction.[11]

GNOME often incorporates standards from freedesktop.org into itself to allow GNOME applications to appear more integrated into other desktops (and vice versa), and encourages cooperation as well as competition.

Major subprojects

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#, Python and Vala.[12]

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. 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 anywhere the user desires, replaced with other functions or removed altogether.

GNOME uses Metacity as its default window manager. Users can change the appearance of their desktop through 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).

The HIG helps guide developers produce applications that look and behave similarly, which provides a cohesive GNOME interface.

Usability

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

During the v2.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 were reduced from a dialog of six tabs to one with two tabs. Havoc Pennington summarized the usability work in his 2002 essay "Free Software UI", emphasizing the idea that all preferences have a cost, and it's better to "unbreak the software" than to add a UI preference to do that:[13]

A traditional free software application is configurable so that it has the union of all features anyone's ever seen in any equivalent application on any other historical platform. Or even configurable to be the union of all applications that anyone's ever seen on any historical platform (Emacs *cough*).

Does this hurt anything? Yes it does. It turns out that preferences have a cost. Of course, some preferences also have important benefits - and can be crucial interface features. But each one has a price, and you have to carefully consider its value. Many users and developers don't understand this, and end up with a lot of cost and little value for their preferences dollar.

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.

Version Date Information
August 1997[14] GNOME development announced
1.0 March 1999[15] First major GNOME release
1.0.53 October 1999[16] "October"
1.2 May 2000[17] "Bongo"
1.4 April 2001[18] "Tranquility"
2.0 June 2002[19] Major upgrade based on GTK2. Introduction of the Human Interface Guidelines.
2.2 February 2003[20] Multimedia and file manager improvements.
2.4 September 2003[21] "Temujin": Epiphany, accessibility support.
2.6 March 2004[22] Nautilus changes to a spatial file manager, and a new GTK+ file dialog is introduced. A short-lived fork of GNOME, GoneME, is created as a response to the changes in this version.
2.8 September 2004[23] Improved removable device support, adds Evolution.
2.10 March 2005[24] Lower memory requirements and performance improvements. Adds: new panel applets (modem control, drive mounter and trashcan); and the Totem and Sound Juicer applications
2.12 September 2005[25] Nautilus improvements; improvements in cut/paste between applications and freedesktop.org integration. Adds: Evince PDF viewer; New default theme: Clearlooks; menu editor; keyring manager and admin tools. Based on GTK+ 2.8 with cairo support.
2.14 March 2006[26] Performance improvements (over 100% in some cases); usability improvements in user preferences; GStreamer 0.10 multimedia framework. Adds: Ekiga video conferencing application; Deskbar search tool; Pessulus lockdown editor; Fast user switching; Sabayon system administration tool.
2.16 September 2006[27] Performance improvements. Adds: Tomboy notetaking application; Baobab disk usage analyser; Orca screen reader; GNOME Power Manager (improving laptop battery life); improvements to Totem, Nautilus; compositing support for Metacity; new icon theme. Based on GTK+ 2.10 with new print dialog.
2.18 March 2007[28] Performance improvements. Adds: Seahorse GPG 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[29] 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 installer.
2.22 March 2008[30] Addition of Cheese, a tool for taking photos from webcams and Remote Desktop Viewer; basic window compositing support in Metacity; introduction of GVFS; improved playback support for DVDs and YouTube, MythTV support in Totem; internationalised clock applet; Google Calendar support and message tagging in Evolution; improvements in Evince, Tomboy, Sound Juicer and Calculator.
2.24 September 2008[31] Addition of the Empathy instant messenger, Ekiga 3.0, tabbed browsing in Nautilus, better multiple screens support and improved digital TV support.
2.26 March 2009[32] New Disc Burning application Brasero, simpler file sharing, media player improvements, support for multiple monitors and fingerprint reader support.
2.28 September 2009[33] Addition of GNOME Bluetooth module. Improvements to Epiphany web browser, Empathy instant messenger, Time Tracker, and accessibility. Upgrade to GTK+ version 2.18.
2.30 March 2010[34] Improvements to Nautilus file manager, Empathy IM Client, Tomboy, Evince, Time Tracker, Epiphany, and Vinagre. iPod and iPod Touch devices are now partially supported via gvfs through libimobiledevice. Uses GTK+ 2.20.

Source code

GNOME releases are made to the ftp.gnome.org FTP server[35] in the form of source code 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 source code repository.[36]

A number of build-scripts (such as Jhbuild or GARNOME) are available to help automate the process of compiling the source code.

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.

GNOME 3.0

GNOME Shell, the main new feature of GNOME 3.0

The next version of the desktop environment was officially announced at the 2008 GUADEC conference held in Istanbul in July. Release had been targeted for September 2010, in place of version 2.32 of the current branch. However, since then, the GNOME development team has pushed back the release date to March 2011 due to robustness issues.[37] Although the desktop will undergo a major revision, changes planned so far are mostly incremental.[38] For several previous years, thinking about GNOME happened under the code named ToPaZ and quite a few mock-ups were created as part of several ToPaZ brainstorming processes in the GNOME community.[39]

Usage

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

See also

References

  1. "LinuxWorld: Linux readies its desktop assault". http://news.zdnet.co.uk/software/0,1000000121,2071014,00.htm. Retrieved 2008-10-02. 
  2. "About GNOME". http://www.gnome.org/about/. Retrieved 2005-09-08. 
  3. "GNOME Languages". http://l10n.gnome.org/languages/. Retrieved 2009-11-19. 
  4. Richard Stallman (2000-09-05). "Stallman on Qt, the GPL, KDE, and GNOME". http://linuxtoday.com/news_story.php3?ltsn=2000-09-05-001-21-OP-LF-KE. Retrieved 2005-09-09. 
  5. "GNU Lesser General Public License - Free Software Foundation". http://www.fsf.org/licensing/licenses/lgpl.html. Retrieved 2008-01-20. 
  6. Trolltech (2010-07-27). "Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt". http://qt.nokia.com/about/news/archive/00000043. Retrieved 2010-07-27. 
  7. Pennington, Havoc (1999). "GTK+ / Gnome Application Development". http://developer.gnome.org/doc/GGAD/ggad.html. Retrieved 2006-09-08. 
  8. "Desktop Development mailing list". http://mail.gnome.org/archives/desktop-devel-list/2006-April/msg00436.html. Retrieved 2006-05-07. 
  9. "GNOME mailing lists, rules and FAQs". http://mail.gnome.org. 
  10. "Membership of the GNOME foundation". http://foundation.gnome.org/membership/. Retrieved 2005-09-08. 
  11. "About GUADEC". http://guadec.org/about. 
  12. Newren, Elijah (2006-04-20). "Mono bindings a blessed dependency? [Was: Tomboy in 2.16"]. desktop-devel mailing list. http://mail.gnome.org/archives/desktop-devel-list/2006-April/msg00332.html. Retrieved 2007-09-20. 
  13. ""Free Software UI"". http://ometer.com/free-software-ui.html. Retrieved 2007-03-08. 
  14. de Icaza, Miguel. "The story of the GNOME project". http://primates.ximian.com/~miguel/gnome-history.html. 
  15. GNOME press release for version 1.0
  16. Lee, Elliot (1999-10-12). ""October GNOME" release now available". gnome-announce mailing list. http://mail.gnome.org/archives/gnome-announce-list/1999-October/msg00020.html. Retrieved 2007-09-20. 
  17. GNOME press release for version 1.2
  18. GNOME press release for version 1.4
  19. Waugh, Jeff (2002-06-27). "GNOME 2.0 Desktop and Developer Platform Released!". desktop-devel mailing list. http://mail.gnome.org/archives/desktop-devel-list/2002-June/msg00592.html. Retrieved 2007-09-20. 
  20. GNOME press release for version 2.2
  21. Waugh, Jeff (2003-09-11). "Announcing the GNOME 2.4.0 Desktop & Developer Platform". gnome-announce mailing list. http://mail.gnome.org/archives/gnome-announce-list/2003-September/msg00062.html. Retrieved 2007-09-20. 
  22. Sobala, Andrew (2004-03-31). "Announcing the GNOME 2.6.0 Desktop & Developer Platform". gnome-announce mailing list. http://mail.gnome.org/archives/gnome-announce-list/2004-March/msg00131.html. Retrieved 2007-09-20. 
  23. GNOME press release for version 2.8
  24. GNOME press release for version 2.10
  25. GNOME press release for version 2.12
  26. GNOME press release for version 2.14
  27. Newren, Elijah (2006-09-06). "Celebrating the release of GNOME 2.16!". gnome-announce mailing list. http://mail.gnome.org/archives/gnome-announce-list/2006-September/msg00042.html. Retrieved 2007-09-20. 
  28. Newren, Elijah (2007-03-14). "Celebrating the release of GNOME 2.18!". gnome-announce mailing list. http://mail.gnome.org/archives/gnome-announce-list/2007-March/msg00056.html. Retrieved 2007-09-20. 
  29. "GNOME 2.20 officially released". Ars Technica. 2007-09-19. http://arstechnica.com/news.ars/post/20070919-gnome-2-20-officially-released.html. Retrieved 2007-09-20. 
  30. Untz, Vincent (2008-03-12). "Celebrating the release of GNOME 2.22!". gnome-announce-list mailing list. http://mail.gnome.org/archives/gnome-announce-list/2008-March/msg00060.html. Retrieved 2008-03-12. 
  31. Untz, Vincent (2008-09-24). "Celebrating the release of GNOME 2.24!". gnome-announce-list mailing list. http://mail.gnome.org/archives/gnome-announce-list/2008-September/msg00132.html. Retrieved 2008-09-27. 
  32. Untz, Vincent (2009-03-18). "Celebrating the release of GNOME 2.26!". gnome-announce-list mailing list. http://mail.gnome.org/archives/gnome-announce-list/2009-March/msg00091.html. Retrieved 2009-03-18. 
  33. Holwerda, Thom (2009-09-24). "GNOME 2.28 Released". OS News. http://www.osnews.com/story/22224/GNOME_2_28_Released. Retrieved 2009-04-05. 
  34. Holwerda, Thom (2010-03-31). "GNOME 2.30 Released". OS News. http://www.osnews.com/story/23092/GNOME_2_30_Released. Retrieved 2010-04-04. 
  35. "GNOME stable release ftp server". http://ftp.gnome.org/pub/gnome/sources/. 
  36. "Information about the GNOME source code repository". http://git.gnome.org/. 
  37. "GNOME 3 not ready yet, release pushed back to 2011". http://arstechnica.com/open-source/news/2010/07/gnome-3-not-ready-yet-release-pushed-back-to-2011.ars. Retrieved 2010-07-28. 
  38. "GNOME 3.0 officially announced... and explained". http://arstechnica.com/news.ars/post/20080714-gnome-3-0-officially-announced-and-explained.html. Retrieved 2008-08-02. 
  39. http://www.gnome-look.org/index.php?xcontentmode=185

External links