Halaman ini berisi artikel tentang implementasi spesifik dari Emacs. Untuk kelas penyunting teks, lihat Emacs.

**GNU Emacs** adalah sebuah penyunting teks perangkat lunak bebas. GNU Emacs dibuat oleh pendiri Proyek GNU Richard Stallman. Sama dengan varietas Emacs lainnya, GNU Emacs dapat diekstensi dengan bahasa pemrograman yang Turing-sempurna. GNU Emacs disebut sebagai "teks editor paling kuat yang tersedia saat ini". Dengan dukungan yang tepat dari sistem yang mendasari, GNU Emacs dapat menampilkan berkas dalam beberapa set karakter, dan dapat menampilkan banyak bahasa manusia secara bersamaan sejak setidaknya 1999. Dalam sejarahnya, GNU Emacs telah menjadi komponen utama dari proyek GNU, dan merupakan produk unggulan dari gerakan perangkat lunak bebas. GNU Emacs seringkali disingkat menjadi GNUMACS, dengan alasan utama untuk membedakannya dengan varian EMACS lainnya. Tagline untuk GNU Emacs adalah "teks editor yang dapat diekstensi dan mendokumentasikan diri sendiri".

Sejarah
-------

Richard Stallman, pendiri Proyek GNU dan pencipta GNU Emacs
Pada 1976, Stallman menulis Emacs pertama ("Editor MACroS") dan pada 1984 memulai pengembangan dari GNU Emacs, untuk membuat perangkat lunak bebas sebagai alternatif dari Gosling Emacs yang merupakan perangkat lunak milik perorangan. GNU Emacs pada awalnya menggunakan Gosling Emacs sebagai dasarnya, namun perubahan yang dilakukan oleh Stallman terhadap penerjemah Mocklisp Gosling Emacs dengan penerjemah Lisp sejati membuat hampir seluruh kodenya harus ditulis ulang. Ini menjadikannya program pertama yang dirilis oleh GNU Project yang baru saja lahir. GNU Emacs ditulis dalam C dan menyediakan Emacs Lisp, yang juga diimplementasikan dalam C sebagai bahasa ekstensi. Versi 13, versi rilis publik pertama, dirilis pada 20 Maret 1985. Versi pertama yang didistribusikan secara luas adalah versi 15.34, dirilis kemudian pada 1985. Versi awal GNU Emacs diberi nomor sebagai "1.x.x", dengan nomor pertama menunjukkan versi dari inti C. Nomor "1" dibuang setelah versi 1.12 karena dianggap bahwa nomor utama tidak akan pernah berubah, menyebabkan versi utama dilewati dari "1" ke "13". Nomor versi ketiga ditambahkan untuk mewakili perubahan yang dilakukan oleh situs pengguna. Dalam skema penomoran saat ini, nomor dengan dua komponen menandakan versi rilis, dengan versi pengembangan memiliki tiga komponen.

GNU Emacs kemudian diporta ke dalam sistem operasi Unix. GNU Emacs menawarkan lebih banyak fitur dibandingkan Gosling Emacs, khususnya Lisp berfitur lengkap sebagai bahasa ekstensinya, yang kemudian menggantikan Gosling Emacs sebagai *de facto* editor Emacs Unix. Markus Hess mengeksploitasi sebuah celah keamanan dalam subsistem email GNU Emacs dalam *craking spree*-nya pada 1985, yang mana dia berhasil mendapatkan akses superuser ke komputer Unix.

Walaupun pada umumnya pengguna mengirim perbaikan dan kode Elisp kepada kelompok diskusi net.emacs, partisipasi dalam pengembangan GNU Emacs relatif dibatasi hingga 1999, dan dijadikan contoh untuk pengembangan gaya "Cathedral" dalam *The Cathedral and the Bazaar*. Proyek ini kemudian mengadopsi milis pengembangan publik dan akses CVS anonim. Pengembangan mengambil tempat pada satu batang CVS hingga 2008, dan saat ini menggunakan Git DVCS.

