GNOME

**GNOME** adalah lingkungan desktop dan antarmuka grafik pengguna yang berjalan di atas sistem operasi. GNOME secara keseluruhan terdiri dari perangkat lunak bebas dan gratis. GNOME merupakan proyek internasional untuk menciptakan kerangka, aplikasi perangkat lunak untuk desktop, dan juga untuk mengatur peluncuran, penanganan file dan manajemen tugas jendela.

GNOME dikembangkan oleh GNOME Project, yang terdiri dari sukarelawan dan kontributor berbayar, perusahaan kontributor terbesar adalah Red Hat. Ini adalah proyek internasional yang bertujuan untuk mengembangkan kerangka kerja perangkat lunak untuk pengembangan perangkat lunak, memprogram aplikasi pengguna akhir berdasarkan kerangka kerja ini, dan untuk mengkoordinasikan upaya internasionalisasi dan lokalisasi dan aksesibilitas perangkat lunak tersebut.

GNOME adalah bagian dari proyek GNU dan dapat digunakan di kebanyakan sistem operasi mirip Unix, kebanyakan Linux dan OpenSolaris desktop.

## Nama
Awalnya "GNOME" merupakan akronim dari *GNU Network Object Model Environment*, sesuai dengan rencana awalnya untuk mendistribuskikan kerangka objek yang mirip dengan Microsoft's OLE; tetapi akronim ini sudah tidak dipakai karena sudah tidak sesuai dengan visi proyek GNOME.

## Sejarah

GNOME dimulai pada Agustus 1997 oleh Miguel de Icaza dan Federico Mena sebagai proyek perangkat lunak bebas untuk mengembangkan lingkungan desktop dan aplikasinya. GNOME dimulai karena KDE, proyek lingkungan desktop (yang juga merupakan perangkat lunak bebas), bergantung pada Qt toolkit yang pada waktu itu memakai lisensi Proprietari. Sebagai ganti dari Qt, GNOME memilih kerangka GTK+. Lisensi GTK+ adalah GNU Lesser General Public License (LGPL), lisensi perangkat lunak bebas yang mengizinkan pemakaian ke lisensi lain seperti lisensi Proprietary. GNOME sendiri dilisensi di bawah LGPL untuk datanya dan Lisensi Publik Umum GNU (GNU GPL) untuk aplikasinya.

Perusahaan perangkat lunak California, Eazel mengembangkan pengatur file Nautilus dari 1999 sampai 2001. De Icaza dan Nat Friedman kemudian menemukan kode helix (selanjutnya disebut Ximian) pada 1999 di Massachusetts. Perusahaan itu mengembangkan infrastruktur dan aplikasi GNOME, dan pada 2003 perusahaan itu dibeli Novell.

GNOME 2.x (rilis GNOME sebelumnya) sangat mirip dengan lingkungan desktop konvensional, menyajikan desktop yang simpel di mana pengguna dapat berinteraksi dengan objek virtual, seperti jendela, ikon, dan file. GNOME 2.x menggunakan Metacity sebagai pengatur jendela standarnya. Pengaturan jendela, aplikasi dan file dalam GNOME 2 mirip dengan kebanyakan sistem operasi desktop. Pada pengaturan standar GNOME 2, desktop memiliki menu peluncur untuk akses cepat ke are program untuk menampilkan program dan lokasi file; jendela terbuka dapat diakses dari taskbar di bawah layar, dan di atas kanan tersedia area notifikasi bagi program yang berjalan di latar belakang. Namun posisi itu dapat diubah pengguna ke mana saja atau diganti dengan fungsi lain atau ditiadakan.

### GNOME 2
GNOME 2 sangat mirip dengan antarmuka desktop konvensional, yang menampilkan desktop sederhana tempat pengguna dapat berinteraksi dengan objek virtual, seperti jendela, ikon, dan file. GNOME 2 menggunakan Metacity sebagai window manager default-nya. Penanganan jendela, aplikasi, dan file di GNOME 2 serupa dengan sistem operasi desktop tradisional. Dalam konfigurasi default GNOME 2, desktop memiliki menu peluncur untuk akses cepat ke lokasi program dan arsip yang terinstal; Jendela yang terbuka dapat diakses oleh taskbar di sepanjang bagian bawah layar, dan pojok kanan atas menampilkan area notifikasi untuk menampilkan pemberitahuan saat berjalan di latar belakang. Namun, fitur ini dapat dipindahkan ke hampir semua posisi atau orientasi yang diinginkan pengguna, diganti dengan fungsi lain atau dihapus sama sekali.

