GNOME

GNOME 1

1996年KDE发布，但KDE所依赖的Qt当时并未使用GPL许可。出于这种考虑，两个项目在1997年8月发起：一个是作为Qt库替代品的“Harmony”，另外一个就是创建一个基于非Qt库的桌面系统，即GNOME项目。GNOME的发起者为米格尔·德伊卡萨和费德里科·梅纳。
GIMP Toolkit（GTK+）被选中做为Qt toolkit的替代，担当GNOME桌面的基础。GTK+使用LGPL，允许链接到此库的软件（例如GNOME的应用程序）使用任意的许可协议。GNOME计划的应用程序通常使用GPL许可证。
在GNOME变得普及后，1999年Qt加入GPL许可。Troll Tech在GNU GPL和QPL双重许可证下发布了Unix版的Qt库。Qt加入GPL许可后，在2000年年底Harmony项目停止了开发，而KDE不再依赖非GPL的软件。2009年3月，Qt 4.5发布，加入了LGPL许可作为第三选择。
“GNOME”这个名称最初是“GNU Network Object Model Environment”的缩写，以反映最初为了开发类似微软对象连结与嵌入的框架。但这个缩写最后被放弃，因为它不再反映GNOME项目的远景。
加州初创企业Eazel公司于1999至2001年开发Nautilus文件浏览器。米格尔·德伊卡萨和纳特·弗里德曼于1999年创立后来成为Ximian的Helix Code公司。该公司开发了GNOME的基础设施和软件，2003年被Novell收购。

GNOME 2

GNOME 2与传统桌面界面十分相似，拥有一个用户可以与不同例如窗口、图标、文件等虚拟对象交互的桌面环境。GNOME 2使用Metacity为它的默认窗口管理器。GNOME 2的窗口、程序和文件管理和一般的桌面操作系统十分相似。在默认的设置中，桌面有一个启动菜单，可以用以开启已安装的程序及文件；己存在的窗口在下方的任务栏列出；而在右上角则有一个通知区以显示在背景运行的程序。不过，这些功能可以随用户喜好而更改位置、取代或甚至移除。

GNOME 3

在GNOME 3之前，GNOME是根据传统的桌面比拟而设计，但在GNOME 3便被GNOME Shell所取代，所有转换窗口及虚拟桌面都在“活动”画面中进行。此外，因为Mutter取代了Metacity成为默认的窗口管理器，最小化及放大按钮不再默认在名称列中。Adwaita取代了Clearlooks成为默认主题。很多GNOME核心程序都重新设计以提供更连贯的用户体验。
这些重大的改变最初引来了广泛的批评。MATE桌面环境项目由GNOME 2的源始码派生，目标为保留GNOME 2的传统界面，同时支持最新的Linux技术，例如GTK+ 3。Linux Mint团队则以开发“Mint GNOME Shell Extensions”一系列于GNOME 3上运行之插件解决此问题，这些插件使GNOME 3的界面变回传统比拟界面。最后，Linux Mint决定从GNOME 3的源代码派生另外一个桌面环境“Cinnamon”。
截至2015年，对GNOME 3的整体评价已大致转为正面。Linux发行版Debian于GNOME 3发布时把XFCE改成默认的桌面环境，但在Debian 8己改回默认使用GNOME 3。Linux创始者林纳斯·托瓦兹于2013年已改回使用GNOME 3。

设计

GNOME的目标是要简单易用。

GNOME Classic

从GNOME 3.8起，GNOME提供一个经典模式，提供一个较传统的接口（类似GNOME 2）。

兼容性

GNOME运行在X11之上，在GNOME 3.10后亦可在Wayland下运行。在大部分Linux发行版上的GNOME都是默认桌面环境或可安装的，而在大部分BSD系统上为Ports。
2011年5月伦内德·柏特菱建议把systemd列为GNOME运行需要的软件。因为systemd是Linux独有，这个提议亦引起了未来停止支持其他平台的讨论。由GNOME 3.2起，多席位配置只支持使用systemd的系统。2012年11月GNOME发布小组结论，指非基本的功能可以依赖systemd。

Freedesktop.org与GNOME

Freedesktop.org是一项帮助在不同的X Window桌面——例如GNOME，KDE或者XFCE——之间实现互操作和共享技术的计划。尽管并非正式标准化组织，Freedesktop.org定义了X桌面的基本特征，包括程序之间的拖放、窗口管理器规范、菜单布局、最近文件列表、程序之间复制粘贴和共享的MIME类型数据库等等。遵从Freedesktop.org规范使得GNOME应用程序能够集成到其他桌面（反之亦然），并起到鼓励桌面环境之间的竞争和合作的作用。

人机界面指南

自GNOME 2以起，可用性是GNOME的主要焦点。所以，GNOME人机界面指南便开始发展。所有GNOME程序都有连贯的图形用户界面，但是不止于使用同一套控件（英语：GUI widgets）。因为GNOME接口的设计是由在指南中的概念所引导，而指南自身则发展自认知工效学。跟从人机界面指南，开发者可以创造优质、连贯和可用性高的接口程序，因为指南里由接口设计至接口布局亦有规定。
在GNOME 2的重新编程中，很多对大部分用户而言用途不大的选项都被移除。夏霍·边灵顿在他于2002年发布的文章“自由软件的用户界面”（英语：Free Software UI）中总结了关于GNOME可用性的工作，强调所有首选项都有它的代价。使软件功能在默认时操作畅顺，比在设置中加入选项才令软件操作和预期一样更好：
一个传统的自由软件是可配置的，使它集合所有在新旧所有同类软件所见的功能，或甚至可配置得拥有任何新旧软件的所有功能（Emacs＊咳＊）。
这会造成问题吗？它会造成问题。原来选项有它们的代价。当然，某些选项亦有重要的价值－亦可成为关键的界面功能。但是每一个都有它们的代价，要小心地衡量它们的价值。很多用户和开发者都不明白此代价，令他们的选项有很大的代价但只有微小的价值。
——夏霍·边灵顿

无障碍

GNOME旨在使并保持桌面环境对身心障碍者在物理上和认知上都符合人体工学。GNOME的人机界面指南尝试把此因素包个在内，但是某些个别问题使由须由特别的软件解决。
GNOME透过无障碍包（ATK）应用程序接口以解决计算机辅助功能上的问题，它容许特别的输入法、语音合成及语音识别以改善用户体验。某些工具在ATK内透过辅助技术服务供应接口（AT-SPI）注册，以在整个桌面环境中都可以使用。几个辅助技术软件，例如Orca屏幕阅读器和Dasher输入法是针对在GNOME上使用而开发的。

核心程序

使用GTK+编写或基于Clutter编写的程序多不胜数，由不同开发者开发。自GNOME 3以来，GNOME计划开发了一系列的程序，为GNOME核心程序。所有GNOME核心程序都是根据人机界面指南而设计的。

游戏

GNOME游戏有与GNOME核心程序外观，以及与GNOME软件版本周期同时发布。它们全部都已根据人机界面指南重写。

开发工具

Anjuta集成开发环境，Glade用户界面设计工具及Devhelp应用程序接口阅览器是为了促进开发与GNOME连贯的软件而开发的。Accerciser计算机辅助阅览器以及其他调试工具，包括Nemiver、GtkInspector和Alleyoop亦是为了促进开发GNOME软件而开发。
与第三方软件集成，例如与NoFlo集成亦有提供。