• Home
  • InfoBase
  • Dictionaries
  • Member
  • News
  •     Wiki Advance Search
    中文网站
    Network Dictionary Blog Network Dictionary Wiki Network Dictionary Ask Network Dictionary Groups Tech Shop Network Dictionary

    GNOME: GNU Network Object Model Environment

    From Network Dictionary Wiki

    Jump to: navigation, search

    GNU Network Object Model Environment (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.


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

    The name originally stood for GNU Network Object Model Environment, though this acronym is deprecated.<ref name="naming">Template:Cite web</ref>

    Contents

    Aims

    Template:Cquote2

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

    • Freedom—to create a desktop environment that will always have the source code available for re-use under a free software license.
    • Accessibility—ensuring the desktop can be used by anyone, regardless of technical skill or physical disability.
    • Internationalization and localization—making the desktop available in many languages. At the moment GNOME is being translated to over 100 languages.<ref>Template:Cite web</ref>
    • Developer-friendliness—ensuring it is easy to write software that integrates smoothly with the desktop, and allow developers a free choice of programming language.
    • Organization—a regular release cycle and a disciplined community structure.
    • Support—ensuring backing from other institutions beyond the GNOME community.

    History

    Template:Seealso In 1996, the KDE project was started. KDE relied on the then non-free Qt widget toolkit. Members of the GNU project were concerned with KDE's dependence on non-free software, as a result, the GNOME project was started in August 1997.Template:Fact The initial project leaders for GNOME were Miguel de Icaza and Federico Mena.

    The name “GNOME” was proposed as an acronym of GNU Network Object Model Environment by Elliot Lee, one of the authors of ORBit and the Object Activation Framework.Template:Fact It refers to GNOME’s original intention of creating a distributed object framework similar to Microsoft’s OLE.<ref>Template:Cite web</ref> 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”.<ref name="naming" />

    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 itself. Having the toolkit and libraries under the LGPL allows applications written for GNOME to use a much wider set of licenses (including proprietary software licenses).<ref>Template:Cite web</ref> While Qt is dual-licensed under both the QPL and the GPL, the freedom to link proprietary software with GTK+ at no charge makes it differ from Qt. However proponents of the free software philosophy deem the LGPL a disadvantage for free software developers. Using the ordinary GPL for a library gives free software developers an advantage over proprietary developers: a library that they can use, while proprietary developers cannot use it.<ref>Template:Cite web</ref>

    Project structure

    As with most free software projects, the GNOME project is loosely managed. Discussion chiefly occurs on a number of public mailing lists.<ref>Template:Cite web</ref>

    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.<ref>Template:Cite web</ref> 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 in order to discuss the current state of the project and its future direction.<ref>Template:Cite web</ref>

    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:

    • Bonobo – a compound document technology.
    • GConf – for storing application settings.
    • GVFS – a virtual file system.
    • GNOME Keyring – for storing encryption keys and security information.
    • GNOME Translation Project – translate documentation and applications into different languages.
    • [[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 support (GObjects), extensive support of international character sets and text layout (Pango) and accessibility (ATK). GTK+ reduces the amount of work required to port GNOME applications to other platforms such as Windows and Mac OS X.
    • Human interface guidelines (HIG) – research and documentation on building easy-to-use GNOME applications.
    • LibXML – an XML library.
    • ORBit – a CORBA ORB for software componentry.

    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# and Python.<ref>Template:Cite mailing list</ref>

    Look and feel

    Image:Ubuntu OS X.png
    GNOME customized to look like Mac OS X Leopard

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

    GNOME puts emphasis on being easy for everyone to use. The HIG helps guide developers in producing applications which look and behave similarly, in order to provide a cohesive GNOME interface. Template:Clear

    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 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:<ref>Template:Cite web</ref>

    Template:Cquote

    Some people believe that GNOME should be more functional. One of these is Linus Torvalds, creator of the Linux kernel, who commented in a usability-related discussion on the GNOME usability mailing list:<ref>Template:Cite web</ref>

    Template:Cquote

    Releases

    Template:Prose

    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<ref>Template:Cite web</ref> GNOME development announced
    1.0 March 1999<ref>GNOME press release for version 1.0</ref> First major GNOME release
    1.0.53 October 1999<ref>Template:Cite mailing list</ref> "October"
    1.2 May 2000<ref>GNOME press release for version 1.2</ref> "Bongo"
    1.4 April 2001<ref>GNOME press release for version 1.4</ref> "Tranquility"
    2.0 June 2002<ref>Template:Cite mailing list</ref> Major upgrade based on GTK2. Introduction of the Human Interface Guidelines.
    2.2 February 2003<ref>GNOME press release for version 2.2</ref> Multimedia and file manager improvements.
    2.4 September 2003<ref>Template:Cite mailing list</ref> "Temujin": Epiphany, accessibility support.
    2.6 March 2004<ref>Template:Cite mailing list</ref> 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<ref>GNOME press release for version 2.8</ref> Improved removable device support, adds Evolution.
    2.10 March 2005<ref>GNOME press release for version 2.10</ref> 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<ref>GNOME press release for version 2.12</ref> 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<ref>GNOME press release for version 2.14</ref> 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<ref>Template:Cite mailing list</ref> 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<ref>Template:Cite mailing list</ref> 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<ref>Template:Cite web</ref> 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<ref>Template:Cite mailing list</ref> 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<ref>Template:Cite mailing list</ref> Addition of the Empathy instant messenger, Ekiga 3.0, tabbed browsing in Nautilus (file manager), better multiple screens support and improved digital TV support.

    Source code

    GNOME releases are made to the ftp.gnome.org FTP server<ref>Template:Cite web</ref> 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 Subversion source code repository.<ref>Template:Cite web</ref>

    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. Some examples include:

    • Project Soylent – making “people” and their interactions first-class objects within the GNOME framework.<ref>Template:Cite web</ref>
    • Project Ridley – to consolidate several small undermaintained libraries into GTK+, such as libgnome and libgnomeprint.<ref>Template:Cite web</ref>

    GNOME 3.0

    The next version of the desktop environment was officially announced at the 2008 GUADEC conference held in Istanbul in July. Release has been targeted for 2010, in place of version 2.30 of the current branch. Although the desktop will undergo a major revision, changes planned so far are mostly incremental.<ref>Template:Cite web</ref>

    Usage

    GNOME is the default desktop environment for several Linux distributions, most notably Debian, Fedora and Ubuntu. Foresight Linux showcases the latest releases of GNOME.

    For derived and other distributions, see Comparison of Linux distributions and Comparison of Linux Live Distros.

    See also

    Template:Portal

    References

    Template:Reflist

    External links

    Template:Wikibooks Template:Commons