### GNOME 3
Sebelumnya GNOME menggunakan metafora desktop tradisional, tetapi di GNOME 3 ini diganti dengan GNOME Shell, sebuah metafora yang lebih abstrak dimana beralih antara berbagai tugas dan ruang kerja virtual terjadi di area terpisah yang disebut Overview. Juga, karena Mutter menggantikan Metacity sebagai window manager default, tombol minimize dan maximize tidak lagi muncul pada titlebar secara default. Adwaita menggantikan Clearlooks sebagai tema default. Banyak Aplikasi Core GNOME juga melakukan desain ulang untuk memberikan pengalaman pengguna yang lebih baik.

Perubahan besar ini pada awalnya menimbulkan kritik luas. Lingkungan desktop MATE  bercabang dari basis kode GNOME 2 dengan maksud mempertahankan antarmuka GNOME 2 tradisional sambil tetap kompatibel dengan teknologi Linux modern, seperti GTK+ 3. Tim Linux Mint membahas masalah ini dengan cara lain dengan mengembangkan "GNOME Mint GNOME Shell Extensions" yang berjalan di atas GNOME 3 dan memungkinkannya digunakan melalui metafora desktop tradisional. Hal ini pada akhirnya menyebabkan terciptanya antarmuka pengguna Cinnamon, yang bercabang dari basis kode GNOME 3.

Pada tahun 2005, di milis pengembangan GNOME resmi, Linus Torvalds mendorong pengguna untuk beralih ke KDE 3 daripada menggunakan GNOME. Pada tahun 2009, dia mencoba GNOME lagi tetapi, yang tidak puas dengan kehilangan produktivitas yang dirasakannya, dia beralih ke Xfce, membuat posting keras lainnya melawan GNOME. Pada tahun 2013, dia kembali ke GNOME 3 yang menyatakan bahwa "semakin tidak menyakitkan" dan "semuanya lebih baik dari setahun yang lalu".

Pada tahun 2015, penerimaan kritis jauh lebih positif. Sebagai contoh, Debian, sebuah distribusi Linux yang secara historis menggunakan GNOME 2, beralih ke Xfce ketika GNOME 3 dirilis tetapi membuka GNOME 3 pada waktunya untuk merilis Debian 8 "Jessie".

Pada bulan Maret 2017, Proyek GNOME merilis GNOME 3.24, memberikan perbaikan bug dan juga fitur utama baru.

### Kontroversi pada Platform yang Didukung
Pada Mei 2011 Lennart Poettering mengusulkan systemd sebagai kerangka utama dalam perilisan GNOME selanjutnya. Systemd hanya tersedia di Linux, pembicaraan selanjutnya mengarah kepada kemungkinan dicabutnya dukungan pada beberapa platform. Usulan itu menuai kritik yang sangat banyak, beberapa orang lebih suka GNOME didirikan di atas Kernel Linux.

Diskusi tersebut diakhiri tanpa kesimpulan, tetapi pada peluncuran GNOME 3.2, diumumkan bahwa GNOME 3.4 akan diliris dengan systemd.

## Tujuan Proyek GNOME
Menurut website GNOME

Proyek GNOME berfokus pada kesimpelan, ketersediagunaan, dan membuat segala hal "bekerja". Sasaran lain proyek adalah:
* **Kebebasan** - untuk menciptakan lingkungan desktop yang siap menyediakan *source code* untuk penggunaan ulang lisensi perangkat lunak.
* **Aksesibilitas** - untuk memastikan desktop dapat digunakan oleh setiap orang, walaupun memiliki keterbatasan teknis atau fisik.
* **Internasionalisasi dan Lokalisasi** - untuk menyediakan desktop dalam berbagai bahasa. Saat ini, GNOME sedang diterjemahkan ke 175 bahasa.
* **Kecocokan Pengembangan** - untuk memastikan perangkat lunak yang mudah ditulis dan diintegrasikan dengan desktop, dan menawarkan developer piliham bahasa pemrograman secara bebas.
* **Organisasi** - untuk mengeluarkan siklus rilis yang teratur dan menjaga disiplin struktur komunitas.
* **Dukungan** - untuk memastikan dukungan dari institusi lain di komunitas GNOME.