Richard Stallman tetap menjadi pemelihara utama dari GNU Emacs, walaupun dia telah mengundurkan diri di beberapa kesempatan. Stefan Monnier dan Chong Yidong telah mengawasi pemeliharaan sejak 2008. Pada 21 September 2015, Monnier mengumumkan bahwa ia akan mengundurkan diri sebagai pemelihara efektif dengan pembekuan fitur dari Emacs 25. Penyumbang lama John Wiegley diumumkan sebagai pemelihara yang baru pada 5 November 2015.

Lisensi
-------

Ketentuan Lisensi Publik Umum GNU (GPL) menyatakan bahwa kode sumber Emacs, mencakup kedua komponen C dan Emacs Lisp, tersedia secara bebas untuk diperiksa, diubah, dan didistribusikan kembali.

Versi lama dari dokumentasi GNU Emacs dibuat dibawah sebuah lisensi ad-hoc yang memerlukan inklusi dari teks tertentu pada salinan apapun yang dimodifikasi. Dalam buku petunjuk GNU Emacs contohnya, ini termasuk instruksi untuk memperoleh GNU Emacs dan esai yang ditulis oleh Richard Stallman *The GNU Manifesto*. Buku petunjuk XEmacs, yang mana diwariskan dari GNU Emacs lama jika percabangan terjadi, memiliki lisensi yang sama. Versi baru dari dokumentasinya menggunakan Lisensi Dokumentasi Bebas GNU dengan "bagian invarian" yang memerlukan inklusi dari dokumen yang sama dan manual tersebut menyatakan dirinya sebagai *GNU Manuals*.

Untuk GNU Emacs, seperti paket GNU pada umumnya, tetap memiliki aturan untuk menerima kontribusi kode yang signifikan saja hanya jika pemegang hak cipta menjalankan penafian yang sesuai atau pengalihan kepentingan hak cipta mereka kepada Yayasan Perangkat Lunak Bebas (FSF). Perbaikan bug dan kontribusi kode minor yang kurang dari 10 baris dikecualikan. Aturan ini diciptakan agar FSF dapat mempertahankan perangkat lunak tersebut di pengadilan jika lisensi *copyleft*-nya dilanggar.

Pada 2011, ditemukan bahwa GNU Emacs secara tidak disengaja merilis beberapa binari tanpa kode sumber yang sesuai selama dua tahun, yang bertentangan dengan semangat yang dimaksudkan dalam GPL. Richard Stallman mendeskripsikan insiden ini sebagai "*a very bad mistake*", yang kemudian diperbaiki dengan segera. FSF tidak menuntut redistributor *downstream* yang tidak sadar melanggar GPL dengan mendistribusikan binari ini.

Referensi
---------

