GNOME

From Wikipedia, the free encyclopedia
Jump to: navigation, search
GNOME
GNOME logo
GNOME-Shell-3.10.png
GNOME 3.10 showing the Overview mode
Developer(s) The GNOME Project
Initial release 3 March 1999 (1999-03-03)
Stable release 3.12 (March 26, 2014; 22 days ago (2014-03-26)) [±][1]
Preview release 3.11.3 (February 19, 2014; 57 days ago (2014-02-19)) [±][2]
Development status Active
Written in C, C++, Python, Vala, Genie, JavaScript[3]
Operating system Unix-like with X11 or Wayland
Available in more than 50 languages[4]
Type Desktop environment
License GNU LGPL, GNU GPL
Website www.gnome.org

GNOME (pronounced /ˈnm/[5] or /ɡˈnm/[6]) is a desktop environment which is composed entirely of free and open-source software and targets to be cross-platform, i.e. run on multiple operating systems, its main focus being those based on the Linux kernel.[7]

GNOME is developed by The GNOME Project, which comprises both volunteers and paid contributors, the largest corporate contributor being Red Hat.[8][9] It is an international project that aims to develop software frameworks for the development of software, to program end-user applications based on these frameworks and coordinates the efforts for internationalization and localization as well as for accessibility of that software.

GNOME is part of the GNU Project[10] and can be used with various Unix-like operating systems, most notably GNU/Linux.

Design[edit]

Overall[edit]

The GNOME project puts heavy emphasis on simplicity, usability, and making things "just work" (see KISS principle).[11] 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 - to ensure the desktop can be used by anyone, regardless of technical skill or physical circumstances.
  • Internationalization and localization - to make the desktop available in many languages. At the moment, GNOME is being translated to 175 languages.[12]
  • 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.

As with most free software projects, the GNOME project is loosely managed. Discussion chiefly occurs on a number of public mailing lists.[14] 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.[15]

GNOME incorporates standards and programs from freedesktop.org to allow GNOME applications to better interoperate with other desktops, encouraging both cooperation and competition.

GNOME Accessibility[edit]

Handicapped Accessible sign
Older GNOME Accessibility sign
Current GNOME Accessibility sign

GNOME Accessibility aims to make and keep the GNOME desktop environment physically and cognitively ergonomic for people with all sorts of disabilities, e.g. mobility, visual or hearing impairment. The aim is to keep or make the desktop environment accessible for them. As far as possible the GNOME HIGs tries to take that into account, but the issues at hand are solved by special software.

GNOME Human Interface Guidelines[edit]

All GNOME programs including GNOME Shell, which is the UI/UX/graphical shell, share a common graphical user interface (GUI), which is not limited to the employment of the same GUI widgets. Rather, the design of the GNOME GUI is guided by concepts described by the GNOME Human interface guidelines (HIG) (stable), itself relying on insights from the scientific field of cognitive ergonomics.[16]

Good designs arise only from evolutionary, exploratory interaction between one (or at most a small handful of) exceptionally able designer(s) and an active user population.

The development of the overall and detailed design of the GNOME GUI has been an iterative process based on trial-and-error. It takes into account the experiences of its own developers, as well as feedback given by program developers and end users. Since the introduction of the GNOME HIG, accessibility has played an essential role in the overall design, and because anybody can contribute, problems are being addressed and solved.

A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away

Antoine de Saint-Exupéry

Since GNOME 2.0, a key focus of the project has been usability. To this end, the GNOME Human Interface Guidelines 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 by the development team 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 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:

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.

Havoc Pennington[17]

Features[edit]

Until the release of GNOME 3.0, GNOME used the traditional computing desktop metaphor. 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. In GNOME 3.0, Adwaita replaced Clearlooks as the default GNOME theme.

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

In the default configuration of GNOME, 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, and 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 gives users a quick overview of current activities, and provides a way to switch to other open windows or close multiple windows easily.
  • The application picker provides an easy way to launch applications.
  • The dash houses shortcuts to favorite applications and open windows.