## Desain

### Antarmuka

Sejak GNOME 2, produktivitas menjadi fokus utama GNOME. Untuk tujuan ini, GNOME Human Interface Guidelines (HIG) diciptakan. Semua program GNOME berbagi gaya antarmuka pengguna grafis yang koheren (GUI) tetapi tidak terbatas pada penggunaan widget GUI yang sama. Sebaliknya, desain GUI GNOME dipandu oleh konsep yang dijelaskan di dalam GNOME HIG, sendiri mengandalkan wawasan dari ergonomi kognitif. Setelah HIG, pengembang dapat membuat program GUI berkualitas tinggi, konsisten, dan dapat digunakan, karena semuanya menangani segala hal mulai dari desain GUI hingga layout widget berbasis pixel yang direkomendasikan.

Sampai perilisan GNOME 3.x, GNOME didesain dengan komputasi desktop tradisional metaphor. Pengguna dapat mengganti penampilan desktop lewat tema, yang biasanya terdiri dari set ikon, manajemen ujung jendela dan generator parameter GTK+. Tema standar sekarang adalah Adwaita. Panduan antarmuka membantu pengembang menciptakan aplikasi yang terlihat dan berinteraksi mirip dengan aplikasi lain, yang menghasilkan pengalaman kohesi GNOME.

GNOME telah berevolusi dari desktop tradisional menjadi sebuah antarmuka di mana penggantian antara tugas dan ruang kerja virtual berbeda dilakukan di area baru yang disebut *overview*. GNOME yang telah didesain ulang telah menghasilkan perubahan yang signifikan: dirilis sebagai antarmuka baru bagi GNOME, GNOME Shell menggantikan GNOME Panel; Mutter atau Compiz menggantikan Metacity sebagai manajer jendela standar; tombol *minimize* dan *maximize* ditiadakan secara standar. Banyak program standar GNOME juga ditiadakan kare pendesainan ulang untuk menyajikan pengalaman pengguna yang konsisten dan tersatukan,

Pada konfigurasi standar GNOME, panel atas desktop memiliki (dari kiri ke kanan) tombol aktivitas, jam, area status sistem dan menu pengguna. Mengklik pada tombol aktivitas atau menggerakkan tetikus pada ujung kiri atas akan membuat desktop ke mode *overview*. Area status sistem memiliki indikator sistem seperti suara, Bluetooth, Network Manager, status baterai, dan aksesibilitas. Menu pengguna dapat menjadi indikator obrolan, pintasan ke konfigurasi sistem, dan manajer sesi seperti menukar pengguna, log out, mengunci layar, atau *suspend* komputer. Mode *overview* (yang diakses dengan menekan tombol aplikasi atau menggerakkan mouse ke pojok kiri atas) menampilkan pilihan jendela, pengganti tempat kerja di kanan, dan pilihan aplikasi (*dash*) di kiri, tombol jendela, tombol aplikasi, dan bar pencarian. Pemilih jendela menyediakan cara untuk berpindah ke jendela lain; cara mudah untuk menutup beberapa jendela sekaligus dengan mudah; dan memberikan pengguna informasi cepat tentang aktivitas saat ini. Panel aplikasi memberikan cara cepat untuk meluncurkan aplikasi. Pintasan *dash* memberikan tempat untuk aplikasi favorit dan jendela yang sedang terbuka. Dan juga pada antarmuka standar, ada notifikasi sistem baru. Dalam GNOME 3, notifikasi keluar dari bawah layar, tidak di kanan atas layar seperti pada GNOME 2.x.

Dimulai dengan GNOME 3.8, GNOME menyediakan Mode Klasik untuk mereka yang menyukai pengalaman desktop tradisional (mirip dengan GNOME 2).

### Aksesibilitas
Semenjak GNOME 2.0, salah satu fokus GNOME adalah aksesibilitas. Salah satunya dengan membuat *GNOME Human Interface Guidelines* (HIG). Dengan mengikuti panduan, pengembang dapat membuat program antarmuka grafik yang berkualitas tinggi, konsisten dan aksesibel, seperti yang diusulkan untuk membuat antarmuka grafik *pixel-based layout of widget*.

