GNOME-projektet (GNUNetworkObjectModelEnvironment) blev påbegyndt i august1997 afMiguel de Icaza, som et forsøg på at levere etfrit skrivebordsmiljø til styresystemetGNU/Linux. På det tidspunkt varKDE det eneste seriøse alternativ for ikke-tekniske brugere.
Der var dog nogle problemer i forbindelse med KDE: Det var baseret påTrolltechsQt-toolkit, der havde flere licenseringsproblemer. Licenseringsproblemerne i forbindelse med de formodedede overtrædelser af GPL blev løst ved at udgive Qt under bådeGPL ogQPL, også kendt som dobbeltlicensering. Der er stadig stor uenighed om brugen af den komplette GPL til et funktionsbibliotek som Qt og de restriktioner det medfører for kode derlinker til den, såsom KDE-miljøet og alle KDE-programmer.
GNOME selv er skrevet iprogrammeringssprogetC. Et række sprogbindinger er tilgængelige, hvilket gør det muligt at skrive GNOME-programmer i forskellige programmeringssprog som eksempelvisC++,Ruby,C#,Python,Perl og mange andre. I stedet for Qt valgte manGTK+ som grundlag for udviklingen af GNOME. GTK+'s licens varGNU Lesser General Public License. Det blev allerede anvendt afGimp, et større fri software-projekt.
IApril2011 udkom GNOME version 3. GNOME3 introduceredeGNOME Shell som erstatning forGNOME Panel.