The default interface also features a new system for notifications. In GNOME 3, notifications pop up from the bottom of the screen, instead of showing in the top right of the screen as in GNOME 2.x.[18]

Software architecture and components[edit]

The GNOME desktop environment is based on software and other efforts which are coordinated by a large number of different projects:

Portability and Compatibility[edit]

GNOME runs on the X Window System and as of GNOME 3.10 also on Wayland.[19] Current versions of GNOME are available in most Linux distributions either as the default desktop environment or as an installable option. GNOME is also available on Solaris since the Solaris Express 10/04 release and on some BSDs.[20] Currently only GNU/Linux officially supports GNOME from version 3.0 onwards however other operating systems are providing unofficial builds and are working on achieving full GNOME 3 compatibility.[21][22][23]

In May 2011 Lennart Poettering proposed systemd as a GNOME dependency.[24] As systemd is available only on Linux, the proposal led to a discussion of possibly dropping support for other platforms in future GNOME releases. Since GNOME 3.2 multiseat support has been only available on systems using systemd.[25] In November 2012 the GNOME release team concluded that systemd can be relied upon for non-basic functionality.[26]

GNOME Platform[edit]

A number of language bindings are available for GTK+ as well as Clutter, please see List of language bindings for GTK+. (java-gnome), Ruby (ruby-gnome2), C# (Gtk#), Python (PyGObject), Perl (gtk2-perl) and many others. Applications that are currently part of the official GNOME desktop release are written in C, C++, Python, Vala, Genie and Javascript.[27]

Applications[edit]

GNOME Development Tools[edit]

https://wiki.gnome.org/Apps/DeveloperTools

GNOME Core Applications[edit]

There are countless GTK+- and Clutter-based programs written by various authors. Since the release of GNOME 3.0, The GNOME Project concentrates on developing a set of programs that accounts for the GNOME Core Applications. All programs that form the GNOME Core Applications have a certain design and the tight integration with one another in common. Some programs are simply renamed existing programs with a revamped user interface, while other were written from scratch.

The current surface of GNOME 3 is GNOME Shell. GNOME Shell obsoleted GNOME Panel. An alternative surface is, for example, Cinnamon.

GNOME Games[edit]

GNOME Games have the look and feel of the GNOME Core Applications and are released simultaneously with GNOME. All have been rewritten conforming to the current GNOME Human Interface Guidelines.

GNOME Office[edit]

GNOME Office, in contrast to the Calligra Suite or LibreOffice, was never designed from scratch by any one team. Instead, it consist of applications, which were authored by independent individuals and have been developed by an increasing number of volunteers and GNOME developers. https://wiki.gnome.org/Apps/GnomeOffice

GNOME Chemistry Utils[edit]

The GNOME Chemistry Utils: GChemPaint, GChemCalc, GChem3D, GCrystal, GSpectrum and GChemTable.

GNOME Chemistry Utils comprises some programs and a library containing Gtk+ widgets and some C++ classes related to chemistry. Their homepage is here: wiki.gnome.org/Apps/ChemistryUtils

  • GChemPaint, a 2D chemical editor
  • GChemCalc, a chemical calculator
  • GChem3D, a molecular structure viewer
  • GCrystal, a crystal structure viewer and editor
  • GSpectrum, a simple spectrum viewer
  • GChemTable, a periodic table of the elements
  • EasyChem, a program to draw high-quality molecules and 2D chemical formulas site
  • Ghemical, a computational chemistry software package

GNOME Chemistry Utils further comprises GUI Widgets: a periodic table of the elements (/GtkPeriodic and /GtkComboPeriodic), a crystal structure viewer (/GtkCrystalViewer) and a molecular structure viewer (/GtkChem3DViewer).

Other GTK+ applications[edit]

There are numerous programs based on the GTK+ toolkit.

Development[edit]

Developers[edit]

The GNOME desktop environment is developed by The GNOME Project. The GNOME Project provides two things:

  • the GNOME desktop environment, a graphical user interface and core applications like Web, a simple web browser; and
  • the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop and mobile user interface.[30]

Release cycle[edit]

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

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