Selama revisi GNOME 2.0, banyak konfigurasi yang dinilai tidak bernilai bagi kebanyakan pengguna ditiadakan. Contohnya, panel pada sesi preferensi dikurangkan dari enam dialog menjadi hanya satu dengan 2 tab. Havoc Pennington menjelaskan kerja aksesibilitas dalam essainya pada 2002 "Free Software UI", menekankan ide bahwa semua preferensi memiliki biaya, dan lebih baik untuk *merekatkan perangkat lunak* ketimbang menambahkan antarmuka pengguna dan untuk itu"

Semenjak perilisan GNOME 3, desktop tradisional metaphor telah ditinggalkan dan digantikan oleh GNOME Shell. Penggantian ini mendapatkan reaksi yang beragam dari komunitas, dan hasilnya belum jelas sampai saat ini. Desktop MATE telah ditonjolkan dari GNOME 2, dan bertujuan untuk menampilkan antarmuka GNOME 2 yang tradisional dan menjaga kompatibilitas dengan GNOME 3.

GNOME berjalan di Wayland dan X Window System. Dukungan Wayland diperkenalkan di GNOME 3.10 dan dianggap "untuk sebagian besar pengguna [...] pengalaman hari ke hari yang dapat diupayakan" pada 3,20 dan memprioritaskan mereka melalui sesi X. GNOME 3.24 akan memperpanjang kompatibilitas Wayland dengan driver NVIDIA.

Versi GNOME tersedia di sebagian besar distribusi Linux baik sebagai lingkungan desktop default atau sebagai opsi yang dapat diinstal dan juga di koleksi port kebanyakan BSD.

Pada bulan Mei 2011, Lennart Poettering mengusulkan sistem sebagai ketergantungan GNOME. Karena systemd hanya tersedia di Linux, proposal tersebut mengarah pada diskusi tentang kemungkinan menjatuhkan dukungan untuk platform lain dalam rilis GNOME di masa depan. Karena dukungan GNOME 3.2 multiseat hanya tersedia pada sistem yang menggunakan sistemd. Pada bulan November 2012, tim peluncur GNOME menyimpulkan bahwa sistem dapat diandalkan untuk fungsionalitas non-dasar.

## Adopsi
GNOME tersedia dalam hampir semua distribusi Linux dan BSD dan menjadi lingkungan desktop standar bagi beberapa distribusi Linux (seperti Ubuntu dan Fedora). Juga dipasang di Solaris sebagai bagian dari desktop OpenSolaris (sebelumnya dikenal dengan *Java Desktop System*) sampai Solaris Express 10/04 dirilis.

GNOME 3 tersedia untuk dipasang melalui sebagian besar distribusi GNU/Linux:

Fedora - Fedora menyediakan GNOME 3 secara bawaan - cukup instal atau coba dulu.Fedora Workstation 25 sekarang tersedia dan mengirimkan GNOME 3.22.

OpenSUSE - GNOME 3 dapat dipilih saat menginstal versi terbaru openSUSE. Versi stabil adalah openSUSE Leap 42.2 dan ini termasuk GNOME 3.20.

Ubuntu GNOME - Ubuntu GNOME adalah varian resmi Ubuntu yang menyediakan pengalaman GNOME 3 yang lengkap. Ubuntu GNOME 17.04 menyertakan GNOME 3.24.

Banyak distro lain yang menyediakan GNOME 3, termasuk Arch Linux (GNOME 3.24), Debian (GNOME 3.14) dan Gentoo (GNOME 3.22).

## Pengembangan
GNOME dikembangkan oleh The GNOME Project dan menyediakan GNOME Desktop Environment, antarmuka pengguna grafis dan satu set aplikasi inti, dan GNOME Development Platform, sebuah kerangka kerja untuk membangun aplikasi yang terintegrasi dengan desktop.

Seperti kebanyakan proyek perangkat lunak bebas lainnya, pengembangan GNOME dikelola secara longgar. Diskusi terutama terjadi pada sejumlah mailing list publik.Pengembang dan pengguna GNOME berkumpul di pertemuan GUADEC tahunan untuk membahas keadaan saat ini dan arah masa depan GNOME. GNOME menggabungkan standar dan program dari freedesktop.org agar bisa beroperasi lebih baik dengan komputer desktop lain.