1. ↑  "Emacs machines list". Diarsipkan dari versi asli tanggal 2007-07-06. Diakses tanggal 2022-06-06.
2. ↑  ""Learning GNU Emacs, Third Edition": A Guide to the World's Most Extensible, Customizable Editor". *www.oreilly.com* (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2023-01-21. Diakses tanggal 2022-06-06.
3. ↑  "Alphabet Soup: The Internationalization of Linux, Part 1 Linux Journal March 1999". Diarsipkan dari versi asli tanggal 2022-12-06. Diakses tanggal 2022-06-06. With the availability of fonts and, where necessary, internationalized terminal emulators, Emacs can simultaneously handle most of the world's languages.
4. ↑  Fusco, John (2007-03-06). *The Linux Programmer's Toolbox* (dalam bahasa Inggris). Pearson Education. ISBN 978-0-13-270304-8.
5. ↑  Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric S.; Rosenblatt, Bill (2005). *Learning GNU Emacs* (dalam bahasa Inggris). "O'Reilly Media, Inc.". ISBN 978-0-596-00648-8.
6. ↑  "GNUMACS". *www.catb.org*. Diarsipkan dari versi asli tanggal 2003-06-05. Diakses tanggal 2022-06-06.
7. ↑  "Debian -- Details of package emacs in bullseye". *packages.debian.org*. Diarsipkan dari versi asli tanggal 2007-05-05. Diakses tanggal 2022-06-06.
8. ↑  "NEWS.1-17". Diarsipkan dari versi asli tanggal 2022-06-18. Diakses tanggal 2022-06-06. There is a new version numbering scheme. What used to be the first version number, which was 1, has been discarded since it does not seem that I need three levels of version number. However, a new third version number has been added to represent changes by user sites. This number will always be zero in Emacs when I distribute it; it will be incremented each time Emacs is built at another site.
9. ↑  "GNU Emacs FAQ". Diarsipkan dari versi asli tanggal 2023-03-01. Diakses tanggal 2022-06-06. A version number with two components (e.g. ‘22.1’) indicates a released version; three components indicate a development version (e.g. ‘23.0.50’ is what will eventually become ‘23.1’).
10. ↑  Stoll, Clifford (1988-05-01). "Stalking the wily hacker". *Communications of the ACM*. **31** (5): 484–497. doi:10.1145/42411.42412. ISSN 0001-0782.
11. ↑  "Re: GNU EMACS". GNU. Diarsipkan dari versi asli tanggal 2023-07-20. Diakses tanggal 2014-11-16.
12. ↑  "Re: Looking for a new Emacs maintainer or team". gnu.org Mailing List. Diarsipkan dari versi asli tanggal 2023-06-30. Diakses tanggal 2008-02-23. ; see also "Stallman on handing over GNU Emacs, its future and the importance of nomenclature" Diarsipkan 2018-11-16 di Wayback Machine.
13. ↑  "Feature freeze". *lists.gnu.org*. Diarsipkan dari versi asli tanggal 2023-05-27. Diakses tanggal 2022-06-06.
14. ↑  Chirgwin, Richard. "Emacs gets new maintainer as Richard Stallman signs off". *www.theregister.com* (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2023-06-19. Diakses tanggal 2022-06-06.
15. ↑  "The GNU General Public License v3.0 - GNU Project - Free Software Foundation". *www.gnu.org*. Diarsipkan dari versi asli tanggal 2021-05-08. Diakses tanggal 2022-06-13.
16. ↑  "GNU Manuals". *XEmacs*. Diarsipkan dari versi asli tanggal 2016-04-22. Diakses tanggal 2022-06-13.
17. ↑  "Copyright assignment at the FSF — Free Software Foundation — Working together for free software". *www.fsf.org*. Diarsipkan dari versi asli tanggal 2023-04-28. Diakses tanggal 2022-06-13.
18. ↑  Brockmeier, Joe (2011-07-29). "Say what? GNU Emacs violates the GPL". *Network World* (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2023-05-04. Diakses tanggal 2022-06-06.
19. ↑  License revoked: Applying Section 4 of the GPL and the lessons of Best Buy to Google’s Android Diarsipkan 2016-01-27 di Wayback Machine. by Edward J. Naughton (Aug 8, 2011)
20. ↑  "Emacs Has Been Violating the GPL Since 2009 - Slashdot". *developers.slashdot.org* (dalam bahasa Inggris). Diarsipkan dari versi asli tanggal 2023-06-21. Diakses tanggal 2022-06-06.
21. ↑  "Re: Compiled files without sources????". *lists.gnu.org*. Diarsipkan dari versi asli tanggal 2023-04-04. Diakses tanggal 2022-06-06.

Pranala luar
------------

* Situs web resmi Sunting ini di Wikidata
* Wiki Emacs tidak resmi Diarsipkan 2022-10-06 di Wayback Machine.
* Emacs - Direktori Perangkat Lunak Bebas Diarsipkan 2023-07-11 di Wayback Machine.