History[edit]

GNOME 1, 1999
GNOME 2.6, March 2004
GNOME 3.10, September 2013

GNOME was started in August 1997 by Miguel de Icaza and Federico Mena[31] as a free software project to develop a desktop environment and applications for it.[32] It was founded in part because K Desktop Environment, an already existing free software desktop environment, relied on the Qt widget toolkit which used a proprietary software license until version 2.0 (June 1999).[33][34] In place of Qt, the GTK+ toolkit was chosen as the base of GNOME. GTK+ uses the GNU Lesser Public License (LGPL), a free software license that allows software linking to it to use a much wider set of licenses, including proprietary software licenses.[35] GNOME itself is licensed under the LGPL for its libraries, and the GNU General Public License (GPL) for its applications.[36]

The name "GNOME" was initially an acronym of GNU Network Object Model Environment, referring to the original intention of creating a distributed object framework similar to Microsoft's OLE;[37] but it was dropped, because it no longer reflected the core vision of the GNOME project.[38]

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.

GNOME 2[edit]

GNOME 2 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 used Metacity as its default window manager. The handling of windows, applications, and files in GNOME 2 is similar to that of contemporary desktop operating systems. In the default configuration of GNOME 2, 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[edit]

GNOME 3 abandoned the traditional desktop metaphor in favor of GNOME Shell. This move received mixed reaction from the user community, though the outcome is not yet clear. The MATE desktop environment, software forked from GNOME 2, aims to retain the traditional GNOME 2 interface while keeping it compatible with GNOME 3. The Linux Mint team addressed the issue in another way by developing the "Mint GNOME Shell Extensions". This led to the Cinnamon user interface, which attempts to provide a more traditional user environment based on the desktop metaphor, like GNOME 2.

In March 2013, GNOME 3.8 was released, which includes a new "Classic mode" that restores a number of features such as an application menu, a places menu and a window switcher along the bottom of the screen, as extensions to the Shell.[39]

Releases[edit]

See also[edit]