GNOME terutama ditulis dalam bahasa C, C++, Vala, Python dan JavaScript. Sejumlah binding bahasa tersedia.

Seperti kebanyakan proyek perangkat lunak bebas, proyek GNOME diatur secara longgar. Diskusi terjadi secara berkala pada beberapa *mailing list* umum. Pengembang dan pengguna GNOME berkumpul pada pertemuan GUADEC untuk mendiskusikan keadaan proyek dan arah masa depan.

GNOME sering menggabungkan standar dengan freedesktop.org untuk membuat aplikasi GNOME menjadi lebih cocok dengan desktop lain, menambahkan kooperasi dan kompetisi.

### Subproject
Perpustakaan dan perpustakaan utilitas GLib, sistem objek dan tipe GObject dan toolkit widget GTK+ terdiri dari bagian utama platform pengembangan GNOME. Yayasan ini diperluas dengan kerangka kerja D-Bus IPC, perpustakaan gambar berbasis vektor 2D Kairo, perpustakaan grafis bergerigi Clutter, perpustakaan rendering teks Pango internasional, API audio tingkat rendah PulseAudio, kerangka multimedia GStreamer, dan beberapa perpustakaan khusus termasuk NetworkManager, PackageKit, Telepathy (instant messaging) dan WebKit.

GNOME memiliki banyak proyek-proyek, berikut adalah proyek major GNOME:
* GNOME Display Manager (GDM) - yang mengelola sesi pengguna, X dan Wayland.
* GNOME Shell - antarmuka pengguna GNOME 3.
* GSettings - sistem penyimpanan konfigurasi. (menggantikan GConf)
* GVFS - sistem file virtual.
* GNOME Keyring - bersama Seahorse menjadi tempat penyimpanan kunci enkripsi dan informasi keamanan.
* GNOME Translation project - bertujuan menerjemahkan dokumen dan aplikasi ke bahasa lain.
* GTK+ - sebuah kerangka untuk membuat aplikasi grafik. GTK+ adalah kerangka dasar GNOME, sehingga GNOME mendapatkan beberapa keuntungan seperti penggantian tema dan grafik yang *teranti-alias*. Subproyek dari GTK+ adalah untuk menyediakan *object-orientated programming support* (GObject), dukungan ekstensif karakter internasional dan susunan text (Pango) dan aksesibilitas (ATK). GTK+ membutuhkan lebih sedikit sumber daya untuk menjalankan GNOME di platform lain seperti Windows dan Mac.
* Tracker secara otomatis mencari direktori yang ditentukan untuk file dan menyimpan indeksnya untuk memberikan pencarian cepat; Sangat terintegrasi ke dalam GNOME Shell dan GNOME Files
* Mutter - komposer Wayland dan X Windows Manager
* Evolution Data Server - bertanggung jawab mengelola surat, kalender, buku alamat, tugas dan informasi memo
* Meson - menggantikan GNU Build System (autotools) sebagai alat bantu pembuatan otomasi pilihan
* Human Interface Guidelines(HIG) - riset dan dokumentasi dalam menciptakan aplikasi GNOME yang aksesibel.
* LibXML - library XML.
* Manajemen warna Linux, udev, dll.
Lingkungan desktop GNOME tidak hanya terdiri dari library kontrol elemen grafis GTK+ dan aplikasi inti yang memanfaatkannya. Ada beberapa paket perangkat lunak tambahan yang membentuk lingkungan desktop GNOME, seperti di atas.

Banyak bahasa pemrogramam tersedia untuk penggembangan, sehingga aplikasi GNOME ditulis dalam bahasa yang beragam, seperti C++ (gtkmm), Java (java-gnome), Ruby (ruby-gnome2), C# (Gtk#), Perl (gtk2-perl), Tcl (Gnocl), dan masih banyak lagi. Bahasa yang sekarang digunakan dalam aplikasi resmi GNOME adalah C, C++, C#, python, dan Vala.