References[edit]

  1. ^ Clasen, Matthias (2014-03-26). "GNOME 3.12 Released". GNOME mailing list. Retrieved 2014-03-26. 
  2. ^ Persch, Christian (2014-02-19). "GNOME 3.11.3". GNOME FTP Release mailing list. Retrieved 2014-02-21. 
  3. ^ Owen Taylor. "Implementing the next GNOME shell". Retrieved 2011-12-09. 
  4. ^ "GNOME 3.2 Release Notes". Retrieved 2011-12-09. 
  5. ^ Clinton, Jason D. (2011-04-02). "GNOME 3: Fewer interruptions". The GNOME Project. YouTube. Retrieved 2011-04-07. 
  6. ^ Bowman, Lisa M. (1999-03-04). "LinuxWorld: Linux readies its desktop assault". ZDNet. Retrieved 2008-10-02. 
  7. ^ Clasen (2014-02-19). "Portability of the GNOME desktop environment first = Matthias". Retrieved 2014-03-18. 
  8. ^ GNOME census
  9. ^ "staring into the abyss". 2012-07-27. Retrieved 2014-03-15. 
  10. ^ "GNU Package Blurbs". 2014-04-15. 
  11. ^ "Gnome 3 Overview". The GNOME Project. Retrieved 2012-08-27. 
  12. ^ "GNOME Languages". The GNOME Project. Canonical Ltd. Retrieved 2011-12-03. 
  13. ^ https://l10n.gnome.org/
  14. ^ "GTK+ and GNOME Mailing Lists". The GNOME Project. Retrieved 2011-12-04. 
  15. ^ "About". GUADEC. Retrieved 2011-12-03. 
  16. ^ "GNOME Human Interface Guidelines". 
  17. ^ Pennington, Havoc (April 2002). "Free Software UI". Retrieved 2011-12-04. 
  18. ^ "GNOME Shell Design". The GNOME Project. Retrieved 2011-12-03. 
  19. ^ https://help.gnome.org/misc/release-notes/3.10/
  20. ^ "Desktop Enhancements". Solaris 10 What's New. Sun Microsystems. 2009. Retrieved 2011-12-04. 
  21. ^ https://wiki.freebsd.org/Gnome#GNOME_3_Import
  22. ^ http://www.freebsd.org/gnome/
  23. ^ http://wiki.pcbsd.org/index.php/Gnome3
  24. ^ Poettering, Lennart (2011-05-18). "systemd as external dependency". desktop-devel mailing list. Retrieved 2011-10-05. 
  25. ^ a b Vitters, Olav; Klapper, André; Day, Allan. "GNOME 3.2 Release Notes". The GNOME Project. Retrieved 2011-10-05. 
  26. ^ Peters, Frederic. "20121104 meeting minutes". The GNOME Project. Retrieved 2013-01-14. 
  27. ^ 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.
  28. ^ "Accerciser". 
  29. ^ "gtkparasite". 
  30. ^ "GNOME Quick SWOT Analysis". The GNOME Project. Retrieved 2014-03-18. 
  31. ^ "About Us | GNOME". Retrieved 2011-12-09. 
  32. ^ "The GNOME Desktop project (fwd)". Retrieved 2011-12-10. 
  33. ^ Announcement: Qt version 2.0 released, 1999-06-25, retrieved 2014-04-16 
  34. ^ Stallman, Richard Stallman (2000-09-05). "Stallman on Qt, the GPL, KDE, and GNOME". Retrieved 2005-09-09. 
  35. ^ "Why you shouldn't use the Lesser GPL for your next library". Free Software Foundation. Retrieved 2008-01-20. 
  36. ^ The GNOME Project: "GNOME Foundation Guidelines on Copyright Assignment". Accessed 2013-03-26.
  37. ^ Pennington, Havoc (1999). "What is Gnome?". GTK+ / Gnome Application Development. Archived from the original on 2010-08-24. 
  38. ^ "Re: GNOME -> Gnome". Retrieved 2011-12-10. 
  39. ^ "GNOME 3.8 Release Notes". Retrieved 2013-03-27. 
  40. ^ de Icaza, Miguel. "The story of the GNOME project". 
  41. ^ "GNOME press release for version 1.0". Retrieved October 31, 2010. 
  42. ^ "GNOME press release for version 1.2". Retrieved October 31, 2010. 
  43. ^ "GNOME press release for version 1.4". Retrieved October 31, 2010. 
  44. ^ 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.
  45. ^ "GNOME press release for version 2.2". Retrieved October 31, 2010. 
  46. ^ 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.
  47. ^ 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.
  48. ^ "GNOME press release for version 2.8". Retrieved October 31, 2010. 
  49. ^ "GNOME press release for version 2.10". Retrieved October 31, 2010. 
  50. ^ "GNOME 2.12 Release Notes". Retrieved October 31, 2010. 
  51. ^ "GNOME 2.14 Release Notes". Retrieved October 31, 2010. 
  52. ^ 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.
  53. ^ 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.
  54. ^ Ryan, Paul (2007-09-19). "GNOME 2.20 officially released". Ars Technica. Retrieved 2007-09-20. 
  55. ^ 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.
  56. ^ 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.
  57. ^ 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.
  58. ^ Holwerda, Thom (2009-09-24). "GNOME 2.28 Released". OSNews. Retrieved 2009-04-05. 
  59. ^ Holwerda, Thom (2010-03-31). "GNOME 2.30 Released". OSNews. Retrieved 2010-04-04. 
  60. ^ "GNOME 2.32 Release Notes". Retrieved October 31, 2010. 
  61. ^ "GNOME 3.0 Release Notes". The GNOME Project. Retrieved 2011-04-07. 
  62. ^ "A list of features that have been implemented for 3.4". The GNOME Project. Retrieved 2012-03-28. 
  63. ^ "Add high dpi support". 2014-02-12. 
  64. ^ Wallen, Jack (March 28, 2014). "GNOME 3.10 has resurrected what was once the darling of the Linux desktop". TechRepublic. Archived from the original on March 28, 2014. 

External links[edit]