### Siklus Rilis
Masing-masing komponen produk perangkat lunak di proyek GNOME memiliki nomor versinya sendiri dan jadwal rilis. Namun, masing-masing pengelola modul mengkoordinasikan usaha mereka untuk membuat rilis stabil GNOME secara keseluruhan pada jadwal sekitar enam bulan, di samping perpustakaannya yang mendasarinya seperti GTK+ dan GLib. Beberapa proyek eksperimental dikecualikan dari rilis ini.

Nomor versi GNOME mengikuti skema v.xx.yy. Di sini, v adalah versi utama, yang dapat mencakup perubahan besar seperti kerusakan ABI(Application binary interface/Antarmuka biner aplikasi); Ini tidak memiliki jadwal reguler dan terjadi sebagai respons terhadap persyaratan untuk perubahan skala besar. Xx adalah versi minor, yang dilepaskan pada jadwal di atas kira-kira setiap 6 bulan, di mana angka paritas 1- atau 2 digit menunjukkan jenis pelepasan: jika xx genap (misal 3,20) pelepasannya dianggap stabil, sedangkan jika Xx aneh itu mewakili snapshot pengembangan saat ini (misalnya 3.21) yang pada akhirnya akan berevolusi menjadi rilis stabil berikutnya. Anda menunjukkan rilis titik, misalnya. 3.20.6; Ini dibuat pada frekuensi berminggu-minggu untuk memperbaiki masalah, menambahkan perangkat tambahan tanpa henti, dll.

Perilisan GNOME berupa server FTP utama dalam bentuk *source code* dengan skrip konfigurasi, yang dikompilasi oleh sistem operasi dan diintegrasikan dengan sistem operasi sebelum didistribusikan. Biasanya sistem operasi hanya memakai versi stabil dan telah dites, dan menyediakannya dalam bentuk siap diinstall. Source code setiap versi stabil GNOME disimpan di GNOME Git source code repository. Pengguna yang berminat selalu dapat memperoleh cuplikan cabang pengembangan _master_ atau cabang / tag lainnya dan membuat versi mutakhir untuk mereka gunakan sendiri.

Sejumlah build-scripts (seperti JHBuild atau sebelumnya GARNOME) tersedia untuk membantu mengotomatisasi proses penyusunan kode sumber.

## Aplikasi

### Aplikasi Inti
Ada sejumlah besar program berbasis GTK+ - dan Clutter yang ditulis oleh berbagai penulis. Sejak diluncurkannya GNOME 3.0, Proyek GNOME berkonsentrasi untuk mengembangkan seperangkat program yang menyumbang Aplikasi Inti GNOME.Kesamaan dari Aplikasi Inti GNOME adalah kepatuhan terhadap pedoman GNOME HUD saat ini dan juga integrasi yang ketat dengan lapisan GNOME yang mendasari seperti GVfs dan juga satu sama lain misalnya Setelan GOA (gnome-online-accounts) dan GNOME Files dengan Google Drive dan GNOME Photos dengan Google Photos. Beberapa program hanya mengganti nama program yang ada dengan antarmuka pengguna yang diubah, sementara yang lain telah ditulis dari awal.

### Permainan
Game GNOME memiliki tampilan dan nuansa Aplikasi Core GNOME dan dirilis bersamaan dengan GNOME. Semua telah ditulis ulang sesuai dengan Pedoman Antarmuka GNOME saat ini.

### Alat pengembangan
Perangkat lunak telah ditulis untuk menyediakan alat pengembangan yang sesuai dengan desktop GNOME dan untuk memfasilitasi pengembangan perangkat lunak GNOME:

GNOME Builder adalah lingkungan pengembangan terpadu yang baru, Anjuta adalah yang lebih tua. Glade Interface Designer adalah perangkat lunak untuk membangun antarmuka grafis dengan menggunakan elemen kontrol grafis di GTK+. Devhelp adalah browser API, Accerciser sebagai penjelajah aksesibilitas, dan ada beberapa alat debugging, termasuk Nemiver, GtkInspector dan Alleyoop, juga telah disediakan untuk memfasilitasi pengembangan perangkat lunak GNOME.

Pilihan integrasi untuk alat pengembangan pihak ketiga (misalnya NoFlo) juga ada.

## Sejarah Perilisan

## Lihat pula
* MATE
* Xfce
* KDE
* Cinnamon

## Referensi