Informasi singkat tentang proyek gnu. Apa itu GNU dan GPL? UNIX dipasok oleh produsen komputer

Awalnya diterbitkan di buku Sumber Terbuka. Richard Stallman pernah menyumbangkan artikel ini sehingga ide-ide gerakan perangkat lunak bebas tidak sepenuhnya hilang dari buku itu.

Komunitas berbagi perangkat lunak pertama

Ketika saya mulai bekerja di Lab Kecerdasan Buatan MIT pada tahun 1971, saya menjadi bagian dari komunitas berbagi perangkat lunak yang telah ada selama bertahun-tahun. Berbagi perangkat lunak tidak terbatas pada komunitas kami saja; usianya sama tuanya dengan komputer, sama seperti berbagi resep sama tuanya dengan memasak. Tapi kami melakukannya lebih dari kebanyakan orang.

Lab AI menggunakan sistem operasi pembagian waktu yang disebut ITS (Sistem Berbagi Waktu Tidak Kompatibel) yang telah dirancang dan ditulis oleh staf peretas lab (1) dalam bahasa rakitan untuk Digital PDP -10, salah satu komputer besar pada zaman itu. . Sebagai anggota komunitas ini, seorang staf peretas sistem AI Lab, tugas saya adalah menyempurnakan sistem ini.

Kami tidak menyebut perangkat lunak kami sebagai “perangkat lunak bebas”, karena istilah tersebut belum ada; tapi itulah yang terjadi. Kapan pun orang dari universitas atau perusahaan lain ingin melakukan porting dan menggunakan suatu program, kami dengan senang hati mengizinkannya. Jika Anda melihat seseorang menggunakan program yang asing dan menarik, Anda selalu dapat meminta untuk melihat kode sumbernya, sehingga Anda dapat membacanya, mengubahnya, atau mengkanibal bagian-bagiannya untuk membuat program baru.

(1) Penggunaan kata “hacker” yang berarti “pelanggar keamanan” merupakan suatu kebingungan di pihak media massa. Kami para peretas menolak untuk memahami arti tersebut, dan terus menggunakan kata tersebut untuk mengartikan seseorang yang suka memprogram, seseorang yang menyukai kepintaran bermain-main, atau kombinasi keduanya. Lihat artikel saya, Tentang Peretasan.

Runtuhnya komunitas

Situasi berubah drastis pada awal tahun 1980an ketika Digital menghentikan seri PDP-10. Arsitekturnya, yang elegan dan kuat di tahun 60an, tidak dapat diperluas secara alami ke ruang alamat yang lebih besar seperti yang mungkin dilakukan di tahun 80an. Artinya, hampir seluruh program penyusun ITS sudah ketinggalan zaman.

Komunitas peretas AI Lab telah runtuh tidak lama sebelumnya. Pada tahun 1981, perusahaan spin-off Symbolics telah mempekerjakan hampir semua peretas dari AI Lab, dan komunitas yang tidak berpenghuni tidak mampu mempertahankan dirinya sendiri. (Buku Hackers, oleh Steve Levy, menggambarkan peristiwa-peristiwa ini, serta memberikan gambaran yang jelas tentang komunitas ini pada masa jayanya.) Ketika AI Lab membeli PDP-10 baru pada tahun 1982, administratornya memutuskan untuk menggunakan Digital" s sistem berbagi waktu non-bebas, bukan ITS.

Komputer modern pada masa itu, seperti VAX atau 68020, mempunyai sistem operasinya sendiri, namun tidak satupun dari sistem tersebut merupakan perangkat lunak bebas: Anda harus menandatangani perjanjian kerahasiaan bahkan untuk mendapatkan salinan yang dapat dieksekusi.

Artinya, langkah pertama dalam menggunakan komputer adalah berjanji untuk tidak membantu tetangga Anda. Komunitas yang bekerja sama dilarang. Aturan yang dibuat oleh pemilik perangkat lunak berpemilik adalah, “Jika Anda berbagi dengan tetangga Anda, Anda adalah seorang bajak laut. Jika Anda menginginkan perubahan apa pun, mohon kami melakukannya.”

Gagasan bahwa sistem sosial perangkat lunak berpemilik—sistem yang menyatakan bahwa Anda tidak diperbolehkan berbagi atau mengubah perangkat lunak—bersifat antisosial, tidak etis, dan salah, mungkin mengejutkan sebagian pembaca. Tapi apa lagi yang bisa kami katakan tentang sistem yang didasarkan pada pembagian masyarakat dan membuat pengguna tidak berdaya? Pembaca yang menganggap gagasan ini mengejutkan mungkin menganggap sistem sosial perangkat lunak berpemilik begitu saja, atau menilainya berdasarkan ketentuan yang disarankan oleh bisnis perangkat lunak berpemilik. Penerbit perangkat lunak telah bekerja keras dan lama untuk meyakinkan masyarakat bahwa hanya ada satu cara untuk mengatasi masalah ini.

Ketika penerbit perangkat lunak berbicara tentang “menegakkan” “hak” mereka atau “menghentikan pembajakan”, apa yang sebenarnya mereka lakukan mengatakan adalah hal sekunder. Pesan sebenarnya dari pernyataan-pernyataan ini terletak pada asumsi-asumsi yang tidak dinyatakan dan diterima begitu saja, yang mana masyarakat diminta untuk menerimanya tanpa perlu melakukan pengujian. Oleh karena itu, mari kita periksa mereka.

Salah satu asumsinya adalah bahwa perusahaan perangkat lunak memiliki hak alami yang tidak dapat disangkal untuk memiliki perangkat lunak dan dengan demikian mempunyai kekuasaan atas semua penggunanya. (Jika hal ini merupakan hak alamiah, maka tidak peduli seberapa besar kerugian yang ditimbulkannya terhadap masyarakat, kami tidak dapat menolaknya.) Menariknya, Konstitusi dan tradisi hukum AS menolak pandangan ini; hak cipta bukanlah hak alami, namun monopoli buatan pemerintah yang membatasi hak alami pengguna untuk menyalin.

Asumsi lain yang tidak disebutkan adalah bahwa satu-satunya hal penting tentang perangkat lunak adalah pekerjaan apa yang dapat Anda lakukan—bahwa kita sebagai pengguna komputer tidak perlu peduli dengan masyarakat seperti apa yang boleh kita miliki.

Asumsi ketiga adalah bahwa kita tidak akan memiliki perangkat lunak yang dapat digunakan (atau tidak akan pernah memiliki program untuk melakukan pekerjaan tertentu) jika kita tidak menawarkan kekuasaan kepada perusahaan atas pengguna program tersebut. Asumsi ini mungkin tampak masuk akal, sebelum gerakan perangkat lunak bebas menunjukkan bahwa kita dapat membuat banyak perangkat lunak yang berguna tanpa harus mengikatnya.

Jika kita menolak untuk menerima asumsi-asumsi ini, dan menilai masalah-masalah ini berdasarkan moralitas yang masuk akal sambil mengutamakan pengguna, kita akan sampai pada kesimpulan yang sangat berbeda. Pengguna komputer harus bebas memodifikasi program sesuai kebutuhannya, dan bebas berbagi perangkat lunak, karena membantu orang lain adalah fondasi masyarakat.

Sebuah pilihan moral yang tegas

Dengan hilangnya komunitas saya, mustahil untuk melanjutkan seperti sebelumnya. Sebaliknya, saya menghadapi pilihan moral yang tegas.

Pilihan mudahnya adalah bergabung dengan dunia perangkat lunak berpemilik, menandatangani perjanjian kerahasiaan dan berjanji tidak akan membantu rekan peretas saya. Kemungkinan besar saya juga akan mengembangkan perangkat lunak yang dirilis berdasarkan perjanjian kerahasiaan, sehingga menambah tekanan pada orang lain untuk mengkhianati rekan mereka juga.

Saya bisa menghasilkan uang dengan cara ini, dan mungkin menghibur diri saya sendiri dengan menulis kode. Namun saya tahu bahwa di akhir karier saya, saya akan mengenang kembali bertahun-tahun membangun tembok untuk memecah belah orang, dan merasa telah menghabiskan hidup saya untuk membuat dunia menjadi tempat yang lebih buruk.

Saya pernah menjadi penerima perjanjian kerahasiaan, ketika seseorang menolak memberi saya dan MIT AI Lab kode sumber untuk program kontrol printer kami. (Kurangnya fitur-fitur tertentu dalam program ini membuat penggunaan printer sangat membuat frustrasi.) Jadi saya tidak dapat meyakinkan diri sendiri bahwa perjanjian kerahasiaan tidak bersalah. Saya sangat marah ketika dia menolak berbagi dengan kami; Saya tidak bisa berbalik dan melakukan hal yang sama kepada orang lain.

Pilihan lain, yang jelas namun tidak menyenangkan, adalah meninggalkan bidang komputer. Dengan begitu skillku tidak akan disalahgunakan, tapi tetap saja terbuang percuma. Saya tidak akan bersalah karena membagi dan membatasi pengguna komputer, tetapi hal itu tetap saja terjadi.

Jadi saya mencari cara agar seorang programmer dapat melakukan sesuatu demi kebaikan. Saya bertanya pada diri sendiri, adakah program atau program yang bisa saya tulis, agar komunitas bisa terwujud kembali?

Jawabannya jelas: yang pertama dibutuhkan adalah sistem operasi. Itu adalah perangkat lunak penting untuk mulai menggunakan komputer. Dengan sistem operasi, Anda dapat melakukan banyak hal; tanpanya, Anda tidak dapat menjalankan komputer sama sekali. Dengan sistem operasi gratis, kita dapat kembali memiliki komunitas peretas yang bekerja sama—dan mengundang siapa saja untuk bergabung. Dan siapa pun akan dapat menggunakan komputer tanpa memulai dengan berkonspirasi untuk merampas teman-temannya.

Sebagai pengembang sistem operasi, saya memiliki keterampilan yang tepat untuk pekerjaan ini. Jadi meskipun saya tidak bisa menganggap remeh kesuksesan, saya menyadari bahwa saya terpilih untuk melakukan pekerjaan itu. Saya memilih untuk membuat sistemnya kompatibel dengan Unix sehingga bersifat portabel, dan agar pengguna Unix dapat dengan mudah beralih ke sistem tersebut. Nama GNU dipilih, mengikuti tradisi hacker, sebagai akronim rekursif untuk “GNU's Not Unix.” Diucapkan sebagai satu suku kata dengan huruf g yang keras.

Sebuah sistem operasi tidak berarti hanya sebuah kernel, hampir tidak cukup untuk menjalankan program lain. Pada tahun 1970-an, setiap sistem operasi yang sesuai dengan namanya mencakup pemroses perintah, assembler, compiler, interpreter, debugger, editor teks, mailer, dan banyak lagi. ITS punya, Multic punya, VMS punya, dan Unix punya. Sistem operasi GNU juga akan menyertakannya.

Belakangan saya mendengar kata-kata ini, yang dikaitkan dengan Hillel (1):

Kalau aku bukan untuk diriku sendiri, lalu siapa yang akan menjadi untukku?
Jika aku hanya untuk diriku sendiri, lalu siapakah aku ini?
Jika tidak sekarang kapan?

Keputusan untuk memulai Proyek GNU didasarkan pada semangat serupa.

(1) Sebagai seorang Atheis, saya tidak mengikuti pemimpin agama mana pun, namun terkadang saya mengagumi sesuatu yang dikatakan salah satu dari mereka.

Bebas seperti dalam kebebasan

Istilah “perangkat lunak bebas” terkadang disalahartikan—ini tidak ada hubungannya dengan harga. Ini tentang kebebasan. Oleh karena itu, berikut adalah definisi perangkat lunak bebas.

Suatu program adalah perangkat lunak bebas, untuk Anda, pengguna tertentu, jika:

  • Anda mempunyai kebebasan untuk menjalankan program sesuai keinginan Anda, untuk tujuan apa pun.
  • Anda mempunyai kebebasan untuk memodifikasi program sesuai kebutuhan Anda. (Untuk membuat kebebasan ini efektif dalam praktiknya, Anda harus memiliki akses ke kode sumber, karena membuat perubahan dalam suatu program tanpa memiliki kode sumber sangatlah sulit.)
  • Anda mempunyai kebebasan untuk mendistribusikan ulang salinannya, baik secara gratis maupun berbayar.
  • Anda mempunyai kebebasan untuk mendistribusikan versi program yang dimodifikasi, sehingga komunitas dapat memperoleh manfaat dari perbaikan Anda.

Karena “gratis” mengacu pada kebebasan, bukan harga, tidak ada kontradiksi antara menjual salinan dan perangkat lunak bebas. Faktanya, kebebasan untuk menjual salinannya sangatlah penting: koleksi perangkat lunak gratis yang dijual dalam bentuk CD-ROM penting bagi komunitas, dan menjualnya merupakan cara penting untuk mengumpulkan dana bagi pengembangan perangkat lunak gratis. Oleh karena itu, sebuah program yang orang-orang tidak bebas untuk memasukkannya ke dalam koleksi ini bukanlah perangkat lunak bebas.

Karena ambiguitas “bebas”, orang telah lama mencari alternatif lain, namun belum ada yang menemukan istilah yang lebih baik. Bahasa Inggris memiliki lebih banyak kata dan nuansa dibandingkan bahasa lain, namun tidak memiliki kata yang sederhana dan tidak ambigu yang berarti “bebas”, seperti dalam kebebasan—“tidak terkekang” adalah kata yang paling mendekati maknanya. Alternatif-alternatif seperti “terbebaskan”, “kebebasan”, dan “terbuka” mempunyai arti yang salah atau merugikan lainnya.

Perangkat lunak GNU dan sistem GNU

Mengembangkan keseluruhan sistem adalah proyek yang sangat besar. Untuk mewujudkannya, saya memutuskan untuk mengadaptasi dan menggunakan perangkat lunak gratis yang ada jika memungkinkan. Misalnya, saya memutuskan sejak awal untuk menggunakan TeX sebagai pemformat teks utama; beberapa tahun kemudian, saya memutuskan untuk menggunakan Sistem X Window daripada menulis sistem window lain untuk GNU.

Karena keputusan-keputusan ini, dan keputusan-keputusan lain yang serupa, sistem GNU tidak sama dengan kumpulan semua perangkat lunak GNU. Sistem GNU mencakup program-program yang bukan merupakan perangkat lunak GNU, program-program yang dikembangkan oleh orang lain dan proyek-proyek untuk keperluannya sendiri, namun dapat kita gunakan karena merupakan perangkat lunak bebas.

Mengkomunikasikan proyek

Pada bulan Januari 1984 saya berhenti dari pekerjaan saya di MIT dan mulai menulis perangkat lunak GNU. Meninggalkan MIT diperlukan agar MIT tidak dapat mengganggu pendistribusian GNU sebagai perangkat lunak bebas. Jika saya tetap menjadi staf, MIT dapat mengklaim sebagai pemilik karya tersebut, dan dapat menerapkan ketentuan distribusi mereka sendiri, atau bahkan mengubah karya tersebut menjadi paket perangkat lunak berpemilik. Saya tidak berniat melakukan banyak pekerjaan hanya untuk melihatnya menjadi tidak berguna untuk tujuan yang dimaksudkan: menciptakan komunitas berbagi perangkat lunak baru.

Namun, Profesor Winston, yang saat itu menjabat sebagai kepala Lab AI MIT, dengan baik hati mengundang saya untuk tetap menggunakan fasilitas lab tersebut.

Langkah pertama

Sesaat sebelum memulai Proyek GNU, saya mendengar tentang Free University Compiler Kit, yang juga dikenal sebagai VUCK. (Kata Belanda untuk “gratis” ditulis dengan a ay.) Ini adalah kompiler yang dirancang untuk menangani berbagai bahasa, termasuk C dan Pascal, dan untuk mendukung banyak mesin target. Saya menulis kepada penulisnya menanyakan apakah GNU dapat menggunakannya.

Dia menanggapinya dengan nada mengejek, menyatakan bahwa universitas itu gratis tetapi penyusunnya tidak. Oleh karena itu saya memutuskan bahwa program pertama saya untuk Proyek GNU adalah kompiler multibahasa dan multiplatform.

Berharap untuk menghindari kebutuhan untuk menulis keseluruhan kompiler sendiri, saya memperoleh kode sumber untuk kompiler Pastel, yang merupakan kompiler multiplatform yang dikembangkan di Lawrence Livermore Lab. Ini didukung, dan ditulis dalam, versi Pascal yang diperluas, yang dirancang untuk menjadi bahasa pemrograman sistem. Saya menambahkan front end C, dan mulai mem-portingnya ke komputer Motorola 68000. Tapi saya harus menyerah ketika saya menemukan bahwa kompiler membutuhkan banyak megabyte ruang tumpukan, dan sistem Unix 68000 yang tersedia hanya mengizinkan 64k.

Saya kemudian menyadari bahwa kompiler Pastel berfungsi dengan mengurai seluruh file masukan menjadi pohon sintaksis, mengubah seluruh pohon sintaksis menjadi rangkaian "instruksi", dan kemudian menghasilkan seluruh file keluaran, tanpa pernah mengosongkan penyimpanan apa pun. Pada titik ini, saya menyimpulkan bahwa saya harus menulis kompiler baru dari awal. Kompiler baru tersebut sekarang dikenal sebagai GCC; tidak ada kompiler Pastel yang digunakan di dalamnya, tetapi saya berhasil beradaptasi dan menggunakan front end C yang saya tulis. Tapi itu terjadi beberapa tahun kemudian; pertama, saya bekerja di GNU Emacs.

GNU Emacs

Saya mulai mengerjakan GNU Emacs pada bulan September 1984, dan pada awal tahun 1985 GNU Emacs mulai dapat digunakan. Hal ini memungkinkan saya untuk mulai menggunakan sistem Unix untuk melakukan pengeditan; karena tidak tertarik belajar menggunakan vi atau ed, saya telah melakukan pengeditan pada mesin jenis lain sampai saat itu.

Pada titik ini, orang-orang mulai ingin menggunakan GNU Emacs, sehingga menimbulkan pertanyaan bagaimana cara mendistribusikannya. Tentu saja saya meletakkannya di server ftp anonim di komputer MIT yang saya gunakan. (Komputer ini, prep.ai.mit.edu, menjadi situs utama distribusi ftp GNU; ketika dinonaktifkan beberapa tahun kemudian, kami memindahkan nama tersebut ke server ftp kami yang baru.) Namun pada saat itu, banyak yang tertarik orang-orang tidak menggunakan Internet dan tidak dapat memperoleh salinannya melalui ftp. Jadi pertanyaannya adalah, apa yang akan saya katakan kepada mereka?

Saya bisa saja berkata, “Temukan teman yang ada di internet dan akan membuatkan salinannya untuk Anda.” Atau saya dapat melakukan apa yang saya lakukan dengan Emacs PDP-10 yang asli: beri tahu mereka, “Kirimi saya kaset dan SASE, dan saya akan mengirimkannya kembali dengan Emacs di dalamnya.” Namun saya tidak punya pekerjaan, dan saya mencari cara untuk menghasilkan uang dari perangkat lunak gratis. Jadi saya mengumumkan bahwa saya akan mengirimkan rekaman itu kepada siapa pun yang menginginkannya, dengan biaya $150. Dengan cara ini, saya memulai bisnis distribusi perangkat lunak gratis, cikal bakal perusahaan yang saat ini mendistribusikan seluruh distribusi sistem GNU/Linux.

Apakah suatu program gratis untuk setiap pengguna?

Jika suatu program merupakan perangkat lunak bebas ketika ia diserahkan kepada pembuatnya, hal ini tidak berarti bahwa program tersebut akan menjadi perangkat lunak bebas bagi semua orang yang memiliki salinannya. Misalnya, perangkat lunak domain publik (perangkat lunak yang tidak memiliki hak cipta) adalah perangkat lunak bebas; tetapi siapa pun dapat membuat versi modifikasi miliknya. Demikian pula, banyak program gratis yang memiliki hak cipta tetapi didistribusikan di bawah lisensi permisif sederhana yang mengizinkan versi modifikasi yang dipatenkan.

Contoh paradigmatik dari masalah ini adalah Sistem X Window. Dikembangkan di MIT, dan dirilis sebagai perangkat lunak gratis dengan lisensi permisif, perangkat lunak ini segera diadopsi oleh berbagai perusahaan komputer. Mereka menambahkan X ke sistem Unix milik mereka, hanya dalam bentuk biner, dan dilindungi oleh perjanjian kerahasiaan yang sama. Salinan X ini tidak lebih merupakan perangkat lunak bebas dibandingkan Unix.

Para pengembang Sistem X Window tidak menganggap hal ini sebagai masalah—mereka mengharapkan dan bermaksud agar hal ini terjadi. Tujuan mereka bukanlah kebebasan, hanya “sukses”, yang didefinisikan sebagai “memiliki banyak pengguna.” Mereka tidak peduli apakah para pengguna ini memiliki kebebasan, hanya saja jumlah mereka harus banyak.

Hal ini menimbulkan situasi paradoks dimana dua cara berbeda dalam menghitung jumlah kebebasan memberikan jawaban berbeda terhadap pertanyaan, “Apakah program ini gratis?” Jika Anda menilai berdasarkan kebebasan yang diberikan oleh ketentuan distribusi rilis MIT, Anda akan mengatakan bahwa X adalah perangkat lunak bebas. Namun jika Anda mengukur kebebasan rata-rata pengguna X, Anda harus mengatakan bahwa itu adalah perangkat lunak berpemilik. Kebanyakan pengguna X menjalankan versi kepemilikan yang disertakan dengan sistem Unix, bukan versi gratis.

Copyleft dan GNU GPL

Tujuan GNU adalah memberikan kebebasan kepada penggunanya, bukan sekedar menjadi populer. Jadi kami perlu menggunakan ketentuan distribusi yang dapat mencegah perangkat lunak GNU diubah menjadi perangkat lunak berpemilik. Metode yang kami gunakan disebut “copyleft”.(1)

Copyleft menggunakan undang-undang hak cipta, namun membaliknya untuk tujuan yang berlawanan dengan tujuan biasanya: alih-alih sebagai sarana untuk membatasi suatu program, ia menjadi sarana untuk menjaga agar program tersebut tetap bebas.

Ide utama dari copyleft adalah kami memberikan izin kepada setiap orang untuk menjalankan program, menyalin program, memodifikasi program, dan mendistribusikan versi yang dimodifikasi—tetapi bukan izin untuk menambahkan batasan mereka sendiri. Dengan demikian, kebebasan penting yang mendefinisikan “perangkat lunak bebas” dijamin bagi setiap orang yang memiliki salinannya; hak-hak tersebut menjadi hak yang tidak dapat dicabut.

Untuk copyleft yang efektif, versi modifikasi juga harus gratis. Hal ini memastikan bahwa karya berdasarkan karya kami tersedia bagi komunitas kami jika dipublikasikan. Ketika pemrogram yang memiliki pekerjaan sebagai pemrogram secara sukarela memperbaiki perangkat lunak GNU, copyleft-lah yang mencegah pemberi kerja mereka untuk mengatakan, “Anda tidak dapat membagikan perubahan tersebut, karena kami akan menggunakannya untuk membuat versi program milik kami.”

Persyaratan bahwa perubahan harus bebas sangat penting jika kita ingin menjamin kebebasan bagi setiap pengguna program. Perusahaan yang memprivatisasi Sistem X Window biasanya membuat beberapa perubahan untuk memindahkannya ke sistem dan perangkat keras mereka. Perubahan ini memang kecil dibandingkan dengan besarnya X, namun hal ini bukanlah hal yang sepele. Jika melakukan perubahan adalah alasan untuk menolak kebebasan pengguna, akan mudah bagi siapa pun untuk memanfaatkan alasan tersebut.

Masalah terkait menyangkut penggabungan program bebas dengan kode tidak bebas. Kombinasi seperti itu pasti akan menjadi tidak bebas; kebebasan mana pun yang tidak dimiliki oleh bagian non-bebas, akan berkurang pula secara keseluruhan. Mengizinkan kombinasi semacam itu akan membuka lubang yang cukup besar untuk menenggelamkan kapal. Oleh karena itu, persyaratan penting bagi copyleft adalah menutup lubang ini: apa pun yang ditambahkan atau digabungkan dengan program copyleft harus sedemikian rupa sehingga versi gabungan yang lebih besar juga bebas dan copyleft.

Implementasi khusus copyleft yang kami gunakan untuk sebagian besar perangkat lunak GNU adalah GNU General Public License, atau disingkat GNU GPL. Kami memiliki jenis copyleft lain yang digunakan dalam keadaan tertentu. Manual GNU juga bersifat copyleft, namun menggunakan jenis copyleft yang lebih sederhana, karena kompleksitas GNU GPL tidak diperlukan untuk manual.(2)

(1) Pada tahun 1984 atau 1985, Don Hopkins (orang yang sangat imajinatif) mengirimi saya surat. Di amplop itu ia menulis beberapa ucapan lucu, termasuk yang ini: “Copyleft—semua hak dibatalkan.” Saya menggunakan kata “copyleft” untuk menamai konsep distribusi yang saya kembangkan saat itu.

Karyawan Free Software Foundation telah menulis dan memelihara sejumlah paket perangkat lunak GNU. Dua yang terkenal adalah perpustakaan C dan shell. Pustaka GNU C adalah apa yang digunakan oleh setiap program yang berjalan di sistem GNU/Linux untuk berkomunikasi dengan Linux. Ini dikembangkan oleh anggota staf Free Software Foundation, Roland McGrath. Shell yang digunakan pada sebagian besar sistem GNU/Linux adalah BASH, Bourne Again Shell(1), yang dikembangkan oleh karyawan FSF Brian Fox.

Kami mendanai pengembangan program-program ini karena Proyek GNU bukan hanya sekedar alat atau lingkungan pengembangan. Tujuan kami adalah sistem operasi yang lengkap, dan program-program ini diperlukan untuk mencapai tujuan tersebut.

(1) “Bourne Again Shell” adalah plesetan dari nama “Bourne Shell”, yang merupakan shell biasa di Unix.

Dukungan perangkat lunak gratis

Filosofi perangkat lunak bebas menolak praktik bisnis tertentu yang tersebar luas, namun tidak bertentangan dengan bisnis. Ketika bisnis menghormati kebebasan pengguna, kami berharap mereka sukses.

Menjual salinan Emacs menunjukkan satu jenis bisnis perangkat lunak bebas. Ketika FSF mengambil alih bisnis itu, saya memerlukan cara lain untuk mencari nafkah. Saya menemukannya dalam penjualan layanan yang berkaitan dengan perangkat lunak gratis yang saya kembangkan. Hal ini mencakup pengajaran, untuk mata pelajaran seperti cara memprogram GNU Emacs dan cara menyesuaikan GCC, serta pengembangan perangkat lunak, sebagian besar mem-porting GCC ke platform baru.

Saat ini masing-masing jenis bisnis perangkat lunak bebas ini dilakukan oleh sejumlah perusahaan. Beberapa mendistribusikan koleksi perangkat lunak gratis dalam bentuk CD-ROM; yang lain menjual dukungan pada tingkat mulai dari menjawab pertanyaan pengguna, memperbaiki bug, hingga menambahkan fitur baru yang penting. Kita bahkan mulai melihat perusahaan perangkat lunak bebas yang meluncurkan produk perangkat lunak bebas baru.

Namun hati-hati—sejumlah perusahaan yang mengasosiasikan diri mereka dengan istilah “open source” sebenarnya mendasarkan bisnis mereka pada perangkat lunak tidak bebas yang bekerja dengan perangkat lunak bebas. Ini bukanlah perusahaan perangkat lunak bebas, mereka adalah perusahaan perangkat lunak berpemilik yang produknya menggoda pengguna untuk menjauh dari kebebasan. Mereka menyebut program ini sebagai “paket nilai tambah”, yang menunjukkan nilai-nilai yang mereka ingin kita adopsi: kenyamanan di atas kebebasan. Jika kita lebih menghargai kebebasan, kita harus menyebutnya sebagai paket “pengurangan kebebasan”.

Tujuan teknis

Tujuan utama GNU adalah menjadi perangkat lunak bebas. Bahkan jika GNU tidak memiliki keunggulan teknis dibandingkan Unix, GNU akan memiliki keunggulan sosial, memungkinkan pengguna untuk bekerja sama, dan keunggulan etis, yang menghormati kebebasan pengguna.

Namun merupakan hal yang wajar untuk menerapkan standar praktik yang baik dalam pekerjaan—misalnya, mengalokasikan struktur data secara dinamis untuk menghindari batas ukuran tetap yang sewenang-wenang, dan menangani semua kemungkinan kode 8-bit jika hal tersebut masuk akal.

Selain itu, kami menolak fokus Unix pada ukuran memori yang kecil, dengan memutuskan untuk tidak mendukung mesin 16-bit (jelas bahwa mesin 32-bit akan menjadi standar pada saat sistem GNU selesai), dan tidak melakukan upaya apa pun. untuk mengurangi penggunaan memori kecuali melebihi satu megabyte. Dalam program yang tidak terlalu penting dalam menangani file yang sangat besar, kami mendorong pemrogram untuk membaca seluruh file masukan ke dalam inti, lalu memindai isinya tanpa harus mengkhawatirkan I/O.

Keputusan ini memungkinkan banyak program GNU mengungguli program Unix dalam hal keandalan dan kecepatan.

Komputer yang disumbangkan

Seiring dengan meningkatnya reputasi Proyek GNU, orang-orang mulai menawarkan untuk menyumbangkan mesin-mesin yang menjalankan Unix kepada proyek tersebut. Hal ini sangat berguna, karena cara termudah untuk mengembangkan komponen-komponen GNU adalah dengan melakukannya pada sistem Unix, dan mengganti komponen-komponen sistem tersebut dengan yang baru. Namun mereka mengangkat isu etika: apakah benar bagi kita untuk memiliki salinan Unix.

Unix dahulu (dan sekarang) merupakan perangkat lunak berpemilik, dan filosofi Proyek GNU mengatakan bahwa kita tidak boleh menggunakan perangkat lunak berpemilik. Namun, dengan menerapkan alasan yang sama yang mengarah pada kesimpulan bahwa kekerasan untuk membela diri dapat dibenarkan, saya menyimpulkan bahwa penggunaan tersebut sah-sah saja. paket berpemilik ketika hal itu sangat penting untuk mengembangkan pengganti gratis yang akan membantu orang lain berhenti menggunakan paket berpemilik.

Namun, meskipun ini adalah kejahatan yang dapat dibenarkan, itu tetaplah kejahatan. Saat ini kami tidak lagi memiliki salinan Unix, karena kami telah menggantinya dengan sistem operasi gratis. Jika kami tidak dapat mengganti sistem operasi mesin dengan yang gratis, kami malah mengganti mesin tersebut.

Daftar Tugas GNU

Ketika Proyek GNU berjalan, dan semakin banyak komponen sistem yang ditemukan atau dikembangkan, pada akhirnya akan berguna untuk membuat daftar kesenjangan yang tersisa. Kami menggunakannya untuk merekrut pengembang untuk menulis bagian yang hilang. Daftar ini dikenal sebagai Daftar Tugas GNU. Selain komponen Unix yang hilang, kami membuat daftar berbagai proyek perangkat lunak dan dokumentasi berguna lainnya yang, menurut kami, seharusnya dimiliki oleh sistem yang benar-benar lengkap.

Saat ini (1), hampir tidak ada komponen Unix yang tersisa di Daftar Tugas GNU—pekerjaan tersebut telah selesai, kecuali beberapa pekerjaan yang tidak penting. Namun daftarnya penuh dengan proyek yang oleh sebagian orang mungkin disebut “aplikasi”. Program apa pun yang menarik lebih dari sekadar kelas pengguna yang sempit akan menjadi hal yang berguna untuk ditambahkan ke sistem operasi.

Bahkan permainan pun termasuk dalam daftar tugas—dan sudah ada sejak awal. Unix menyertakan permainan, jadi tentu saja GNU juga harus demikian. Namun kompatibilitas tidak menjadi masalah untuk game, jadi kami tidak mengikuti daftar game yang dimiliki Unix. Sebaliknya, kami membuat daftar spektrum berbagai jenis game yang mungkin disukai pengguna.

(1) Itu ditulis pada tahun 1998. Pada tahun 2009 kami tidak lagi memiliki daftar tugas yang panjang. Komunitas mengembangkan perangkat lunak bebas dengan sangat cepat sehingga kami bahkan tidak dapat melacak semuanya. Sebaliknya, kami memiliki daftar Proyek Prioritas Tinggi, daftar proyek yang jauh lebih pendek yang kami benar-benar ingin mendorong orang untuk menulis.

GPL Perpustakaan GNU

Perpustakaan GNU C menggunakan jenis copyleft khusus yang disebut GNU Library General Public License(1), yang memberikan izin untuk menghubungkan perangkat lunak berpemilik dengan perpustakaan. Mengapa membuat pengecualian ini?

Ini bukan soal prinsip; tidak ada prinsip yang mengatakan bahwa produk perangkat lunak berpemilik berhak menyertakan kode kami. (Mengapa berkontribusi pada proyek yang didasarkan pada penolakan untuk berbagi dengan kami?) Menggunakan LGPL untuk perpustakaan C, atau untuk perpustakaan apa pun, adalah masalah strategi.

Perpustakaan C melakukan pekerjaan umum; setiap sistem atau kompiler berpemilik dilengkapi dengan perpustakaan C. Oleh karena itu, membuat perpustakaan C kami hanya tersedia untuk perangkat lunak bebas tidak akan memberikan keuntungan apa pun bagi perangkat lunak bebas—hal itu hanya akan menghambat penggunaan perpustakaan kami.

Ada satu sistem yang merupakan pengecualian dalam hal ini: pada sistem GNU (termasuk GNU/Linux), pustaka GNU C adalah satu-satunya pustaka C. Jadi ketentuan distribusi perpustakaan GNU C menentukan apakah mungkin untuk mengkompilasi program berpemilik untuk sistem GNU. Tidak ada alasan etis untuk mengizinkan aplikasi berpemilik pada sistem GNU, namun secara strategis tampaknya melarang aplikasi tersebut akan lebih menghambat penggunaan sistem GNU daripada mendorong pengembangan aplikasi gratis. Itulah mengapa menggunakan Library GPL merupakan strategi yang baik untuk perpustakaan C.

Untuk perpustakaan lain, keputusan strategis perlu dipertimbangkan berdasarkan kasus per kasus. Ketika perpustakaan melakukan pekerjaan khusus yang dapat membantu menulis jenis program tertentu, kemudian merilisnya di bawah GPL, membatasinya hanya pada program gratis, merupakan cara untuk membantu pengembang perangkat lunak bebas lainnya, memberikan mereka keuntungan dibandingkan perangkat lunak berpemilik.

Pertimbangkan GNU Readline, sebuah perpustakaan yang dikembangkan untuk menyediakan pengeditan baris perintah untuk BASH. Readline dirilis di bawah GNU GPL biasa, bukan Library GPL. Ini mungkin mengurangi jumlah Readline yang digunakan, tapi itu tidak merugikan kami. Sementara itu, setidaknya satu aplikasi yang berguna telah dibuatkan perangkat lunak gratis secara khusus sehingga dapat menggunakan Readline, dan itu merupakan keuntungan nyata bagi komunitas.

Pengembang perangkat lunak berpemilik memiliki keuntungan yang diberikan oleh uang; pengembang perangkat lunak bebas perlu saling menguntungkan. Saya berharap suatu hari nanti kita akan memiliki banyak koleksi perpustakaan yang tercakup dalam GPL yang tidak ada tandingannya untuk perangkat lunak berpemilik, menyediakan modul-modul yang berguna untuk dijadikan sebagai landasan dalam perangkat lunak bebas baru, dan menambah keuntungan besar untuk pengembangan perangkat lunak bebas lebih lanjut.

(1) Lisensi ini sekarang disebut Lisensi Publik Umum Kecil GNU, untuk menghindari kesan bahwa semua perpustakaan harus menggunakannya. Lihat Mengapa Anda tidak sebaiknya menggunakan Lesser GPL untuk perpustakaan Anda berikutnya untuk informasi lebih lanjut.

Menggaruk karena gatal?

Eric Raymond mengatakan bahwa “Setiap karya perangkat lunak yang baik dimulai dengan menggaruk rasa gatal pribadi pengembang.” Mungkin hal ini terkadang terjadi, namun banyak bagian penting dari perangkat lunak GNU yang dikembangkan untuk memiliki sistem operasi bebas yang lengkap, yang datang dari sebuah visi dan rencana, bukan dari dorongan hati.

Misalnya, kami mengembangkan pustaka GNU C karena sistem mirip Unix memerlukan pustaka C, BASH karena sistem mirip Unix memerlukan shell, dan GNU tar karena sistem mirip Unix memerlukan program tar. Hal yang sama juga berlaku untuk program saya—kompiler GNU C, GNU Emacs, GDB dan GNU Make.

Beberapa program GNU dikembangkan untuk mengatasi ancaman spesifik terhadap kebebasan kita. Oleh karena itu, kami mengembangkan gzip untuk menggantikan program Compress, yang telah hilang dari komunitas karena paten LZW. Kami menemukan orang-orang yang mengembangkan LessTif, dan baru-baru ini memulai GNOME dan Harmony, untuk mengatasi masalah yang disebabkan oleh perpustakaan berpemilik tertentu (lihat di bawah). Kami sedang mengembangkan GNU Privacy Guard untuk menggantikan perangkat lunak enkripsi non-bebas yang populer, karena pengguna tidak harus memilih antara privasi dan kebebasan.

Tentu saja, orang-orang yang menulis program ini menjadi tertarik dengan karya tersebut, dan banyak fitur yang ditambahkan oleh berbagai orang demi kebutuhan dan kepentingan mereka sendiri. Namun bukan itu alasan mengapa program-program tersebut ada.

Perkembangan yang tidak terduga

Pada awal Proyek GNU, saya membayangkan kami akan mengembangkan sistem GNU secara keseluruhan, kemudian merilisnya secara keseluruhan. Bukan itu yang terjadi.

Karena setiap komponen sistem GNU diimplementasikan pada sistem Unix, setiap komponen dapat berjalan pada sistem Unix jauh sebelum sistem GNU yang lengkap ada. Beberapa dari program ini menjadi populer, dan pengguna mulai memperluas dan memindahkannya—ke berbagai versi Unix yang tidak kompatibel, dan terkadang juga ke sistem lain.

Proses ini menjadikan program-program ini jauh lebih kuat, dan menarik baik dana maupun kontributor Proyek GNU. Namun hal ini mungkin juga menunda penyelesaian sistem kerja minimal selama beberapa tahun, karena waktu para pengembang GNU dicurahkan untuk memelihara port-port ini dan menambahkan fitur-fitur pada komponen-komponen yang sudah ada, dibandingkan terus menulis komponen-komponen yang hilang satu demi satu.

GNU Hurd

Pada tahun 1990, sistem GNU hampir selesai; satu-satunya komponen utama yang hilang adalah kernel. Kami telah memutuskan untuk mengimplementasikan kernel kami sebagai kumpulan proses server yang berjalan di atas Mach. Mach adalah mikrokernel yang dikembangkan di Universitas Carnegie Mellon dan kemudian di Universitas Utah; GNU Hurd adalah kumpulan server (yaitu sekumpulan GNU) yang berjalan di atas Mach, dan melakukan berbagai pekerjaan kernel Unix. Awal pengembangan tertunda karena kami menunggu Mach dirilis sebagai perangkat lunak bebas, seperti yang dijanjikan.

Salah satu alasan memilih desain ini adalah untuk menghindari bagian pekerjaan yang tampaknya paling sulit: melakukan debug pada program kernel tanpa menggunakan debugger tingkat sumber. Bagian pekerjaan ini telah selesai, dalam kecepatan Mach, dan kami berharap dapat melakukan debug pada server Hurd sebagai program pengguna, dengan GDB. Namun butuh waktu lama untuk mewujudkannya, dan server multithread yang saling mengirim pesan ternyata sangat sulit untuk di-debug. Membuat Hurd berfungsi dengan baik telah berlangsung selama bertahun-tahun.

Alix

Kernel GNU awalnya tidak seharusnya disebut Hurd. Nama aslinya adalah Alix—diambil dari nama wanita yang menjadi kekasihku saat itu. Dia, seorang administrator sistem Unix, telah menunjukkan bagaimana namanya cocok dengan pola penamaan umum untuk versi sistem Unix; sebagai lelucon, dia memberi tahu teman-temannya, “Seseorang harus menamai kernel dengan nama saya.” Saya tidak mengatakan apa-apa, tetapi memutuskan untuk memberinya kejutan dengan kernel bernama Alix.

Namun tidak tetap seperti itu. Michael (sekarang Thomas) Bushnell, pengembang utama kernel, lebih memilih nama Hurd, dan mendefinisikan ulang Alix untuk merujuk pada bagian tertentu dari kernel—bagian yang akan menjebak panggilan sistem dan menanganinya dengan mengirimkan pesan ke server Hurd.

Belakangan, Alix dan saya putus, dan dia mengganti namanya; secara independen, desain Hurd diubah sehingga perpustakaan C akan mengirim pesan langsung ke server, dan ini membuat komponen Alix menghilang dari desain.

Namun sebelum hal ini terjadi, seorang temannya menemukan nama Alix di kode sumber Hurd, dan menyebutkannya kepadanya. Jadi dia memiliki kesempatan untuk menemukan kernel yang dinamai menurut namanya.

Linux dan GNU/Linux

GNU Hurd tidak cocok untuk penggunaan produksi, dan kami tidak tahu apakah hal tersebut akan pernah terjadi. Desain berbasis kapabilitas memiliki masalah yang disebabkan langsung oleh fleksibilitas desain, dan tidak jelas apakah ada solusinya.

Untungnya, kernel lain tersedia. Pada tahun 1991, Linus Torvalds mengembangkan kernel yang kompatibel dengan Unix dan menyebutnya Linux. Awalnya merupakan hak milik, tetapi pada tahun 1992, dia menjadikannya perangkat lunak gratis; menggabungkan Linux dengan sistem GNU yang tidak terlalu lengkap menghasilkan sistem operasi gratis yang lengkap. (Menggabungkannya tentu saja merupakan pekerjaan besar.) Karena Linux kita dapat menjalankan versi sistem GNU saat ini.

Tantangan di masa depan kita

Kami telah membuktikan kemampuan kami untuk mengembangkan spektrum perangkat lunak bebas yang luas. Ini tidak berarti kita tidak terkalahkan dan tidak dapat dihentikan. Beberapa tantangan membuat masa depan perangkat lunak bebas menjadi tidak pasti; untuk mencapainya memerlukan upaya dan ketahanan yang gigih, terkadang membutuhkan waktu bertahun-tahun. Hal ini memerlukan tekad yang ditunjukkan orang ketika mereka menghargai kebebasannya dan tidak akan membiarkan siapa pun merampasnya.

Empat bagian berikut membahas tantangan-tantangan ini.

Perangkat keras rahasia

Produsen perangkat keras semakin cenderung merahasiakan spesifikasi perangkat keras. Hal ini mempersulit penulisan driver gratis sehingga Linux dan XFree86 dapat mendukung perangkat keras baru. Kita mempunyai sistem gratis yang lengkap saat ini, namun kita tidak akan memilikinya besok jika kita tidak dapat mendukung komputer masa depan.

Ada dua cara untuk mengatasi masalah ini. Pemrogram dapat melakukan rekayasa balik untuk mengetahui cara mendukung perangkat keras. Kita semua dapat memilih perangkat keras yang didukung oleh perangkat lunak bebas; seiring bertambahnya jumlah kita, kerahasiaan spesifikasi akan menjadi kebijakan yang merugikan diri sendiri.

Rekayasa balik adalah pekerjaan besar; akankah kita memiliki pemrogram dengan tekad yang cukup untuk melaksanakannya? Ya—jika kita telah membangun perasaan yang kuat bahwa perangkat lunak bebas adalah masalah prinsip, dan driver yang tidak bebas tidak dapat ditoleransi. Dan akankah banyak dari kita mengeluarkan uang ekstra, atau bahkan sedikit waktu ekstra, agar kita dapat menggunakan driver gratis? Ya, jika tekad untuk merdeka tersebar luas.

(Catatan tahun 2008: masalah ini juga meluas ke BIOS. Ada BIOS gratis, LibreBoot (distribusi coreboot); masalahnya adalah mendapatkan spesifikasi untuk mesin sehingga LibreBoot dapat mendukungnya tanpa “gumpalan” yang tidak bebas.)

Perpustakaan tidak bebas

Perpustakaan tidak bebas yang berjalan pada sistem operasi bebas bertindak sebagai jebakan bagi pengembang perangkat lunak bebas. Fitur-fitur perpustakaan yang menarik adalah umpannya; jika Anda menggunakan perpustakaan, Anda akan jatuh ke dalam perangkap, karena program Anda tidak dapat menjadi bagian dari sistem operasi bebas. (Sebenarnya, kami dapat menyertakan program Anda, tetapi program itu tidak akan berlari dengan perpustakaan yang hilang.) Lebih buruk lagi, jika sebuah program yang menggunakan perpustakaan berpemilik menjadi populer, hal itu dapat memikat pemrogram lain yang tidak menaruh curiga ke dalam perangkap.

Contoh pertama dari masalah ini adalah toolkit Motif, pada tahun 80an. Meskipun belum ada sistem operasi gratis, sudah jelas masalah apa yang akan ditimbulkan oleh Motif di kemudian hari. Proyek GNU menanggapinya dengan dua cara: dengan meminta masing-masing proyek perangkat lunak bebas untuk mendukung widget X Toolkit gratis serta Motif, dan dengan meminta seseorang untuk menulis pengganti Motif yang gratis. Pekerjaan itu memakan waktu bertahun-tahun; LessTif, yang dikembangkan oleh Hungry Programmer, menjadi cukup kuat untuk mendukung sebagian besar aplikasi Motif hanya pada tahun 1997.

Antara tahun 1996 dan 1998, pustaka toolkit GUI nonbebas lainnya, yang disebut Qt, digunakan dalam banyak koleksi perangkat lunak bebas, KDE desktop.

Sistem GNU/Linux gratis tidak dapat menggunakan KDE, karena kami tidak dapat menggunakan perpustakaannya. Namun, beberapa distributor komersial sistem GNU/Linux yang tidak terlalu ketat dalam menggunakan perangkat lunak bebas menambahkan KDE ke dalam sistem mereka—menghasilkan sistem dengan kemampuan lebih, namun kebebasan lebih sedikit. Grup KDE secara aktif mendorong lebih banyak programmer untuk menggunakan Qt, dan jutaan “pengguna Linux” baru tidak pernah menyadari bahwa ada masalah dalam hal ini. Situasinya tampak suram.

Komunitas perangkat lunak bebas menanggapi masalah ini dengan dua cara: GNOME dan Harmony.

GNOME, Lingkungan Model Objek Jaringan GNU, adalah proyek desktop GNU. Dimulai pada tahun 1997 oleh Miguel de Icaza, dan dikembangkan dengan dukungan Perangkat Lunak Red Hat, GNOME bertujuan untuk menyediakan fasilitas desktop serupa, tetapi menggunakan perangkat lunak gratis secara eksklusif. memiliki keunggulan teknis juga, seperti mendukung berbagai bahasa, tidak hanya C++. Namun tujuan utamanya adalah kebebasan: tidak mengharuskan penggunaan perangkat lunak tidak bebas apa pun.

Harmony adalah perpustakaan pengganti yang kompatibel, dirancang untuk memungkinkan menjalankan perangkat lunak KDE tanpa menggunakan Qt.

Pada bulan November 1998, pengembang Qt mengumumkan perubahan lisensi yang bila dilakukan, akan menjadikan perangkat lunak Qt bebas. Tidak ada cara untuk memastikannya, tapi menurut saya hal ini sebagian disebabkan oleh tanggapan tegas komunitas terhadap masalah yang ditimbulkan Qt ketika tidak bebas. (Lisensi baru tidak nyaman dan tidak adil, jadi tetap disarankan untuk menghindari penggunaan Jumlah.)

Bagaimana tanggapan kita terhadap perpustakaan tidak bebas yang menggiurkan berikutnya? Akankah seluruh masyarakat memahami perlunya menghindari jebakan ini? Atau akankah banyak dari kita melepaskan kebebasan demi kenyamanan, dan menimbulkan masalah besar? Masa depan kita bergantung pada filosofi kita.

Paten perangkat lunak

Ancaman terburuk yang kita hadapi berasal dari paten perangkat lunak, yang dapat membatasi algoritma dan fitur pada perangkat lunak bebas hingga dua puluh tahun. Paten algoritme kompresi LZW diterapkan pada tahun 1983, dan kami masih belum dapat merilis perangkat lunak gratis untuk menghasilkan GIF terkompresi yang tepat. Pada tahun 1998, sebuah program gratis untuk menghasilkan audio terkompresi MP3 dihapus dari distribusi karena ancaman tuntutan paten.

Ada cara untuk mengatasi paten: kita dapat mencari bukti bahwa suatu paten tidak sah, dan kita dapat mencari cara alternatif untuk melakukan suatu pekerjaan. Namun masing-masing metode ini hanya berhasil kadang-kadang; ketika keduanya gagal, paten dapat memaksa semua perangkat lunak bebas kehilangan beberapa fitur yang diinginkan pengguna. Setelah penantian panjang, patennya habis masa berlakunya (paten MP3 diperkirakan habis pada 2018), tapi apa yang akan kita lakukan sampai saat itu?

Kita yang menghargai perangkat lunak bebas demi kebebasan akan tetap menggunakan perangkat lunak bebas. Kita akan dapat menyelesaikan pekerjaan tanpa fitur-fitur yang dipatenkan. Namun mereka yang menghargai perangkat lunak bebas karena mereka berharap perangkat lunak tersebut lebih unggul secara teknis cenderung menyebutnya sebagai perangkat lunak bebas. sebuah kegagalan ketika sebuah paten menahannya. Oleh karena itu, meskipun berguna untuk membicarakan keefektifan praktis dari model pengembangan “bazaar”, dan keandalan serta kekuatan beberapa perangkat lunak bebas, kita tidak boleh berhenti di situ saja. Kita harus membicarakan tentang kebebasan dan prinsip.

Dokumentasi gratis

Kekurangan terbesar dalam sistem operasi gratis kami bukanlah pada perangkat lunaknya—tetapi kurangnya manual gratis yang baik yang dapat kami sertakan dalam sistem kami. Dokumentasi adalah bagian penting dari setiap paket perangkat lunak; ketika sebuah paket perangkat lunak gratis yang penting tidak dilengkapi dengan manual gratis yang baik, hal ini merupakan kesenjangan yang besar. Kita mempunyai banyak kesenjangan seperti itu saat ini.

Dokumentasi gratis, seperti halnya perangkat lunak bebas, adalah soal kebebasan, bukan harga. Kriteria untuk manual gratis hampir sama dengan perangkat lunak bebas: ini adalah soal memberikan kebebasan tertentu kepada semua pengguna. Pendistribusian ulang (termasuk penjualan komersial) harus diizinkan, secara online dan di atas kertas, sehingga manual ini dapat menyertai setiap salinan program.

Izin untuk modifikasi juga penting. Sebagai aturan umum, menurut saya tidak penting bagi orang untuk memiliki izin untuk mengubah semua jenis artikel dan buku. Misalnya, menurut saya Anda atau saya tidak wajib memberikan izin untuk mengubah artikel seperti ini , yang menggambarkan tindakan dan pandangan kami.

Namun ada alasan khusus mengapa kebebasan untuk memodifikasi sangat penting untuk dokumentasi perangkat lunak bebas. Ketika orang menggunakan haknya untuk memodifikasi perangkat lunak, dan menambah atau mengubah fitur-fiturnya, jika mereka berhati-hati, mereka juga akan mengubah manualnya—sehingga mereka dapat memberikan dokumentasi yang akurat dan dapat digunakan dengan program yang dimodifikasi tersebut. Manual yang tidak bebas, yang tidak memungkinkan pemrogram untuk teliti dan menyelesaikan pekerjaannya, tidak memenuhi kebutuhan komunitas kita.

Beberapa batasan mengenai bagaimana modifikasi dilakukan tidak menimbulkan masalah. Misalnya, persyaratan untuk mempertahankan pemberitahuan hak cipta penulis asli, persyaratan distribusi, atau daftar penulis, diperbolehkan. Juga tidak masalah untuk mengharuskan versi yang dimodifikasi menyertakan pemberitahuan bahwa versi tersebut telah dimodifikasi, bahkan untuk memiliki seluruh bagian yang tidak boleh dihapus atau diubah, selama bagian ini berhubungan dengan topik non-teknis. Pembatasan semacam ini tidak menjadi masalah karena tidak menghentikan pemrogram yang teliti untuk mengadaptasi manual agar sesuai dengan program yang dimodifikasi. Dengan kata lain, mereka tidak menghalangi komunitas perangkat lunak bebas untuk memanfaatkan sepenuhnya manual ini.

Namun, semua itu harus bisa diubah teknis isi manual, dan kemudian mendistribusikan hasilnya ke semua media biasa, melalui semua saluran yang biasa; jika tidak, pembatasan akan menghambat komunitas, panduan ini tidak gratis, dan kita memerlukan panduan lain.

Akankah pengembang perangkat lunak bebas memiliki kesadaran dan tekad untuk menghasilkan manual gratis secara menyeluruh? Sekali lagi, masa depan kita bergantung pada filsafat.

Kita harus berbicara tentang kebebasan

Diperkirakan saat ini terdapat sepuluh juta pengguna sistem GNU/Linux seperti Debian GNU/Linux dan Red Hat “Linux”. Perangkat lunak bebas telah mengembangkan keuntungan praktis sehingga pengguna berbondong-bondong menggunakannya hanya karena alasan praktis.

Konsekuensi baik dari hal ini jelas terlihat: lebih banyak minat dalam mengembangkan perangkat lunak bebas, lebih banyak pelanggan bagi bisnis perangkat lunak bebas, dan lebih banyak kemampuan untuk mendorong perusahaan mengembangkan perangkat lunak bebas komersial dibandingkan produk perangkat lunak berpemilik.

Namun minat terhadap perangkat lunak ini tumbuh lebih cepat dibandingkan kesadaran akan filosofi yang mendasarinya, dan hal ini menimbulkan masalah. Kemampuan kita dalam menghadapi tantangan dan ancaman yang diuraikan di atas bergantung pada kemauan untuk berdiri teguh demi kebebasan. Untuk memastikan komunitas kami memiliki kemauan ini, kami perlu menyebarkan ide tersebut kepada pengguna baru saat mereka memasuki komunitas.

Namun kami gagal melakukan hal tersebut: upaya untuk menarik pengguna baru ke dalam komunitas kami jauh melampaui upaya untuk mendidik mereka tentang kewarganegaraan di komunitas kami. Kita perlu melakukan keduanya, dan kita perlu menjaga keseimbangan kedua upaya tersebut.

"Sumber Terbuka"

Mengajari pengguna baru tentang kebebasan menjadi lebih sulit pada tahun 1998, ketika sebagian komunitas memutuskan untuk berhenti menggunakan istilah “perangkat lunak bebas” dan menggantinya dengan “perangkat lunak sumber terbuka”.

Beberapa orang yang menyukai istilah ini bertujuan untuk menghindari kebingungan antara “gratis” dengan “gratis”—sebuah tujuan yang sah. Namun, ada pula yang bertujuan untuk mengesampingkan semangat prinsip yang telah memotivasi gerakan perangkat lunak bebas dan Proyek GNU, dan sebaliknya untuk menarik perhatian para eksekutif dan pengguna bisnis, yang banyak di antaranya menganut ideologi yang menempatkan keuntungan di atas kebebasan, di atas komunitas, di atas kebebasan. prinsip Dengan demikian, retorika “open source” berfokus pada potensi untuk membuat perangkat lunak yang kuat dan berkualitas tinggi, namun mengabaikan gagasan kebebasan, komunitas, dan prinsip.

Majalah “Linux” adalah contoh nyata dari hal ini—majalah tersebut dipenuhi dengan iklan untuk perangkat lunak berpemilik yang bekerja dengan GNU/Linux. Ketika Motif atau Qt berikutnya muncul, apakah majalah-majalah ini akan memperingatkan pemrogram untuk menghindarinya, atau akankah mereka memasang iklan untuk Motif atau Qt tersebut?

Dukungan dunia usaha dapat memberikan kontribusi kepada masyarakat dalam berbagai cara; semuanya dianggap sama, ini berguna. Namun mendapatkan dukungan mereka dengan tidak terlalu banyak bicara tentang kebebasan dan prinsip bisa menjadi bencana; hal ini memperburuk ketidakseimbangan antara penjangkauan dan pendidikan kewarganegaraan.

“Perangkat lunak bebas” dan “sumber terbuka” menggambarkan kategori perangkat lunak yang sama, kurang lebih, namun menyatakan hal yang berbeda tentang perangkat lunak, dan tentang nilai. Proyek GNU terus menggunakan istilah “perangkat lunak bebas”, untuk mengungkapkan gagasan bahwa kebebasan, bukan hanya teknologi, adalah hal yang penting.

Mencoba!

Pepatah Yoda (“Tidak ada kata 'coba'”) terdengar bagus, tapi bagi saya tidak berhasil. Saya telah melakukan sebagian besar pekerjaan saya sambil merasa cemas apakah saya bisa melakukan pekerjaan itu, dan tidak yakin apakah itu akan cukup untuk mencapai tujuan jika saya melakukannya. Tapi aku tetap mencobanya, karena tidak ada orang selain aku di antara musuh dan kotaku. Yang mengejutkan saya sendiri, terkadang saya berhasil.

Terkadang saya gagal; beberapa kota saya telah jatuh. Kemudian saya menemukan kota lain yang terancam, dan bersiap untuk pertempuran lainnya. Seiring waktu, saya belajar untuk mencari ancaman dan menempatkan diri saya di antara mereka dan kota saya, memanggil peretas lain untuk datang dan bergabung dengan saya.

Saat ini, sering kali saya bukan satu-satunya. Sungguh melegakan dan menyenangkan ketika saya melihat sekelompok peretas berusaha keras untuk mempertahankan garis, dan saya sadar, kota ini mungkin bisa bertahan—untuk saat ini. Namun bahayanya semakin besar setiap saat. tahun, dan kini Microsoft telah secara eksplisit menargetkan komunitas kita. Kita tidak bisa menganggap remeh masa depan kebebasan. Jangan anggap remeh! Jika ingin menjaga kebebasan, Anda harus siap mempertahankannya.

STANDAR DASAR

UNIX dipasok oleh produsen komputer

Mobil sistem operasi "Asli"
Minggu 1,2,10,... SunOS 4.1.2 BSD 4.3
Minggu 10,20,1000 SunOS 5.5 SVR4.0
IBM RS/6000 AIX SV 3.2
HP Apollo 900 HP/UX10 BSD 4.2 & SV 3.2
Berurutan Dyniks SV 4.0
Motorola 922 SVR4/88 SVR4.0
Terbaik-88 Terbaik SV 3.1
Desember Ultrix BSD 4.2
DES Alfa AXP OSF/1 BSD 4.3
Grafik Silikon SGCS IRIX 6.0

Dengan memilih platform, kita secara otomatis mendapatkan UNIX "miliknya" dengannya. Mungkin, dari sudut pandang kenyamanan dan integritas lingkungan pengguna dan administrator, yang paling menyenangkan adalah AIX. Dan yang paling umum adalah Solaris 2.5 (alami).

Munculnya implementasi komersial Unix yang menyebabkan apa yang disebut perang Unix. Masing-masing perusahaan, dalam upaya mencapai keunggulan di pasar, memasukkan beberapa fitur ke dalam sistemnya, modifikasi dan peningkatannya sendiri, kadang-kadang bahkan dengan tujuan langsung untuk membedakan sistemnya dari sistem lain di pasar. Perusahaan pengembang, dalam upayanya untuk mendapatkan keunggulan dibandingkan pesaing, bahkan melakukan perubahan antarmuka pemrograman aplikasi(API- Antarmuka Pemrogram Aplikasi), - spesifikasi serangkaian fungsi yang harus dipatuhi oleh pengembang perangkat lunak agar program mereka kompatibel dengan sistem operasi. Hal ini semakin meningkatkan ketidakcocokan versi Unix yang berbeda dan menyebabkan ketidakcocokan perangkat lunak dikembangkan oleh pemasok yang berbeda (termasuk independen).

Namun konsekuensi yang jauh lebih buruk dari perang antar versi Unix yang berbeda adalah berakhirnya pertukaran bebas kode sumber yang telah memfasilitasi kemajuan pesat Unix pada tahap awal pengembangannya. Karena tidak ada model lain untuk mengambil keuntungan dari perangkat lunak selain merahasiakannya dan memiliki kendali penuh atas pengembangan produk komersial, AT&T melarang keras distribusi kode sumber. Ancaman tindakan hukum bagi pendistribusian kaset Unix secara ilegal tidak terlalu menarik perhatian. Aliran ide-ide baru dari universitas telah mengering.

Untuk mengatasi masalah ini, beberapa upaya dilakukan untuk melakukan standarisasi Unix.

Upaya serius pertama untuk menstandarisasi versi API (antarmuka pemrograman) yang dikembangkan untuk System V dan Berkeley dilakukan pada tahun 1983 oleh kelompok inisiatif yang disebut /usr/group. Namun, seiring bertambahnya jumlah versi sistem operasi, efektivitas standar menurun, dan setahun kemudian, pada tahun 1985, standar POSIX (Portable Operating System Interface for Computing Environment) dibuat.



Pada tahun 1988, standar POSIX 1003.1-1988 dikembangkan, yang mendefinisikan antarmuka pemrograman aplikasi. Standar ini banyak digunakan di banyak sistem operasi, termasuk arsitektur non-UNIX. Dua tahun kemudian, standar tersebut diadopsi sebagai standar IEEE (Institute of Electrical and Electronic Engineers, masih ada) IEEE 1003.1-1990. Standar ini hanya mendefinisikan antarmuka, bukan organisasi tertentu, sehingga tidak membedakan antara panggilan sistem dan fungsi perpustakaan, menyebut semua elemen antarmuka pemrograman hanya berfungsi.

Semua standar Unix yang lebih baru menyertakan POSIX, dan semua versi Unix berikutnya mematuhi standar ini. Satu-satunya tambahan besar yang kemudian muncul di kernel Unix adalah soket, yang berasal dari BSD.

Sebuah organisasi nirlaba, konsorsium X/Open (kemudian Open Group), yang dibentuk pada tahun 1984 oleh sejumlah perusahaan Eropa, mengemban tugas mengembangkan seperangkat antarmuka sistem operasi, yang disepakati antara berbagai produsen, dan menciptakan sistem yang benar-benar terbuka dengan biaya portabilitas aplikasi yang minimal.

Pada tahun 1992, sebuah dokumen yang dikenal sebagai X/OpenPortability Guide versi 3 (XPG3) muncul, yang mencakup POSIX 1003.1-1988 dan standar sistem grafis Sistem X Windows yang dikembangkan di Massachusetts Institute of Technology (AS). Pada tahun 1994 - XPG4.2.

Pada tahun 1996, penggabungan X/Open dan OSF menghasilkan pembentukan konsorsium The Open Group, yang melanjutkan pengembangan di bidang sistem terbuka, misalnya pengembangan lebih lanjut antarmuka pengguna Common Desktop Environment, antarmuka untuk komputasi terdistribusi. lingkungan Lingkungan Komputasi Terdistribusi - DCE, dll.

(Institut Standar Nasional Amerika)

Pada tahun 1989, American National Standards Institute menyetujui standar X3.159-1989 untuk bahasa pemrograman C. Standar ini mendefinisikan sintaksis, semantik, dan konten perpustakaan standar.

GNU adalah asosiasi pengembang yang membuat berbagai jenis program gratis.

GNU adalah proyek yang telah menciptakan banyak program gratis sebagai bagian dari strategi open sourcenya.

Selain itu, program ini dapat melakukan segalanya mulai dari bekerja dengan file hingga memproses teks, dan kompiler gcc (GNU C) adalah salah satu kompiler yang paling andal dan efisien untuk UNIX. Hal ini memungkinkan untuk melengkapi hampir semua OS mirip UNIX dengan perangkat lunak gratis.

Apa itu GNU/Linux?

Karena Linux hanyalah sebuah kernel, peralatan seperti itu adalah suatu keharusan. Kernel bertanggung jawab untuk bekerja dengan memori, disk, dan perangkat internal, tetapi, misalnya, tidak memiliki editor teks. Tapi bisa menjalankan program lain. Oleh karena itu, melengkapi kernel gratis dengan serangkaian program gratis terlihat sangat alami. Hasilnya adalah tandem GNU/Linux.

"Singkatan GNU adalah singkatan dari "GNU is not UNIX" (GNU - Not UNIX). Ide utama di balik pengembangan sistem GNU adalah perbedaannya dari UNIX. UNIX selalu dan tetap menjadi perangkat lunak berpemilik, yaitu menghilangkan kebebasan penggunanya untuk berkolaborasi serta mengontrol komputer kami. Untuk menjadi komunitas komputer bebas, kami memerlukan sistem operasi gratis. Kami tidak punya cukup uang untuk membeli dan membuat sistem yang ada menjadi gratis, tapi kami " Kami mempunyai pengetahuan dan keterampilan yang cukup untuk menciptakan sesuatu yang baru. Penciptaan GNU adalah sebuah karya yang monumental. Kami melakukannya atas nama kebebasan kami, dan kebebasan Anda juga."

Pada tahun 1985, R. Stallman menulis GNU Manifesto-nya yang terkenal (diterbitkan dalam Dr. Dobb's Journal edisi Maret 1985) dan mendirikan Free Software Foundation (FSF), sebuah yayasan amal untuk pengembangan perangkat lunak bebas. kemudian mulai memasok perangkat lunak gratis lainnya (dibuat baik di dalam maupun di luar Proyek GNU) dan menjual manualnya, yang kemudian menyediakan dana untuk pengembangan Proyek GNU.FSF menerima sumbangan, namun sebagian besar pendapatannya selalu berasal dari penjualan salinannya. perangkat lunak bebas dan layanan terkait.

Pengembangan perangkat lunak bebas merupakan langkah yang sangat penting, namun yang lebih penting lagi adalah pembuatan GNU General Public License (GPL). Nama ini diterjemahkan ke dalam bahasa Rusia oleh penulis berbeda dengan cara berbeda - Lisensi Publik Umum, Lisensi Publik Umum, dll. Namun diyakini demikian Hanya versi bahasa Inggris dari lisensi ini yang mengikat secara hukum. Ide dasar GPL adalah pengguna harus memiliki empat hak (atau empat kebebasan) berikut:

· Hak untuk menjalankan program untuk tujuan apapun (kebebasan 0)

· Hak untuk mempelajari struktur program dan menyesuaikannya dengan kebutuhan seseorang (kebebasan 1), yang berarti akses terhadap kode sumber program.

· Hak untuk mendistribusikan program, mempunyai kesempatan membantu orang lain (kebebasan 2).

· Hak untuk meningkatkan program dan mempublikasikan perbaikan untuk kepentingan seluruh komunitas (kebebasan 3), yang juga berarti akses terhadap kode sumber program.

Perangkat lunak yang didistribusikan berdasarkan lisensi ini dapat digunakan, disalin, dimodifikasi, dimodifikasi, ditransfer, atau dijual versi yang dimodifikasi (atau tidak dimodifikasi) kepada orang lain dengan cara apa pun, dengan ketentuan bahwa hasil pemrosesan tersebut juga didistribusikan di bawah lisensi GPL. Syarat terakhir adalah yang paling penting dan menentukan dalam izin ini. Hal ini memastikan bahwa hasil upaya pengembang perangkat lunak bebas tetap terbuka dan tidak menjadi bagian dari produk berlisensi konvensional. Hal ini juga membedakan perangkat lunak bebas dengan perangkat lunak yang didistribusikan secara gratis. Salah satu persyaratan lisensi ini adalah ketika Anda menjual perangkat lunak berlisensi GPL, Anda harus menyediakan kode sumber perangkat lunak tersebut kepada siapa saja yang ingin mengaksesnya. Menurut pencipta FSF, lisensi GPL "membuat perangkat lunak gratis dan memastikan bahwa perangkat lunak tersebut akan tetap bebas."

Tujuan utama GPL adalah melindungi perangkat lunak bebas dari “privatisasi”. Namun perlu dicatat bahwa ini dirancang sedemikian rupa sehingga memungkinkan semua cara “jujur” untuk menghasilkan uang dari perangkat lunak gratis. Ini adalah poin yang sangat penting yang perlu mendapat perhatian khusus. Saat pertama kali mengenal GPL, Anda mungkin memiliki kesalahpahaman bahwa lisensi ini secara umum melarang cara apa pun untuk menghasilkan uang dari perangkat lunak atau pengembangannya. Faktanya, GPL pada khususnya dan FSF pada umumnya secara langsung mendorong bisnis yang terkait dengan penyediaan layanan terkait – pelatihan, konsultasi, dan replikasi perangkat lunak komersial. Hal ini memungkinkan kita untuk menarik kerja sama baik perusahaan maupun orang-orang yang menganggap kepentingan materi lebih penting daripada insentif moral.

Setiap pengguna yang sudah mulai memahami dunia sistem operasi mirip UNIX dan perangkat lunak bebas mungkin akan menemukan singkatan pada judulnya.

GNU adalah singkatan dari "GNU is not UNIX" dan mengacu pada proyek berskala besar di mana berbagai perpustakaan sistem dan aplikasi dikembangkan. Segala sesuatu yang dibuat dalam proyek ini adalah open source. Artinya siapa pun yang memiliki pengetahuan pemrograman yang tepat dapat menggunakan kode ini sebagai dasar pengembangannya sendiri, berhak penuh untuk mengubah dan mendistribusikannya.

Produk perangkat lunak yang dikembangkan dalam proyek ini, dilengkapi dengan kernel sistem Hard GNU, membentuk dasar dari sistem operasi yang lengkap, yang juga disebut dengan istilah GNU. Namun penciptaannya, yang dimulai pada tahun 1990, belum selesai hingga saat ini. Namun pada tahun 1991, gagasan Linus Torvalds muncul - kernel Linux. Di sinilah Proyek GNU berperan besar dalam perkembangan Linux sebagai sistem operasi. Bagaimanapun, sistem bukan hanya kernel, tetapi seperangkat perangkat lunak sistem yang integral, termasuk perpustakaan, utilitas, driver, dan banyak lagi. Dan perkembangan para peserta GNU, yang digunakan bersama dengan kernel Linux, mengungkapkan kepada dunia produk yang kini berhasil bersaing dengan Windows dan MacOS. Dan ini disebut “GNU/Linux”, dan bagian pertama paling sering dibuang, yang pada umumnya salah.

Selain perangkat lunak, Proyek GNU menciptakan General Public License (GNU GPL) yang menjadi lisensi utama di dunia open source dan digunakan secara luas. Ini mengatur distribusi perangkat lunak bebas dan sangat demokratis. Dinyatakan bahwa setiap pengguna berhak untuk memodifikasi, mendistribusikan, dan menggunakan kode sumber aplikasi yang tercakup dalam lisensi ini dalam proyek mereka. Pada saat yang sama, semua program tambahan juga akan tunduk pada GPL. Artinya, pengembang yang menggunakan open source juga memproduksi open source, dan lisensinya sendiri diwariskan. Ini adalah aturan wajib, tetapi ada cara untuk menghindari GPL dan menutup kode Anda sendiri berdasarkan kode terbuka yang digunakan.

GNU dan GPL yang diciptakannya mempunyai dampak besar terhadap industri teknologi. Perangkat lunak bebas telah menarik sejumlah besar pemrogram berbakat ke dalam industrinya, sehingga menjadi komunitas terbesarnya. Produk yang dibuat di bawah GPL tidak hanya menerima penggunaan praktis yang luas, tetapi juga, berkat kode berkualitas tinggi dan dapat diakses, telah menjadi tempat pelatihan yang sangat baik bagi jutaan pengembang pemula. Konsep pertukaran informasi dan alternatif paling keras terhadap hak cipta tradisional, meskipun tidak jelas, memungkinkan pengembangan perangkat lunak dan saat ini mendapatkan momentum.

GNU 3DLDF mendukung gambar 3D dengan output ke format MetaPost melalui bahasa yang mirip dengan Metafont. Hal ini terutama dimaksudkan untuk menyediakan sarana pembuatan konten 3D untuk dokumen TeX, tetapi juga dapat membuat animasi yang berisi teks yang diketik oleh TeX. (dokter)

8sinkronisasi

8sync (diucapkan delapan sinkronisasi) adalah perpustakaan pemrograman asinkron untuk GNU Guile. Itu menggunakan kelanjutan yang dibatasi untuk menghindari kekacauan callback, menghasilkan kode yang bersih, mudah dibaca, dan tidak memblokir. (dokter)

a2ps

GNU a2ps mengkonversi hampir semua hal menjadi file PostScript, siap untuk dicetak. Hal ini dicapai dengan mendelegasikan file ke penangan eksternal, seperti Groff dan Gzip. Ini menangani langkah-langkah sebanyak yang diperlukan untuk menghasilkan file yang dicetak cantik. Ini juga mencakup beberapa kemampuan tambahan untuk kasus-kasus khusus, seperti keluaran --help pencetakan cantik. (dokter)

Akt

GNU acct menyediakan sarana bagi administrator sistem untuk menentukan pola penggunaan sistem. Ini memberikan informasi, misalnya, koneksi, program yang dijalankan, dan sumber daya sistem yang digunakan. (dokter)

Acm

GNU ACM adalah simulator penerbangan di mana pemain dapat berkompetisi dalam pertempuran udara dari komputer yang berbeda, mengemudikan pesawat jet berperalatan lengkap yang mirip dengan F-16C Falcon atau MiG-29 Fulcrum. (dokter)

Iklan

GNU adns adalah perpustakaan C yang menyediakan fungsionalitas resolusi DNS yang mudah digunakan. Perpustakaannya tidak sinkron, memungkinkan beberapa panggilan bersamaan. Paket ini juga mencakup beberapa utilitas baris perintah untuk digunakan dalam skrip. (dokter)

Hidup

GNU Alive mengirimkan ping berkala ke server, umumnya untuk menjaga koneksi tetap hidup. (dokter)

Anubis

Anubis adalah daemon yang berada di antara Mail User Agent (MUA) dan Mail Transfer Agent (MTA). Ketika sebuah email dikirim oleh pengguna di MUA, email tersebut terlebih dahulu diteruskan ke Anubis, yang melakukan pemrosesan tambahan pada pesan tersebut sebelum meneruskannya untuk dikirim oleh MTA. Anubis dapat, misalnya, mengubah header atau isi pesan, atau mengenkripsi atau menandatangani pesan. (dokter)

APL

GNU APL adalah penerjemah gratis untuk bahasa pemrograman APL. Ini merupakan implementasi dari standar ISO 13751. (doc)

Archimedes

Archimedes adalah paket gratis untuk simulasi perangkat semikonduktor. Hal ini dimaksudkan untuk membantu para insinyur dalam merancang dan mensimulasikan perangkat semikonduktor submikron dan mesoskopik berdasarkan metode Ensemble Monte Carlo. Ia mampu menangani berbagai macam bahan dan struktur, yang dijelaskan melalui skrip sederhana. (dokter)

Aris

Aris adalah program untuk melakukan pembuktian logis. Ini mendukung logika proposisional dan predikat, serta aljabar Boolean dan logika aritmatika. Selain aturan inferensi dan kesetaraan yang telah ditentukan sebelumnya, Aris juga mendukung referensi ke bukti-bukti yang lebih tua. Penggunaan simbol logika standar dan antarmuka deduksi alami membuatnya mudah digunakan untuk pemula. (dokter)

Artanis

GNU Artanis adalah kerangka aplikasi web yang ditulis dalam Skema Guile. Kerangka aplikasi web (WAF) adalah kerangka perangkat lunak yang dirancang untuk mendukung pengembangan situs web dinamis, aplikasi web, layanan web, dan sumber daya web. Kerangka kerja ini bertujuan untuk mengurangi overhead yang terkait dengan aktivitas umum yang dilakukan dalam pengembangan web. Artanis menyediakan beberapa alat untuk pengembangan web: akses database, kerangka templating, manajemen sesi, pemetaan ulang URL untuk RESTful, cache halaman, dan banyak lagi. (dokter)

Sebuah mantra

Aspell adalah pemeriksa ejaan yang dapat digunakan sebagai perpustakaan atau sebagai program mandiri. Fitur penting dari Aspell termasuk dukungan penuh terhadap dokumen yang ditulis dalam pengkodean UTF-8 dan kemampuannya untuk menggunakan banyak kamus, termasuk kamus pribadi. (dokter)

AUCTeX

AUCTeX adalah lingkungan terintegrasi untuk memproduksi dokumen TeX di Emacs. Hal ini memungkinkan banyak makro TeX standar yang berbeda untuk disisipkan dengan penekanan tombol sederhana atau pemilihan menu. Ia menawarkan antarmuka ke program eksternal, memungkinkan Anda mengkompilasi atau melihat dokumen Anda dari dalam Emacs. AUCTeX juga dilengkapi kemampuan untuk menempatkan pratinjau sebaris pernyataan TeX yang kompleks seperti rumus matematika. (dokter)

Konfigurasi otomatis

Autoconf menawarkan kepada pengembang seperangkat makro M4 yang kuat yang diperluas ke kode shell untuk menguji fitur sistem mirip Unix dan untuk secara otomatis mengadaptasi paket perangkat lunak mereka ke sistem ini. Skrip shell yang dihasilkan bersifat mandiri dan portabel, sehingga pengguna tidak perlu mengetahui apa pun tentang Autoconf atau M4. (dokter)

Arsip autoconf

Arsip Autoconf adalah kumpulan lebih dari 450 makro baru untuk Autoconf, yang sangat memperluas domain fungsinya. Makro ini telah dikontribusikan sebagai perangkat lunak gratis oleh komunitas. (dokter)

autogen

AutoGen adalah program untuk memudahkan pemeliharaan program yang berisi teks berulang dalam jumlah besar. Ini mengotomatiskan konstruksi bagian kode ini, menyederhanakan tugas menjaga teks tetap sinkron. Ini juga mencakup paket tambahan yang disebut AutoOpts, yang dikhususkan untuk pemeliharaan dan dokumentasi opsi program. (dokter)

pembuatan otomatis

Mengotomatiskan bagian dari sistem pembangunan GNU untuk memproduksi Makefile yang memenuhi standar. Persyaratan build dimasukkan dalam format intuitif dan kemudian Automake bekerja dengan Autoconf untuk menghasilkan Makefile yang kuat, menyederhanakan seluruh proses untuk pengembang. (dokter)

Rata-rata

libavl menyediakan banyak koleksi pohon pencarian biner dan rutinitas pohon seimbang untuk C. Pohon-pohon ini menawarkan setidaknya kinerja O(log n) untuk operasi yang biasanya mahal seperti mencari, memasukkan atau menghapus item dari struktur data. (dokter)

Bola dan Dayung

Ball and Paddle adalah game arkade klasik yang menggunakan dayung di bagian bawah layar untuk memantulkan bola ke batu bata di bagian atas, menghilangkan batu bata yang dipukul. Sebagai twist baru, peristiwa dan atribut semua objek (batu bata, bola, dll.) dapat ditulis dengan GNU Guile. (dokter)

kode batang

GNU Barcode adalah alat yang fleksibel untuk menghasilkan barcode tercetak dari string teks. Ini mendukung berbagai standar pengkodean dan pengukuran ukuran. Barcode dapat dihasilkan dalam format PostScript atau Encapsulated PostScript. (dokter)

Pesta

Bash adalah shell, atau penerjemah baris perintah, dari sistem GNU. Ini kompatibel dengan Bourne Shell, tetapi juga mengintegrasikan fitur-fitur berguna dari Korn Shell dan C Shell serta peningkatan barunya sendiri. Ini memungkinkan pengeditan baris perintah, riwayat perintah tidak terbatas, fungsi dan alias shell, dan kontrol pekerjaan sambil tetap memungkinkan sebagian besar skrip sh dijalankan tanpa modifikasi. (dokter)

Bayonne

Bayonne adalah server telepon dari proyek GNU Telephony. Ini menawarkan lingkungan yang terukur untuk pengembangan dan penerapan solusi telepon, dengan fokus pada SIP. (dokter)

Pasar

GNU Bazaar adalah sistem kontrol versi yang memungkinkan Anda mencatat perubahan pada file proyek dari waktu ke waktu. Ini mendukung alur kerja terdistribusi serta alur kerja klasik terpusat. (dokter)

bc adalah bahasa pemrosesan numerik presisi arbitrer. Ini mencakup lingkungan interaktif untuk mengevaluasi pernyataan matematika. Sintaksnya mirip dengan C, jadi penggunaan dasarnya sudah familiar. Ini juga mencakup dc, kalkulator pemolesan terbalik. (dokter)

BFD

Binutils

GNU Binutils adalah kumpulan alat untuk bekerja dengan file biner. Mungkin yang paling menonjol adalah ld , sebuah linker, dan as , sebuah assembler. Alat lain termasuk program untuk menampilkan informasi profil biner, mencantumkan string dalam file biner, dan utilitas untuk bekerja dengan arsip. Pustaka bfd untuk bekerja dengan format yang dapat dieksekusi dan format objek juga disertakan. (dokter)

Banteng

GNU Bison adalah generator parser serba guna. Itu dapat membangun parser LR deterministik atau umum dari tata bahasa bebas konteks yang dianotasi. Ini cukup serbaguna untuk memiliki banyak aplikasi, mulai dari parser hingga alat sederhana hingga bahasa pemrograman yang kompleks. (dokter)

Bodoh

GNU Bool adalah utilitas untuk melakukan pencarian teks pada file menggunakan ekspresi Boolean. Misalnya, penelusuran hello AND world akan menghasilkan file yang berisi frasa Hello, world! . Ini mendukung pernyataan AND dan OR, serta pernyataan NEAR untuk mencari kemunculan kata-kata yang berdekatan satu sama lain. Ini menangani konteks dengan baik, memperhitungkan perubahan baris dan paragraf baru. Ini juga memiliki dukungan kuat untuk mem-parsing file HTML. (dokter)

BPEL2oWFN

GNU BPEL2oWFN menerjemahkan layanan web yang dinyatakan dalam Bahasa Eksekusi Proses Bisnis Layanan Web (WS-BPEL) menjadi Workflow Net (oWFN) terbuka. Ini juga dapat mengubah koreografi BPEL4Chor menjadi model Petri Net. Properti Jaring Petri dapat dianalisis secara efisien, karena penggunaan analisis statis untuk membuat model menjadi kompak. Kontrol dan analisis aliran data, serta pemeriksaan dasar untuk kebuntuan dan properti serupa lainnya tersedia. (dokter)

C-grafik

GNU C-Graph adalah alat untuk mendemonstrasikan teori konvolusi. Oleh karena itu, ini dapat berfungsi sebagai bantuan yang sangat baik bagi mahasiswa teori sinyal dan sistem dalam memvisualisasikan proses konvolusi. Daripada memaksa siswa untuk menulis kode, program ini menawarkan antarmuka intuitif dengan dialog interaktif untuk memandu mereka. (dokter)

ccAudio

GNU ccAudio2 adalah kelas C++ portabel untuk bekerja dengan data audio dari disk. Kelas-kelasnya bersifat endian dan sadar konten; Daripada memperlakukan audio sebagai data biner, perpustakaan ini memperlakukannya sebagai rangkaian sampel. Itu juga dapat menangani informasi metadata. ccAudio2 mendukung audio matahari, sampel mentah, dan data audio yang dikodekan RIFF. (dokter)

isyarat CCd2

GNU ccd2cue adalah praprosesor untuk perangkat lunak pembakar CD yang memungkinkan konversi format CCD berpemilik ke format CUE, yang didukung dengan baik oleh perangkat lunak gratis. File-file ini biasanya didistribusikan bersama image CD dan digunakan untuk menjelaskan bagaimana trek ditata pada image. (dokter)

Pembunuhan

GNU CCide adalah generator kode tabel keputusan untuk bahasa C. Hal ini membantu menghindari rangkaian pernyataan if-else yang tidak dapat dikelola dan rawan kesalahan. Sebaliknya, tabel keputusan dimasukkan dalam format yang intuitif dan mudah dibaca, yang kemudian diperluas menjadi kode C portabel. (dokter)

ccRTP

GNU ccRTP merupakan implementasi RTP, protokol transport real-time dari IETF. Sangat cocok untuk server berkapasitas tinggi dan aplikasi klien pribadi. Ini fleksibel dalam desainnya, memungkinkannya berfungsi sebagai kerangka kerja, bukan hanya sebagai perpustakaan manipulasi paket. (dokter)

ccScript

GNU ccScript3 adalah perpustakaan untuk menambahkan sistem eksekusi mesin virtual untuk digunakan dengan/sebagai bahasa skrip atau assembler untuk sistem yang digerakkan oleh transisi keadaan secara real-time. (dokter)

Aliran C

GNU cflow menganalisis file sumber C dan menghasilkan grafik yang memetakan aliran kontrol program. Itu dapat menampilkan grafik dalam beberapa gaya dan dalam format POSIX atau dalam format GNU yang diperluas. cflow juga menyertakan mode utama bagi Emacs untuk memeriksa diagram alur yang dihasilkannya. (dokter)

Cgicc

GNU cgicc adalah pustaka C++ yang sesuai dengan ANSI untuk menulis aplikasi CGI, yang dilengkapi dukungan untuk FastCGI. Pustaka ini mendukung beberapa fitur, termasuk menangani data GET dan POST, menangani berbagai tipe data formulir, dan pembuatan HTML saat itu juga. (dokter)

Catur

GNU Chess adalah mesin catur. Ini memungkinkan Anda bersaing dengan komputer dalam permainan catur, baik melalui antarmuka terminal default atau melalui antarmuka visual eksternal seperti GNU XBoard. (dokter)

cim

Cim adalah kompiler GNU untuk Simula, bahasa pemrograman berorientasi objek pertama. (dokter)

jalur kelas

GNU Classpath menyediakan perpustakaan penting untuk mesin virtual dan kompiler Java. Ini kompatibel dengan sebagian besar spesifikasi API bahasa dan menyediakan beragam fungsi. (dokter)

KLIP

GNU CLISP merupakan implementasi dari ANSI Common Lisp. Common Lisp adalah bahasa pemrograman fungsional berorientasi objek tingkat tinggi. CLISP mencakup penerjemah, kompiler, debugger, dan banyak lagi. (dokter)

Menggabungkan

GNU menggabungkan berfungsi untuk menggabungkan file berdasarkan kunci umum dalam tabel hash. Hal ini dapat dilihat mirip, meskipun jauh lebih kuat daripada, utilitas join standar. Berbeda dengan join , sejumlah file dapat digabungkan berdasarkan kecocokan yang ditemukan. menggabungkan juga memiliki fitur-fitur canggih lainnya, seperti penguraian tanggal dan traversal direktori. (dokter)

[u]C++ umum

GNU Common C++ adalah kerangka kelas portabel yang dioptimalkan untuk aplikasi thread, mendukung sinkronisasi bersamaan, komunikasi antar-proses melalui soket, dan berbagai metode untuk penanganan data, seperti serialisasi dan penguraian XML. Ini mencakup pustaka uCommon C++, implementasi ulang yang lebih kecil. (dokter)

Kompleksitas

Kompleksitas GNU menyediakan alat untuk menemukan prosedur yang berbelit-belit, terlalu panjang, atau sulit dipahami. Ini mungkin membantu dalam mempelajari atau meninjau kode asing atau mungkin menyoroti kode Anda sendiri yang tampak dapat dipahami saat Anda menulisnya. (dokter)

Konfigurasi

Skrip config.guess mencoba menebak rangkap tiga sistem kanonik, dan config.sub memvalidasi dan mengkanonikalisasi. Ini digunakan sebagai bagian konfigurasi di hampir semua paket GNU (dan banyak lainnya). (dokter)

Coreutils

GNU Coreutils mencakup semua alat baris perintah dasar yang diharapkan dalam sistem POSIX. Ini menyediakan fungsi dasar manipulasi file, shell dan teks dari sistem GNU. Sebagian besar alat ini menawarkan fungsionalitas yang diperluas melebihi apa yang diuraikan dalam standar POSIX. (dokter)

Cpio

GNU cpio menyalin file ke dalam atau ke luar arsip cpio atau tar. Memang, banyak format yang didukung, termasuk format lama. Formatnya ditentukan secara otomatis oleh program dan ditangani dengan tepat. Selain itu, lokasi arsip tidak penting. Ini bisa berupa file lain di drive, tape, atau data di pipa. (dokter)

Cppi

GNU Cppi memproses file kode sumber C untuk mengindentasi arahan praprosesor dengan benar untuk mencerminkan sarangnya. Ia juga melakukan standarisasi lain, seperti mengoreksi jumlah spasi antara arahan dan teks yang mengikutinya. (dokter)

CSSC

GNU CSSC menyediakan pengganti sistem kontrol kode sumber Unix yang lama, SCCS. Hal ini memungkinkan kode lama yang masih berada di bawah sistem tersebut untuk diakses dan dimigrasikan ke sistem modern. (dokter)

Cursynth

GNU cursynth adalah synthesizer polifonik yang berjalan secara grafis di terminal. Itu dibangun di atas mesin sintesis subtraktif berfitur lengkap. Catatan dan perubahan parameter dapat dimasukkan melalui MIDI atau keyboard komputer. (doc)

sial

GNU Dap adalah paket statistik dan grafik. Ia dapat membaca program yang ditulis untuk sistem statistik berpemilik SAS. Sintaksnya mirip, tetapi lebih sederhana dari C, membuat sebagian besar tugas menjadi relatif mudah sambil tetap memberikan kemampuan grafis tingkat lanjut. (dokter)

Datamash

Lakukan operasi numerik, tekstual, dan statistik dasar pada file teks biasa. Dirancang untuk bekerja dalam saluran pipa standar tanpa kode tambahan. (dokter)

DD

GNU DDD, Data Display Debugger, adalah front-end grafis untuk debugger baris perintah. Banyak debugger back-end yang didukung, terutama debugger GNU, GDB. Selain fitur debugging biasa seperti melihat file sumber, DDD memiliki fitur grafis tambahan dan interaktif untuk membantu dalam debugging. (dokter)

penyelamatan

GNU ddrescue adalah alat pemulihan data yang sepenuhnya otomatis. Ini menyalin data dari satu file ke file lainnya, berfungsi untuk menyelamatkan data jika terjadi kesalahan pembacaan. Program ini juga menyertakan alat untuk memanipulasi file lognya, yang digunakan untuk memulihkan data secara lebih efisien dengan hanya membaca blok yang diperlukan. (dokter)

DejaGnu

DejaGnu adalah kerangka kerja untuk menguji perangkat lunak. Akibatnya, ini berfungsi sebagai front-end untuk semua tes yang ditulis untuk suatu program. Oleh karena itu, setiap program dapat memiliki beberapa rangkaian pengujian, yang kemudian dikelola oleh satu rangkaian pengujian. (dokter)

Denemo

GNU Denemo adalah editor notasi musik yang menyediakan antarmuka yang nyaman untuk program ukiran musik yang kuat, Lilypond. Musik dapat diketik menggunakan keyboard komputer, diputar menggunakan keyboard MIDI, atau bahkan dimasukkan melalui mikrofon yang terhubung ke kartu suara. Produk akhirnya adalah notasi musik berkualitas publikasi yang terus dihasilkan di latar belakang saat Anda bekerja. (dokter)

Dia

Diko

GNU Dico mengimplementasikan server kamus dan klien yang fleksibel sesuai dengan RFC 2229 (DICT Server). Ia dapat mengakses database apa pun yang tersedia, apa pun formatnya, berkat struktur modularnya. Modul baru dapat ditulis dalam C, Guile atau Python. Dico juga menyertakan klien baris perintah, yang dapat digunakan untuk menanyakan database kamus jarak jauh. (dokter)

Artikulasi

Sebuah paket yang menyediakan dua perintah Unix klasik, gaya dan diksi. Diksi digunakan untuk mengidentifikasi frasa yang bertele-tele dan sering disalahgunakan dalam badan teks. Gaya justru menganalisis aspek permukaan sebuah karya tulis, seperti panjang kalimat dan ukuran keterbacaan lainnya. (dokter)

Diffutil

GNU Diffutils adalah paket yang berisi alat untuk menemukan perbedaan antar file. Perintah diff digunakan untuk menunjukkan perbedaan dua file, sedangkan cmp menunjukkan offset dan nomor baris di mana perbedaannya. diff3 memungkinkan Anda membandingkan tiga file. Terakhir, sdiff menawarkan cara interaktif untuk menggabungkan dua file. (dokter)

Dionysus

GNU Dionysus adalah sistem yang mudah digunakan untuk mengambil dengan cepat nilai konstanta matematika yang digunakan dalam sains dan teknik. Nilai dapat dicari menggunakan alat baris perintah sederhana, memilih dari tiga database: konstanta universal, nomor atom, dan konstanta yang terkait dengan semikonduktor. (dokter)

Mengarahkan

Daemon yang memantau direktori untuk mengetahui kejadian, seperti membuat, menghapus, atau memodifikasi file. Itu dapat memantau kumpulan direktori yang berbeda untuk acara yang berbeda. Ketika suatu peristiwa terdeteksi, direvent memanggil program eksternal tertentu dengan informasi tentang peristiwa tersebut, seperti lokasi dalam sistem file di mana peristiwa tersebut terjadi. Oleh karena itu, direvent menyediakan cara mudah untuk segera bereaksi jika file tertentu mengalami perubahan, misalnya, untuk melacak perubahan pada file konfigurasi sistem yang penting. (dokter)

Kekuasaan

GNU Dominion adalah game simulasi dunia multi-pemain. Di dalamnya, setiap pemain memerintah suatu negara dan harus mempertahankan negaranya dalam menghadapi persaingan dari pemain lain. Pemain harus membuat keputusan politik, ekonomi, militer dan diplomatik agar negara mereka dapat bertahan hidup. Game ini dimaksudkan untuk dimainkan oleh semua pemain yang memiliki akses ke sistem komputer yang sama. (dokter)

Kemudahan

ease.js adalah kerangka kerja berorientasi objek klasik untuk JavaScript, dimaksudkan untuk menghilangkan kode boilerplate dan memudahkan transisi ke JavaScript dari bahasa berorientasi objek lainnya. (dokter)

Ed adalah editor teks berorientasi baris: alih-alih menawarkan ikhtisar dokumen, ed melakukan pengeditan satu baris dalam satu waktu. Itu dapat dijalankan secara interaktif dan melalui skrip shell. Metode input perintahnya memungkinkan tugas-tugas kompleks dilakukan secara otomatis. GNU ed menawarkan beberapa ekstensi dibandingkan utilitas standar. (dokter)

EDMA

GNU EDMA adalah lingkungan pengembangan yang menggabungkan ide-ide dari pemrograman berorientasi objek dan sistem berbasis komponen. Ini digunakan untuk membangun aplikasi modular yang berkembang serta komponen yang dapat digunakan kembali. EDMA menyediakan sarana yang mudah untuk membangun program berorientasi objek dalam C tanpa memerlukan C++. Selain itu, ia memiliki sistem komponen yang unik, tidak seperti sistem berbasis komponen perangkat lunak bebas lainnya yang meniru desain perangkat lunak berpemilik. Ini mencakup wizard grafis, gidfwizard, alat untuk membuat file definisi Antarmuka GNU EDMA dan untuk membuat file kerangka yang diperlukan untuk membangun kelas EDMA, dan browser kelas grafis, gecb. (dokter)

Listrik

GNU Electric adalah program CAD untuk merancang rangkaian listrik, menangani tata letak IC khusus, gambar skema, dan spesifikasi bahasa deskripsi perangkat keras. Beberapa operasi CAD didukung, seperti pemeriksaan aturan dan simulasi. Banyak jenis desain berbeda yang dapat diproduksi dan dimasukkan atau dikeluarkan dalam berbagai format. (dokter)

Emacs

GNU Emacs adalah editor teks yang dapat diperluas dan sangat dapat disesuaikan. Ini didasarkan pada penerjemah Emacs Lisp dengan ekstensi untuk mengedit teks. Emacs pada dasarnya telah diperluas di semua bidang komputasi, sehingga memunculkan beragam paket pendukung, misalnya email, pesan IRC dan XMPP, spreadsheet, pengeditan server jarak jauh, dan banyak lagi. Emacs menyertakan dokumentasi ekstensif tentang semua aspek sistem, mulai dari pengeditan dasar hingga penulisan program Lisp yang besar. Ini memiliki dukungan penuh Unicode untuk hampir semua bahasa manusia. (dokter)

Emacs-muse

Muse adalah lingkungan penulisan dan penerbitan untuk GNU Emacs. Ini mendukung memasukkan teks dalam format yang nyaman dan mudah dipelajari. Nantinya, dokumen Anda mungkin diterbitkan dalam berbagai format berbeda, seperti HTML, LaTeX, atau PDF. Muse mendukung proyek yang terdiri dari beberapa dokumen, yang digabungkan dengan benar sesuai dengan format keluaran. (dokter)

EMMS

EMMS adalah Sistem Multimedia Emacs. Ini adalah front-end kecil yang dapat mengontrol salah satu pemain eksternal yang didukung. Oleh karena itu, ini mendukung format apa pun yang didukung oleh pemutar musik Anda. Ini juga mendukung penandaan dan pengelolaan daftar putar, semuanya di balik antarmuka pengguna yang bersih dan ringan. (dokter)

Enskrip

GNU Enscript adalah program untuk mengkonversi file teks ASCII ke format PostScript, HTML atau RTF, untuk disimpan dalam file atau segera dikirim ke printer. Ini juga mencakup kemampuan untuk melakukan penyorotan sintaksis untuk beberapa bahasa pemrograman yang berbeda. (dokter)

Fdisk

GNU fdisk menyediakan versi GNU dari alat partisi disk umum fdisk. fdisk digunakan untuk membuat dan memanipulasi tabel partisi disk, dan memahami berbagai format berbeda. (dokter)

Musang

GNU Ferret adalah pemodel data grafis untuk paradigma Entitas/Hubungan. Secara otomatis dapat membuat skema relasional dari model data dan dapat digunakan untuk menghasilkan pernyataan SQL dalam berbagai dialek. (dokter)

Temukan utilitas

Findutils menyediakan utilitas pencarian direktori file dasar pada sistem GNU. Ini terdiri dari dua utilitas pencarian utama: temukan mencari file dalam direktori secara rekursif sesuai dengan kriteria yang diberikan dan temukan daftar file dalam database yang cocok dengan kueri. Dua alat bantu disertakan: updateb memperbarui database nama file dan xargs dapat digunakan untuk menerapkan perintah dengan argumen panjang yang sewenang-wenang. (dokter)

Lab Fisika

GNU FisicaLab adalah aplikasi pendidikan untuk memecahkan masalah fisika. Tujuan utamanya adalah memungkinkan pengguna untuk fokus pada konsep fisika, mengesampingkan detail matematika. (dokter)

bodoh

GNU Foliot adalah aplikasi untuk mencatat waktu yang dihabiskan mengerjakan proyek. (dokter)

Fontopia

Fontopia adalah editor font konsol berbasis teks yang mudah digunakan. Ini digunakan untuk mengedit font yang digunakan GNU/Linux untuk menampilkan teks pada terminal berbasis teks. Fontopia berfungsi pada font PSF 1 & 2, BDF, Code Paged (CP), dan file font Raw. Ini menyediakan pengguna- editor mesin terbang yang ramah dan mudah digunakan dan dapat dengan mudah mengubah metrik font (misalnya panjang, lebar, dan tinggi) dan mengkonversi antara format font yang berbeda. (doc)

fontutil

GNU Fontutils adalah kumpulan program untuk menangani font. Bitmap dapat diekstraksi dari gambar karakter yang dipindai, diedit, dan diubah menjadi font kerangka. Secara umum, Fontutils mendukung format font yang didukung oleh lingkungan penyusunan huruf TeX, termasuk font PostScript Tipe 1. (dokter)

GratisDink

GNU FreeDink adalah implementasi ulang mesin yang gratis dan portabel untuk permainan role-playing Dink Smallwood. Ini tidak hanya mendukung file data game asli tetapi juga mendukung mod game buatan pengguna atau D-Mods. Sejauh itu, ini juga mencakup front-end untuk mengelola semua D-Mod Anda. (dokter)

Font Garis Besar UCS Gratis

GNU FreeFont adalah kumpulan font kerangka terukur yang cocok untuk penggunaan komputer umum dan penerbitan desktop. Serif, sans serif, dan font monospace disertakan, semuanya tersedia dalam format TrueType dan OpenType. Font tersebut mendukung berbagai karakter untuk berbagai sistem penulisan, dan memiliki cakupan notasi matematika yang sangat baik. (dokter)

GratisIPMI

GNU FreeIPMI adalah kumpulan perangkat lunak IPMI in-band dan out-of-band sesuai dengan spesifikasi IPMI v1.5/2.0. Program-program ini menyediakan seperangkat antarmuka untuk manajemen platform. Fungsi umum mencakup pemantauan sensor, pemantauan kejadian sistem, kontrol daya, dan serial-over-LAN. (dokter)

Bebas bicara

GNU Freetalk adalah klien obrolan Jabber/XMPP baris perintah. Ini terutama menggunakan perpustakaan Readline untuk menangani input, sehingga memiliki fitur navigasi teks yang nyaman serta penyelesaian tab nama teman, perintah dan kata-kata bahasa Inggris. Itu juga dapat ditulis dan diperluas melalui Guile. Paket ini sedang mencari pengelola. (dokter)

JumatBiDi

GNU FriBidi merupakan implementasi dari Algoritma Unicode Dua Arah. Algoritme ini digunakan untuk menampilkan teks dengan benar dalam urutan kiri ke kanan atau kanan ke kiri sesuai kebutuhan. (dokter)

G-Golf

G-Golf (Gnome: (Guile Object Library for)) adalah perpustakaan untuk mengembangkan aplikasi modern dalam Skema Guile. Ini terdiri dari pengikatan langsung ke GObject Introspection API dan fungsionalitas tingkat yang lebih tinggi untuk mengimpor perpustakaan Gnome dan membuat kelas (dan metode) GObject tersedia dalam sistem pemrograman berorientasi objek Guile, GOOPS. (doc)

Gama

GNU Gama adalah program untuk penyesuaian jaringan geodesi. Hal ini berguna dalam pengukuran di mana Sistem Pemosisian Global (GPS) tidak tersedia, misalnya di bawah tanah. Ini menampilkan kemampuan untuk menyesuaikan koordinat Cartesian lokal serta dukungan parsial untuk penyesuaian dalam sistem koordinat global. (dokter)

Daemon ARP yang cuma-cuma

GNU garpd menyiarkan permintaan/balasan ARP (Protokol Resolusi Alamat) yang tidak perlu untuk daftar alamat MAC<->Pemetaan alamat IP pada antarmuka tertentu secara berkala. Paket permintaan ARP serampangan adalah paket yang IP sumber dan tujuan keduanya merupakan IP mesin yang meminta. Balasan ARP yang tidak beralasan adalah balasan yang dibuat tanpa permintaan yang sesuai. (dokter)

Melongo

Gawk adalah implementasi GNU dari Awk, bahasa pemrograman khusus untuk memudahkan manipulasi teks berformat, seperti tabel data. Gawk menampilkan banyak ekstensi di luar implementasi tradisional, termasuk akses jaringan, pengurutan, dan perpustakaan besar. (dokter)

Gbehistun

GNU Behistun terdiri dari perangkat lunak dan utilitas untuk pemodelan geologi dan geofisika serta pemetaan struktur dan dinamika internal. Seperti Prasasti Multibahasa Behistun, utilitas perangkat lunak Behistun memberikan pengetahuan dan fungsionalitas untuk bekerja pada sistem planet dan menyelidiki interiornya dengan bebas. (dokter)

Gkal

Gcal adalah program untuk menghitung dan mencetak kalender pada baris perintah. Kalender dapat dicetak dalam tampilan 1 bulan, 3 bulan, atau setahun penuh. Selain itu, daftar hari libur abadi dapat dibuat untuk banyak negara, yang dapat dilengkapi dengan daftar tanggal tetap yang dibuat pengguna untuk membuat agenda. Gcal juga dapat menghitung data astronomi, seperti fase bulan, dan mendukung format kalender alternatif: Julian, Gregorian, Islam, Cina, dan lainnya. (dokter)

GCC

GCC adalah Koleksi Kompiler GNU. Ini menyediakan front-end kompiler untuk beberapa bahasa, termasuk C, C++, Objective-C, Fortran, Java, Ada, dan Go. Ini juga mencakup perpustakaan dukungan runtime untuk bahasa-bahasa ini. (dokter)

Gcide

GCIDE adalah kamus gratis berdasarkan kombinasi sumber. Dapat digunakan melalui program GNU Dico atau diakses online di http://gcide.site.ua/ (doc)

Lisp Umum GNU

GCL adalah implementasi dari bahasa Common Lisp. Ia memiliki kemampuan untuk mengkompilasi ke kode objek asli dan memuat modul kode objek asli langsung ke inti cadelnya. Ia juga dilengkapi strategi pengumpulan sampah bertingkat, debugger tingkat sumber dan antarmuka bawaan ke sistem widget Tk. (dokter)

GKompris

GCompris adalah rangkaian perangkat lunak pendidikan untuk anak-anak. Ini menampilkan berbagai kegiatan yang cocok untuk anak-anak berusia 2 hingga 10 tahun. Rangkaian ini mencakup kegiatan untuk memperkenalkan dan mengembangkan keterampilan dalam penggunaan komputer, aljabar, sains, membaca, dan banyak lagi. Ini juga menampilkan beberapa permainan seperti catur dan sudoku. (dokter)

GDB

GDB adalah debugger GNU. Dengannya, Anda dapat memantau apa yang dilakukan suatu program saat dijalankan atau apa yang dilakukannya sesaat sebelum program mogok. Ini memungkinkan Anda menentukan kondisi runtime, menentukan breakpoint, dan mengubah cara program berjalan untuk mencoba memperbaiki bug. Ini dapat digunakan untuk men-debug program yang ditulis dalam C, C++, Ada, Objective-C, Pascal dan banyak lagi. (dokter)

Gdbm

GDBM adalah perpustakaan untuk memanipulasi database hash. Ini digunakan untuk menyimpan pasangan kunci/nilai dalam file dengan cara yang mirip dengan perpustakaan Unix dbm dan menyediakan antarmuka ke format file tradisional. (dokter)

Gengen

GNU Gengen adalah program untuk menghasilkan generator teks, yaitu fungsi yang menghasilkan teks dengan bagian-bagian yang bervariasi. Teks pertama-tama ditentukan oleh pengguna dalam file template yang berisi parameter, kemudian diproses oleh gengen untuk membuat generator teks. Saat runtime, variabel text didefinisikan oleh seluruh program dan diteruskan ke generator teks, yang kemudian menggantikannya ke dalam parameter template dan mengembalikan hasilnya. Gengen dapat digunakan untuk menghasilkan kode C dan C++. (dokter)

Gengetopt

GNU Gengetopt adalah program yang menghasilkan fungsi C/C++ untuk mengurai opsi baris perintah menggunakan fungsi getopt_long yang terdapat di GNU libc, menghilangkan beberapa kebosanan tugas ini untuk program besar yang menerima banyak opsi. Opsi yang diuraikan oleh fungsi yang dihasilkan mungkin dalam format pendek (misalnya, -h) dan panjang (--help), sebagaimana ditentukan oleh standar pengkodean GNU. Selain itu, output dari opsi standar --help dan --version dihasilkan secara otomatis. (dokter)

Dapatkan teks

GNU Gettext adalah paket yang menyediakan kerangka kerja untuk menerjemahkan keluaran tekstual program ke dalam berbagai bahasa. Ini memberi penerjemah sarana untuk membuat katalog pesan, serta mode Emacs untuk bekerja dengannya, dan perpustakaan runtime untuk memuat pesan yang diterjemahkan dari katalog. Hampir semua paket GNU menggunakan Gettext. (dokter)

Gforth

Gforth adalah implementasi bahasa ANSI Forth yang cepat dan portabel. Ini mencakup mode pengeditan untuk Emacs dan juru bahasa yang menampilkan penyelesaian dan riwayat. Lingkungan mesin virtual generik, vmgen, juga disertakan. (dokter)

Buku Nilai

GNU Gradebook adalah aplikasi bagi guru untuk melacak nilai siswa. Ini mendukung beberapa gaya penilaian, termasuk skala numerik Amerika (A, B, C, D, F) dan Eropa. (dokter)

Skrip Hantu GNU

Ghostscript adalah penerjemah untuk bahasa PostScript dan format file PDF. Ini juga mencakup perpustakaan C yang mengimplementasikan kemampuan grafis bahasa PostScript. Ini mendukung berbagai format file keluaran dan printer. (dokter)

HADIAH

Alat Pencari Gambar GNU (GIFT) adalah Sistem Pengambilan Gambar Berbasis Konten. Ia menggunakan konten gambar untuk melakukan kueri pada koleksi, memungkinkan Anda melakukan kueri dengan contoh. Juga, alat untuk mengindeks seluruh pohon direktori juga disertakan. (dokter)

GIMP

GIMP adalah aplikasi untuk tugas manipulasi gambar seperti retouching foto, komposisi, dan authoring. Ini mendukung semua format gambar umum serta format khusus. Ini menampilkan antarmuka yang sangat dapat disesuaikan dan dapat diperluas melalui sistem plugin. (dokter)

Memungut

GNU glean adalah sistem modular untuk belajar mandiri, jauh lebih rumit daripada metode kartu flash standar. Ini sangat dapat disesuaikan, memungkinkan pengguna untuk menentukan subjek minat dan aktivitas untuk mempelajarinya. Untuk saat ini, ia memiliki antarmuka berbasis teks di dalam Guile REPL dan antarmuka web eksperimental. (dokter)

Kilau

GNU gleem adalah perpustakaan untuk Java dan C++ yang menawarkan seperangkat widget 3D yang mendukung interaksi pengguna langsung dengan adegan 3D. Widget ini digunakan untuk menerjemahkan sepanjang garis, menerjemahkan dalam bidang, dan melakukan terjemahan dan rotasi tiga dimensi. Paket ini sedang mencari pengelola. (dokter)

Fasih

Global

GNU GLOBAL adalah sistem penandaan kode sumber yang berfungsi dengan cara yang sama di beragam lingkungan, seperti editor teks, shell, dan browser web yang berbeda. Tag yang dihasilkan berguna untuk berpindah dengan cepat dalam proyek besar yang sangat bersarang. (dokter)

GLPK

GLPK adalah perpustakaan C untuk menyelesaikan pemrograman linier skala besar (LP), pemrograman bilangan bulat campuran (MIP), dan masalah terkait lainnya. Ini mendukung bahasa pemodelan GNU MathProg, bagian dari bahasa AMPL, dan dilengkapi penerjemah untuk bahasa tersebut. Selain perpustakaan C, pemecah LP/MIP yang berdiri sendiri disertakan dalam paket. (dokter)

Server media

GMediaServer adalah server media yang kompatibel dengan UPnP. Ini menyajikan file audio dan video ke pemutar media yang terhubung ke jaringan melalui program baris perintah yang berjalan di latar belakang. (dokter)

GMP

GMP adalah perpustakaan untuk aritmatika presisi arbitrer, yang beroperasi pada bilangan bulat bertanda, bilangan rasional, dan bilangan floating point. Presisinya hanya dibatasi oleh memori yang tersedia. Pustakanya sangat optimal, dengan desain yang fokus pada kecepatan eksekusi. Ini ditujukan untuk digunakan, misalnya, dalam kriptografi dan aljabar komputasi. (dokter)

Menggertakkan

Gnash adalah pemutar film Flash gratis. Mendukung SWF versi v7 dan beberapa v8 dan v9. Gnash dapat dikonfigurasi untuk menggunakan beberapa backend audio atau video yang berbeda, sehingga memastikan kinerja yang baik. (dokter)

AGAS

Agas

GNATS adalah seperangkat alat untuk melacak bug dan masalah perangkat lunak lain yang dilaporkan pengguna. Ini benar-benar terbuka dalam hal bagaimana databasenya dapat ditanyakan, diedit dan dipelihara, menampilkan antarmuka mulai dari baris perintah hingga Emacs, meskipun sarana interaksi utama adalah melalui antarmuka webnya. Ini juga cukup fleksibel untuk mendukung utilitas buatan pengguna. (dokter)

jaring nyamuk

Jaringan Gneural

Gneural Network mengimplementasikan jaringan saraf yang dapat diprogram. Saat ini mendukung jaringan feed-forward yang dapat mempelajari tugas-tugas sederhana seperti penyesuaian kurva. (dokter)

GNOME

GNOME adalah desktop grafis untuk GNU. Ini mencakup berbagai macam aplikasi untuk menjelajahi web, mengedit teks dan gambar, membuat dokumen dan diagram, memutar media, memindai, dan banyak lagi. (dokter)

Panduan referensi GNU C

Ini adalah panduan referensi untuk bahasa pemrograman C, seperti yang diterapkan oleh GNU C Compiler (gcc). Sebagai referensi, ini tidak dimaksudkan sebagai tutorial bahasa. Sebaliknya, ini menguraikan semua konstruksi bahasa. Fungsi perpustakaan tidak disertakan. (dokter)

GNU-pw-mgr

Program ini dirancang untuk memudahkan pembuatan ulang kata sandi yang sulit saat dibutuhkan sekaligus membatasi risiko serangan. Pengguna program ini memasukkan transformasi URL situs web yang ditentukan sendiri dan memperoleh petunjuk kata sandi dan nama pengguna untuk situs web tersebut. (dokter)

GNUbatch

GNUbatch adalah sistem penjadwalan batch tingkat lanjut. Ia mengeksekusi pekerjaan komputasi pada tanggal dan waktu tertentu atau berdasarkan saling ketergantungan. Pekerjaan dapat diselesaikan pada sejumlah prosesor yang digunakan bersama di seluruh jaringan. Kontrol akses penuh terhadap pekerjaan didukung. (dokter)

Bakgamon

Aplikasi backgammon GNU dapat digunakan untuk bermain, menganalisis dan mengajarkan permainan. Ini memiliki mesin evaluasi tingkat lanjut berdasarkan jaringan saraf tiruan yang cocok untuk pemula dan pemain tingkat lanjut. Selain antarmuka baris perintah, ia juga dilengkapi representasi papan permainan 3D yang menarik. (dokter)

GNubiff

GNUbiff adalah program yang memeriksa email dan memberi tahu Anda ketika ada pesan baru yang masuk. Ini mendukung banyak kotak surat yang dapat diakses melalui berbagai metode seperti POP3, IMAP, MH dan file surat. Pemberitahuan grafis disediakan dengan GTK dan integrasi lengkap dengan GNOME didukung. (dokter)

GNUbik

GNUbik adalah permainan puzzle di mana Anda harus memanipulasi sebuah kubus agar setiap permukaannya memiliki warna yang seragam. Gim ini dapat disesuaikan, memungkinkan Anda mengatur ukuran kubus (standarnya adalah 3x3) atau mengubah warna. Anda bahkan dapat menerapkan foto ke wajah, bukan warna. Permainan ini dapat ditulis dengan Guile. (dokter)

GNUcap

GNUcap adalah paket analisis rangkaian. Ia menawarkan simulator rangkaian tujuan umum dan dapat melakukan analisis DC dan transien, analisis fourier, dan analisis AC. Mesin ini dirancang untuk melakukan simulasi mode campuran yang sebenarnya. (dokter)

GnuCash

GnuCash adalah perangkat lunak akuntansi keuangan pribadi dan profesional. Ini dapat digunakan untuk melacak rekening bank, saham, pendapatan dan pengeluaran, berdasarkan praktik akuntansi double-entry. Ini mencakup dukungan untuk impor QIF/OFX/HBCI dan pencocokan transaksi. Ini juga mengotomatiskan beberapa tugas, seperti perhitungan keuangan atau transaksi terjadwal. (dokter)

GnuComm

Subsistem telekomunikasi dari Proyek GNU: proyek payung untuk perangkat lunak GNU Telephony, saat ini Bayonne, SIP Witch, dan perpustakaan pendukungnya (Common C++ / uCommon, ccAudio, ccScript, ccRTP dan ZRTP / ZRTP4J). (dokter)

GnuDOS

GnuDOS adalah serangkaian program yang dirancang untuk membantu pengguna baru sistem GNU agar terbiasa dengan sistem tersebut, khususnya pengguna yang mungkin berasal dari latar belakang DOS. Ini terdiri dari pengelola file, editor teks dan perancang formulir untuk konsol serta perpustakaan inti untuk membangun utilitas serupa. (dokter)

Perusahaan GNU

GNU Enterprise mendukung perencanaan perusahaan. Ini mencakup server aplikasi, perpustakaan pengembangan umum, IDE untuk merancang formulir data, antarmuka formulir, sistem navigator dan menu, dan sistem pelaporan data. (dokter)

GNUgo

GNU Go adalah sebuah program yang memainkan permainan Go, di mana pemain menempatkan batu pada kotak untuk membentuk wilayah atau menangkap batu lainnya. Meskipun dapat dimainkan langsung dari terminal, dirender dalam karakter ASCII, GNU Go juga dapat dimainkan dengan antarmuka grafis pihak ketiga atau bahkan di Emacs. Ini mendukung format penyimpanan game standar (SGF, Smart Game Format) dan format komunikasi antar-proses (GMP, Go Modem Protocol). (dokter)

Alat Interaktif GNU

Alat Interaktif GNU adalah seperangkat alat baris perintah yang ringan dan interaktif. Mereka termasuk pengelola file ortodoks (dua panel) yang dapat diperluas, penampil file ASCII/hex, dan penampil/pembunuh proses. Paket ini juga mencakup beberapa utilitas dan skrip terkait, seperti alat untuk mendekompresi semua jenis file arsip. Semua alat dapat ditingkatkan dan diperluas melalui file konfigurasinya untuk menjalankan perintah baru. (dokter)

GNU melompat

GNUjump adalah permainan sederhana namun membuat ketagihan di mana Anda harus melompat dari satu platform ke platform lain agar tidak terjatuh, sementara platform tersebut turun dengan kecepatan yang semakin tinggi semakin tinggi Anda melaju. Game ini memiliki fitur multipemain, FPS tanpa batas, lantai jatuh mulus, grafik dan suara bertema, dan pemutaran ulang. (dokter)

GNUlib

Gnulib adalah lokasi sentral untuk infrastruktur umum yang dibutuhkan oleh paket GNU. Ini menyediakan beragam fungsi, misalnya portabilitas di banyak sistem, bekerja dengan string Unicode, komputasi kriptografi, dan banyak lagi. Kode ini dimaksudkan untuk dibagikan pada tingkat file sumber, bukan menjadi perpustakaan mandiri yang didistribusikan, dibangun, dan diinstal. Skrip alat gnulib yang disertakan membantu penggunaan kode Gnulib di paket lain. Gnulib juga menyertakan salinan file terkait lisensi dan pemeliharaan, untuk kenyamanan. (dokter)

Mach

GNUmed

GNUmed adalah perangkat lunak Rekam Medis Elektronik, yang mendukung praktik medis tanpa kertas. Beberapa bahasa antarmuka didukung. (dokter)

GNUmerik

GNUmeric adalah aplikasi spreadsheet GNU yang berjalan di bawah GNOME. Ini dapat dioperasikan dengan aplikasi spreadsheet lainnya. Ini memiliki beragam fitur di luar fungsi spreadsheet biasa, seperti dukungan untuk pemecah linier dan non-linier, analisis statistik, dan teknik telekomunikasi. (dokter)

GNUmp3d

GNUMP3d adalah server streaming untuk file audio MP3 dan Ogg Vorbis, film, dan format media lainnya. Ini kecil dan mandiri, menghadirkan antarmuka HTML yang sederhana dan dapat bertema. File audio kemudian dapat diputar di pemutar mana pun yang mendukung streaming melalui HTTP. (dokter)

GNPBB

GNUnited Nations adalah sistem pembangunan untuk menerjemahkan situs web di www.site. Ia bekerja melalui file templat, yang memungkinkan perubahan digabungkan ke dalam terjemahan individual suatu halaman, dari mana HTML akhir dihasilkan. Akibatnya, ini membantu menjaga semua terjemahan halaman tetap mutakhir. (dokter)

GNUnet

GNUnet adalah kerangka kerja untuk jaringan peer-to-peer yang aman. Tujuan tingkat tinggi adalah untuk memberikan landasan yang kuat atas perangkat lunak gratis untuk jaringan terdistribusi global yang memberikan keamanan dan privasi. GNUnet dalam hal ini bertujuan untuk menggantikan tumpukan protokol internet saat ini. Seiring dengan aplikasi untuk publikasi file yang aman, aplikasi ini telah berkembang hingga mencakup semua jenis aplikasi dasar untuk fondasi internet GNU. (dokter)

GnuPG

GNU Privacy Guard adalah implementasi lengkap dari standar OpenPGP. Ini digunakan untuk mengenkripsi dan menandatangani data dan komunikasi. Ini memiliki fitur manajemen kunci yang kuat dan kemampuan untuk mengakses server kunci publik. Ini mencakup beberapa perpustakaan: libassuan (IPC antara komponen GnuPG), libgpg-error (nilai kesalahan GnuPG terpusat), dan libskba (bekerja dengan sertifikat X.509 dan data CMS). (dokter)

GNUpod

GNUpod adalah kumpulan skrip untuk menggunakan iPod dengan GNU/Linux dan sistem operasi lainnya. Ini dapat digunakan untuk mentransfer musik dan cover art, mencari file, menghapus file, mengedit tag, membuat playlist dan banyak lagi. (dokter)

GNUprologjava

GNU Prolog untuk Java merupakan implementasi standar ISO Prolog sebagai perpustakaan Java (gnu.prolog). Jadi, dengan itu Anda dapat menggunakan Prolog dari dalam program Java. (dokter)

Radio

GNU Radio adalah perangkat untuk mengimplementasikan radio perangkat lunak. Blok pemrosesan sinyalnya dapat dikombinasikan dengan perangkat keras RF eksternal berbiaya rendah untuk membuat radio yang ditentukan oleh perangkat lunak. Tanpa perangkat keras, dapat digunakan untuk simulasi. Aplikasi radio sebagian besar ditulis dengan Python, dengan dukungan C++ untuk tugas pemrosesan yang kritis terhadap kinerja. (dokter)

Robot

GNU Robots adalah permainan di mana Anda memprogram robot untuk menjelajahi dunia yang penuh dengan musuh yang dapat melukainya, rintangan, dan makanan untuk dimakan. Tujuan permainan ini adalah untuk tetap hidup dan mengumpulkan hadiah. Program robot dengan mudah dapat ditulis dalam file teks biasa dalam bahasa pemrograman Skema. (dokter)

sekolah GNU

GNUschool adalah aplikasi web untuk siswa, guru dan administrator sekolah. Dengannya, guru dapat membuat tes untuk diikuti siswa secara online, memberikan masukan, dan memberikan nilai. Administrator sekolah dapat menggunakannya untuk memantau kehadiran siswa dan mengedit informasi siswa. (dokter)

GNUshogi

GNU Shogi adalah program yang memainkan permainan Shogi (Catur Jepang). Ini juga mencakup antarmuka grafis ke permainan. Meskipun mirip dengan catur standar, varian ini jauh lebih rumit. (dokter)

suara GNU

GNUsound adalah editor suara multitrack untuk GNOME 1 dan 2. GNUsound dapat membaca dan menulis banyak format file audio seperti WAV, MP3 dan FLAC. Ini dapat bekerja dengan backend audio OSS, ALSA atau JACK. Ini menyediakan banyak modul pemrosesan audio bawaan yang berbeda, seperti fade in/out, penundaan, dan filter. Plugin GLADSPA juga dapat digunakan untuk pemrosesan lebih lanjut. (dokter)

kumpulan GNU

GNUspool adalah sistem spooling cetak tingkat lanjut. Selain fungsionalitas sistem pencetakan standar, sistem ini menyediakan kemampuan pasca-pemrosesan, penanganan jenis formulir, penyelarasan halaman, dan fitur lainnya. Ini berfungsi secara transparan di jaringan, berbagi pekerjaan di host mana pun dengan printer di host lain mana pun. Beberapa antarmuka pengguna yang berbeda tersedia. (dokter)

langkah GNU

GNUstep adalah lingkungan pengembangan berorientasi objek yang berfungsi penuh; sejumlah aplikasi pengguna juga disertakan. Ini mengikuti API Kakao tetapi tidak bergantung pada platform. (dokter)

GnuTLS

GnuTLS adalah perpustakaan komunikasi aman yang mengimplementasikan protokol SSL, TLS dan DTLS. Ini disediakan dalam bentuk perpustakaan C untuk mendukung protokol, serta untuk mengurai dan menulis X.5009, PKCS 12, OpenPGP dan struktur lain yang diperlukan. (dokter)

GNUtrisi

GNUtrition adalah perangkat lunak analisis nutrisi gratis. Dengan itu, seseorang dapat melacak informasi nutrisi makanan. Perangkat lunak ini menggunakan Database Nutrisi Referensi Standar Departemen Pertanian AS sebagai sumber informasi nutrisi makanan. (dokter)

GNUzilla

Goptik

Goptical adalah perpustakaan untuk desain dan simulasi optik di C++. Ini menyediakan kelas model untuk komponen optik, permukaan dan material. Dengan itu, seseorang dapat mensimulasikan pembangunan sistem optik dengan membuat dan menempatkan komponen optik dalam ruang 3D, dan memvisualisasikan cahaya merambat melalui sistem. (dokter)

Buruk

cat

GNU Paint adalah program pengecatan yang sederhana dan mudah digunakan untuk lingkungan GNOME. Ini mendukung menggambar secara bebas serta bentuk dan teks dasar. Ini memiliki fitur potong dan tempel untuk wilayah atau poligon tidak beraturan. (dokter)

baiklah

gperf adalah generator fungsi hash yang sempurna. Untuk daftar string tertentu, ini menghasilkan fungsi hash dan tabel hash dalam kode C atau C++. Fungsi hash yang sempurna berarti tidak ada tabrakan dan pencarian dapat dilakukan dengan perbandingan string tunggal. (dokter)

Gprolog

GNU Prolog adalah kompiler Prolog yang memenuhi standar dengan penyelesaian kendala pada domain terbatas. Ia menerima program batasan Prolog+ dan menghasilkan biner asli terkompilasi yang dapat berfungsi secara mandiri. Ia juga dilengkapi penerjemah interaktif. (dokter)

phpGrabComics

phpGrabComics adalah program yang mengambil dan menyimpan komik strip dari web. Ia memiliki fitur server, yang dapat mengunduh strip dari berbagai sumber, dan port, aplikasi kecil yang mendapatkan daftar komik yang tersedia dari server. (dokter)

Greg

GNU Greg adalah kerangka kerja untuk menguji program dan perpustakaan. Ini menyediakan satu front-end untuk semua pengujian suatu paket serta kerangka kerja sederhana untuk menulis pengujian. Itu dimuat sebagai modul Guile ke dalam perangkat lunak apa pun dengan penerjemah Guile yang tertanam. Ini juga menyediakan modul terkompilasi yang dapat dihubungkan secara dinamis ke Guile untuk memungkinkan pengujian program eksternal. (dokter)

Bagus

grep adalah alat untuk menemukan teks di dalam file. Teks ditemukan dengan mencocokkan pola yang disediakan oleh pengguna dalam satu atau banyak file. Polanya dapat diberikan sebagai ekspresi reguler dasar atau diperluas, atau sebagai string tetap. Secara default, teks yang cocok hanya dicetak ke layar, namun outputnya dapat disesuaikan untuk menyertakan, misalnya, nomor baris. GNU grep menawarkan banyak ekstensi dibandingkan utilitas standar, termasuk, misalnya, pencarian direktori rekursif. (dokter)

Gretl

GNU Gretl adalah paket untuk melakukan perhitungan statistik untuk ekonometrik. Ini terdiri dari klien baris perintah dan klien grafis. Ini menampilkan berbagai penduga seperti kuadrat terkecil dan kemungkinan maksimum; beberapa metode deret waktu seperti ARIMA dan GARCH; variabel terikat terbatas seperti logit, probit dan tobit; dan bahasa skrip yang kuat. Itu dapat menampilkan model sebagai file LaTeX. Ini juga dapat dihubungkan ke GNU R dan GNU Octave untuk analisis data lebih lanjut. (dokter)

Mengerikan

Groff adalah paket penyusunan huruf yang membaca teks biasa dan menghasilkan keluaran yang diformat berdasarkan perintah pemformatan yang terdapat di dalam teks. Biasanya ini adalah formatter halaman dokumentasi manual. (dokter)

GRUB

GRUB adalah bootloader multiboot. Ini digunakan untuk memuat kernel sistem operasi terlebih dahulu dan kemudian mentransfer kendali ke sana. Kernel kemudian melanjutkan untuk memuat sisa sistem operasi. Sebagai bootloader multiboot, GRUB menangani keberadaan beberapa sistem operasi yang diinstal pada komputer yang sama; setelah mem-boot komputer, pengguna disajikan dengan menu untuk memilih salah satu sistem operasi yang diinstal. (dokter)

Gsasl

GNU SASL adalah implementasi kerangka Otentikasi Sederhana dan Lapisan Keamanan. Pada server jaringan seperti server IMAP atau SMTP, SASL digunakan untuk menangani otentikasi klien/server. Paket ini berisi perpustakaan dan alat baris perintah untuk mengakses perpustakaan. (dokter)

Gsegrafix

GSEGrafix adalah aplikasi yang menghasilkan plot grafis berkualitas tinggi untuk sains dan teknik. Plot ditentukan melalui file parameter ASCII sederhana dan file data dan disajikan dalam kanvas GNOME anti-alias. Program ini mendukung plot dua dimensi persegi panjang, histogram, plot sumbu kutub, dan plot tiga dimensi. Plot dapat dicetak atau disimpan ke format gambar BMP, JPEG atau PNG. (dokter)

Perpustakaan Ilmiah GNU

Perpustakaan Ilmiah GNU adalah perpustakaan untuk analisis numerik dalam C dan C++. Ini mencakup berbagai rutinitas matematika, dengan total lebih dari 1000 fungsi. Bidang studi yang dicakup oleh perpustakaan meliputi: persamaan diferensial, aljabar linier, Transformasi Fast Fourier dan bilangan acak. (dokter)

Slip GNU

GNU Slip adalah perpanjangan fungsional dari kemampuan yang disediakan dalam daftar C++ Standard Template Library (STL) dan wadah antrian, meskipun SLIP bukan pengganti wadah STL. Sel data SLIP dapat digunakan dalam komputasi spesifik aplikasi, dan penyempurnaan lainnya. (dokter)

GSRC mendukung instalasi rilis terbaru paket GNU pada sistem yang sudah ada. Versi baru dipasang di tempat terpisah agar tidak mengganggu versi sistem. Tujuannya adalah untuk mempermudah bekerja dengan sumber asli, upstream, GNU, dan mungkin membantu pengembangan dan pengujian. (dokter)

Layanan Keamanan Generik

Layanan Keamanan Generik GNU menyediakan implementasi spesifikasi GSS-API secara gratis. Ini menyediakan antarmuka pemrograman aplikasi umum untuk program untuk mengakses layanan keamanan. Layanan keamanan menghadirkan antarmuka GSS yang umum, yang dengannya aplikasi pemanggil berinteraksi melalui pustaka ini, sehingga pengembang aplikasi tidak perlu mengetahui implementasi keamanan yang mendasarinya. (dokter)

GTick

GTick adalah aplikasi metronom. Mendukung meteran yang berbeda, seperti 2/4, 3/4, 4/4, dll. Ini juga mendukung berbagai kecepatan, dari 10 hingga 1000 BPM. Ini menyediakan antarmuka pengguna berbasis GTK+ dan dapat menggunakan OSS dan ALSA sebagai back-end audio. (dokter)

GTK+

juru ketik

GNU Typist adalah tutor mengetik universal. Ini dapat digunakan untuk belajar dan berlatih mengetik sentuh. Beberapa tutorial disertakan; selain tutorial layout QWERTY standar, ada juga tutorial layout alternatif Dvorak dan Colemak, serta numpad. Tutorial sebagian besar dalam bahasa Inggris, namun beberapa dalam bahasa lain juga disediakan. (dokter)

Tipu muslihat

Guile adalah GNU Ubiquitous Intelligent Language for Extensions, bahasa ekstensi resmi sistem GNU. Ini adalah implementasi bahasa Skema yang dapat dengan mudah ditanamkan ke dalam aplikasi lain untuk menyediakan sarana yang nyaman untuk memperluas fungsionalitas aplikasi tanpa memerlukan penulisan ulang kode sumber. (dokter)

Tipuan-cv

Guile-CV adalah perpustakaan pemrograman fungsional Computer Vision untuk bahasa Skema Guile. Guile-CV didasarkan pada Vigra (Visi dengan Algoritma Generik). Ini terdiri dari pengikatan langsung ke vigra_c (pembungkus C ke subset perpustakaan Vigra), dan API tingkat lebih tinggi yang ditulis dalam Skema Guile. (dokter)

Tipuan-dbi

guile-dbi adalah perpustakaan untuk Guile yang menyediakan antarmuka yang mudah digunakan ke database SQL. Pemrograman basis data dengan guile-dbi bersifat umum karena antarmuka pemrograman yang sama disajikan terlepas dari sistem basis data mana yang digunakan. Saat ini mendukung MySQL, Postgres dan SQLite3. (dokter)

Tipuan-gnome

Termasuk guile-clutter, guile-gnome-gstreamer, guile-gnome-platform (perpustakaan pengembang GNOME), dan guile-gtksourceview. (dokter)

Tipuan-kutukan

guile-ncurses menyediakan pengikatan bahasa Guile untuk perpustakaan ncurses. (dokter)

Tipuan-opengl

Guile-OpenGL adalah perpustakaan untuk Guile yang menyediakan pengikatan ke API grafis OpenGL. (dokter)

Tipuan-SDL

Guile-SDL adalah satu set pengikatan ke Simple DirectMedia Layer (SDL). Dengan mereka, pemrogram Guile dapat memiliki akses mudah ke grafik, suara, dan input perangkat (keyboard, joystick, mouse, dll.). (dokter)

Guix

GNU Guix adalah manajer paket fungsional untuk sistem GNU, dan juga merupakan distribusinya. Ini termasuk gambar mesin virtual. Selain fitur manajemen paket biasa, ia juga mendukung peningkatan dan pengembalian transaksional, profil per pengguna, dan banyak lagi. Hal ini didasarkan pada manajer paket Nix. (dokter)

Mendeguk

GURGLE menghasilkan daftar laporan database dari catatan dan informasi lapangan dari sebuah file. Ia menggunakan laporan untuk menghasilkan keluaran berformat (La)TeX, teks ASCII biasa, troff, PostScript, HTML, XML, atau format keluaran berbasis ASCII lainnya. Ini dapat digunakan untuk menghasilkan teks berukuran besar di mana sebagian kecil teks diganti dengan informasi dari database. GURGLE mendukung database GNUSQL, PostgreSQL, MySQL dan CA-Ingres. (dokter)

GNU GV adalah antarmuka pengguna grafis untuk penerjemah Ghostscript. Dengan itu, seseorang dapat melihat dan menavigasi dokumen PostScript dan PDF di X Windows. (dokter)

GVPE

GNU Virtual Private Ethernet menciptakan jaringan virtual dengan banyak node menggunakan berbagai protokol transport. Ia bekerja dengan membuat terowongan host-to-host terenkripsi antara beberapa titik akhir. (dokter)

G.W.L.

GWL adalah bahasa alur kerja yang memperluas bahasa deklaratif Guix untuk manajemen paket guna mengotomatisasi eksekusi program. Selain itu, GWL dapat menggunakan Grid Engine untuk membongkar eksekusi program. (doc)

Pesan Gx

GNU gxmessage adalah program yang memunculkan jendela dialog, yang menampilkan pesan kepada pengguna dan menunggu tindakan mereka. Program kemudian keluar dengan kode keluar yang sesuai dengan responsnya. (dokter)

Gzip

GNU Gzip menyediakan utilitas kompresi dan dekompresi data; ekstensi umumnya adalah .gz . Berbeda dengan format zip, format ini mengompresi satu file; akibatnya, ini sering digunakan bersama dengan tar , menghasilkan .tar.gz atau .tgz , dll. (dokter)

HaliFAX

HaliFAX mendukung pengiriman dan tampilan faks, termasuk pembungkus perintah lpr. Paket ini sedang mencari pengelola. (dokter)

Kesehatan

GNU Health adalah sistem perangkat lunak medis gratis, termasuk dukungan untuk rekam medis elektronik (EMR), sistem informasi rumah sakit (HIS), dan sistem informasi kesehatan. Ini mendukung antarmuka Spanyol dan Inggris. Hal ini telah diadopsi oleh Universitas PBB untuk implementasi dan pelatihan, serta beberapa rumah sakit dan kementerian kesehatan di seluruh dunia. (dokter)

Halo

GNU Hello mencetak pesan Halo dunia! dan kemudian keluar. Ini berfungsi sebagai contoh praktik pengkodean GNU standar. Dengan demikian, ini mendukung argumen baris perintah, berbagai bahasa, dan sebagainya. (dokter)

Bantuan2man

GNU help2man adalah program yang mengubah keluaran argumen baris perintah standar --help dan --version menjadi halaman manual secara otomatis. (dokter)

Hp2xx

GNU hp2xx mengkonversi grafik vektor yang ditentukan dalam bahasa plotter HP-GL ke dalam berbagai format grafis, baik berbasis vektor maupun raster, termasuk EPS, PCX, IMG, dan format yang dimaksudkan untuk digunakan dalam dokumen TeX. (dokter)

httptunnel

GNU httptunnel membuat jalur data dua arah yang disalurkan dalam permintaan HTTP. Hal ini memungkinkan pengguna di balik firewall untuk mengirim dan menerima data yang seharusnya diblokir, seperti koneksi telnet atau ssh. (dokter)

Sakit

Hurd adalah kernel untuk sistem GNU, pengganti dan augmentasi dari kernel Unix standar. Ini adalah kumpulan protokol untuk interaksi sistem (sistem file, jaringan, otentikasi), dan server yang mengimplementasikannya. Subproyeknya meliputi Mach, mikrokernel yang menjadi dasar Hurd, yang menyediakan mekanisme dasar komunikasi antar-proses, dan MIG, generator antarmuka untuk Mach. (dokter)

Hiperbola

Hiperbola adalah sistem informasi dan hiperteks yang dapat diprogram untuk GNU Emacs. Hal ini memungkinkan hypertext untuk tertanam dalam dokumen, pesan email dan artikel berita. Ini memungkinkan kontrol berbasis mouse atas informasi yang ditampilkan. (dokter)

kucing es

IceCat adalah versi GNU dari browser Firefox. Ini sepenuhnya merupakan perangkat lunak gratis, yang tidak merekomendasikan plugin dan add-on yang tidak bebas. Ia juga dilengkapi fitur perlindungan privasi bawaan. (dokter)

Idutil

Paket GNU idutils menyertakan alat untuk membuat indeks token tekstual yang digunakan dalam daftar nama file dan kemudian menanyakan indeks tersebut. Dengan demikian, ini memungkinkan pengguna untuk, misalnya, menemukan semua kegunaan fungsi tertentu dalam proyek pemrograman besar. Selain menangani token tekstual, ia juga dapat menangani konstanta numerik dan konten string karakter. (dokter)

Menyalakan

Ignuit adalah alat untuk membantu menghafal informasi baru berdasarkan sistem kartu flash Leitner. Dalam sistem ini, kartu-kartu baru dipelajari dengan frekuensi yang semakin berkurang seiring bertambahnya usia, kecuali jika Anda mengalami kesulitan dalam menghafalnya, setelah itu Anda akan semakin sering menemukannya. Kartu dapat menyertakan audio, gambar, dan rumus matematika yang disematkan, dan koleksi kartu dapat diekspor ke beberapa format. (dokter)

Indentasi

Indentasi adalah program yang membuat kode sumber lebih mudah dibaca dengan memformat ulang dalam gaya yang konsisten. Itu dapat mengubah gaya ke salah satu dari beberapa gaya berbeda seperti GNU, BSD atau K&R. Ia memiliki fleksibilitas untuk menangani sintaksis yang tidak lengkap atau salah format. Indentasi GNU menawarkan beberapa ekstensi dibandingkan utilitas standar. (dokter)

Inetutils

Inetutils adalah kumpulan program jaringan umum, seperti klien dan server ftp, klien dan server telnet, serta klien dan server rsh. (dokter)

Pembaca firasat

GNU InklingReader adalah paket untuk mendukung perangkat Wacom Inkling, termasuk konversi data ke berbagai format gratis, fitur pengeditan dasar, dan plugin Inkscape. (dokter)

Font Intl

GNU intlfonts berisi font X11 gratis dalam format BDF dan TrueType. Mereka terutama mencakup sejumlah besar karakter dari sistem penulisan yang berbeda: Eropa, Asia, Cina, Jepang, Korea, Etiopia, dan lainnya. (dokter)

JACAL

GNU JACAL adalah program matematika simbolik interaktif berdasarkan Skema. Ini memanipulasi dan menyederhanakan berbagai ekspresi matematika seperti persamaan, skalar, vektor, dan matriks. (dokter)

Jami

Jami adalah program komunikasi universal yang menghormati kebebasan dan privasi penggunanya. Jami menggunakan tabel hash terdistribusi untuk menjalin komunikasi. Hal ini menghindari penyimpanan registrasi pengguna yang terpusat dan penyimpanan data pribadi. (dokter)

Getopt Java

java-getopt menyediakan port Java dari fungsi getopt GNU dari glibc. Ini mendukung penguraian argumen baris perintah panjang dan pendek dengan cara yang fleksibel, yang sepenuhnya kompatibel dengan versi C. (dokter)

Jel

GNU JEL adalah perpustakaan yang memungkinkan suatu program menerima ekspresi yang ditentukan pengguna untuk dimasukkan dan dievaluasi pada saat runtime. Faktanya, ekspresi dikompilasi oleh JEL ke bytecode Java untuk menghindari penalti kinerja karena menambahkan ekspresi yang diinterpretasikan ke bahasa yang sudah diinterpretasikan. (dokter)

Roda Pelatihan Java

Roda Pelatihan GNU Java memberikan kurva pembelajaran yang tidak terlalu curam untuk mempelajari program di Java. Sistem ini didukung oleh praprosesor yang menambahkan fitur ke Java seperti makro superfor dan sistem penyertaan file seperti praprosesor bahasa C. (doc)

Jwhois

GNU jwhois adalah klien untuk protokol WHOIS, yang memungkinkan Anda menanyakan pemilik nama domain. Program ini menggunakan file konfigurasi yang dapat diperluas untuk menentukan server yang paling sesuai untuk melakukan kueri dan, setelah berhasil, menampilkan hasilnya kepada pengguna, jika tidak, program dapat mengalihkan kueri ke server lain secara opsional. (dokter)

Kawa

GNU Kawa merupakan implementasi dari bahasa pemrograman Skema yang dibangun di atas platform Java. Oleh karena itu, ia terintegrasi dengan mudah dengan Java dan mendapat manfaat darinya dengan memiliki kompiler, pengetikan statis opsional, dan sebagainya. Kawa juga berfungsi sebagai framework untuk mengimplementasikan bahasa pemrograman lain pada platform Java. Termasuk dalam Kawa adalah qexo, implementasi parsial XQuery di Java. (dokter)

Kaki

GNU Leg adalah sekumpulan perpustakaan untuk mesin game dan pengembangan game. Selain perpustakaan, ini juga mencakup editor sumber daya yang dirancang untuk membuat pembuatan game lebih mudah. Paket ini dirancang generik dan modular, mendukung berbagai gaya permainan. (dokter)

Lebih sedikit

GNU less adalah pager, sebuah program yang memungkinkan Anda melihat teks dalam jumlah besar dalam potongan berukuran halaman. Tidak seperti pager tradisional, pager ini memungkinkan pergerakan mundur dan maju melalui dokumen. Itu juga tidak harus membaca seluruh file masukan sebelum memulai, jadi ini dimulai lebih cepat daripada kebanyakan editor teks. (dokter)

Perpustakaan GNU C

Perpustakaan GNU C adalah perpustakaan C standar sistem GNU. Ini mendefinisikan panggilan sistem dan fungsi dasar lainnya yang diperlukan untuk menulis program dalam bahasa C. Ini menangani fungsionalitas tingkat rendah yang berkomunikasi dengan kernel, seperti manajemen proses dan file, serta fungsionalitas tingkat tinggi seperti manipulasi string atau penanganan argumen baris perintah. (dokter)

libcdio

Perpustakaan Input dan Kontrol GNU Compact Disc (libcdio) adalah perpustakaan untuk akses file CD-ROM dan image CD. Hal ini memungkinkan pengembang untuk menambahkan akses CD ke aplikasi tanpa harus khawatir tentang properti CD-ROM yang bergantung pada OS dan perangkat atau detail spesifik format gambar CD. Ini mencakup pycdio, antarmuka Python ke libcdio, dan libcdio-paranoia, perpustakaan yang menyediakan ekstraksi audio bebas jitter dan bebas kesalahan dari CD. (dokter)

Libdbh

libdbh menyediakan tabel hash berbasis disk, menyediakan pencarian cepat pasangan nilai kunci. Meskipun penggunaannya secara umum serupa dengan (G)DBM, ia memiliki desain berbeda yang mendukung penggunaan tingkat lanjut dan tidak lazim. (dokter)

Kebebasan Eiffel

Proyek Liberty Eiffel adalah GNU Eiffel Compiler. Eiffel adalah bahasa pemrograman berorientasi objek tingkat lanjut yang menekankan desain dan konstruksi perangkat lunak berkualitas tinggi dan dapat digunakan kembali. Liberty Eiffel adalah kompiler Eiffel yang lengkap, kecil dan cepat, termasuk kompiler Eiffel ke C, alat dokumentasi, printer cantik, debugger, dan berbagai alat lainnya. Ini juga mencakup perpustakaan kelas yang besar serta seperangkat wrapper/binding yang komprehensif untuk perpustakaan Perangkat Lunak Bebas yang tersebar luas. (dokter)

Ekstraktor Libex

GNU libextractor adalah perpustakaan untuk mengekstraksi metadata dari file. Ini mendukung sejumlah besar format file, termasuk file audio, file dokumen, dan file arsip. Setiap format file diimplementasikan sebagai plugin, sehingga format baru dapat ditambahkan dengan mudah. Paket ini juga berisi alat baris perintah untuk mengekstrak metadata dari file dan mencetak hasilnya. (dokter)

Libgcrypt

Libgcrypt adalah perpustakaan kriptografi tujuan umum. Ini menyediakan blok bangunan kriptografi standar seperti cipher simetris, algoritma hash, algoritma kunci publik, fungsi integer besar dan pembangkitan angka acak. (dokter)

Libikonv

libiconv menyediakan implementasi fungsi iconv untuk sistem yang tidak memilikinya. iconv digunakan untuk mengkonversi antar pengkodean karakter dalam suatu program. Ini mendukung berbagai macam pengkodean yang berbeda. (dokter)

Libidn

libidn adalah perpustakaan yang mengimplementasikan spesifikasi Stringprep, Punycode dan IDNA. Ini digunakan untuk menyandikan dan mendekode nama domain yang diinternasionalkan. Ini mencakup perpustakaan asli C, C# dan Java. (dokter)

matematika

GNU libmatheval adalah perpustakaan untuk mengurai dan mengevaluasi ekspresi simbolik yang dimasukkan oleh pengguna sebagai teks. Itu dapat dimuat dari C dan Fortran. Penerjemahnya fleksibel, mendukung sejumlah variabel dengan nama arbitrer, konstanta desimal dan simbolik, operator dasar uner dan biner, serta fungsi matematika dasar. Itu juga dapat menghitung turunan simbolik dan ekspresi keluaran ke string. (dokter)

Libmicrohttpd

GNU libmicrohttpd adalah server HTTP kecil yang dapat disematkan yang diimplementasikan sebagai perpustakaan C. Ini memudahkan untuk menjalankan server HTTP sebagai bagian dari aplikasi lain. Perpustakaan ini sepenuhnya sesuai dengan HTTP 1.1. Itu dapat mendengarkan di banyak port, mendukung empat model threading berbeda, dan mendukung IPv6. Ia juga dilengkapi fitur keamanan seperti otentikasi dasar dan intisari serta dukungan untuk SSL3 dan TLS. (dokter)

perpustakaan

LibreJS adalah add-on untuk GNU Icecat dan browser berbasis Firefox lainnya. Ini mendeteksi kode JavaScript yang tidak sepele dan tidak bebas dimuat tanpa persetujuan Anda saat Anda menjelajahi web. Kode JavaScript yang gratis atau sepele diperbolehkan untuk dimuat. (dokter)

Libsigsegv

GNU libsigsegv adalah perpustakaan untuk menangani kesalahan halaman, yang terjadi ketika sebuah program mencoba mengakses wilayah memori yang tidak tersedia, dalam mode pengguna. Dengan menangkap dan menangani kesalahan halaman, program dapat mengimplementasikan memori virtual yang dapat di-page, penangan stack overflow, dan sebagainya. (dokter)

Libtasn1

GNU libtasn1 adalah perpustakaan yang mengimplementasikan notasi ASN.1. Ini digunakan untuk mentransmisikan pengkodean objek data yang netral mesin dalam jaringan komputer, memungkinkan validasi data formal sesuai dengan beberapa spesifikasi. (dokter)

alat perpustakaan

GNU Libtool membantu dalam pembuatan dan penggunaan perpustakaan bersama, dengan menghadirkan satu antarmuka portabel yang konsisten yang menyembunyikan kompleksitas biasa dalam bekerja dengan perpustakaan bersama di seluruh platform. (dokter)

Libunistring

GNU libunistring adalah perpustakaan yang menyediakan fungsi untuk memanipulasi string Unicode dan untuk memanipulasi string C sesuai dengan standar Unicode. (dokter)

Libxmi

GNU libxmi adalah perpustakaan untuk melakukan rasterisasi grafik vektor 2D untuk C dan C++. Ini mendukung menggambar primitif 2D ke dalam matriks piksel yang disediakan pengguna. Ini juga mendukung spesifikasi gaya garis canggih seperti pola putus-putus multi-warna. Mengisi dan memberi tekstur pada poligon juga didukung. (dokter)

Petir

GNU Lightning adalah perpustakaan yang menghasilkan kode bahasa assembly pada saat run-time. Oleh karena itu, ini berguna dalam membuat kompiler Just-In-Time. Ini mengabstraksi CPU target dengan memaparkan set instruksi RISC standar ke klien. (dokter)

kolam teratai

GNU LilyPond adalah penata huruf musik, yang menghasilkan lembaran musik berkualitas tinggi. Musik dimasukkan dalam file teks yang berisi urutan kontrol yang diinterpretasikan oleh LilyPond untuk menghasilkan dokumen akhir. Itu dapat diperpanjang dengan Guile. (dokter)

Lim

GNU LIMS adalah sistem manajemen informasi laboratorium. Ini digunakan untuk mengelola laboratorium ilmiah di bidang apa pun. Ini terdiri dari serangkaian modul untuk kerangka manajemen perusahaan Tryton, sehingga fleksibel terhadap kebutuhan spesifik laboratorium. Misalnya, sistem ini mencakup modul untuk manajemen sampel, integrasi peralatan laboratorium, akuntansi dan manajemen stok. (dokter)

Linux gratis

GNU Linux-Libre adalah varian kernel Linux yang gratis (seperti dalam kebebasan). Ini telah dimodifikasi untuk menghapus semua gumpalan biner tidak bebas. (dokter)

Perang Cair 6

GNU Liquid War 6 adalah game aksi unik dan serba cepat. Setiap pemain mengontrol segumpal cairan dengan tujuan menaklukkan seluruh peta. Ini memiliki 13 level secara default dan lebih dari 100 level lainnya dengan paket bonus; level baru dapat dengan mudah dibuat menggunakan file gambar sederhana. (dokter)

daftar putar

Lrzsz

GNU lrzsz adalah paket komunikasi yang mendukung protokol transfer file XMODEM, YMODEM dan ZMODEM. (dokter)

Lsh

GNU lsh adalah implementasi gratis dari protokol SSH versi 2. Ini digunakan untuk membuat jalur komunikasi aman antara dua komputer, menyediakan akses shell ke sistem server dari klien. Ini menyediakan daemon server dan aplikasi klien, serta alat untuk memanipulasi file kunci. (dokter)

GNU M4 merupakan implementasi bahasa makro M4, yang memiliki beberapa ekstensi dibandingkan implementasi lainnya, beberapa di antaranya diperlukan oleh GNU Autoconf. Ini digunakan sebagai pemroses makro, yang berarti ia memproses teks, memperluas makro saat ia menemukannya. Ia juga memiliki beberapa fungsi bawaan, misalnya untuk menjalankan perintah shell atau melakukan aritmatika. (dokter)

Pengubah MAC

GNU MAC Changer adalah utilitas untuk melihat dan mengubah alamat MAC perangkat jaringan. Alamat baru dapat ditetapkan secara eksplisit atau acak. Mereka dapat mencakup alamat MAC dari vendor perangkat keras yang sama atau lainnya, atau, lebih umum, alamat MAC dari kategori perangkat keras yang sama. (dokter)

Pengantar pos

GNU Mailman adalah perangkat lunak untuk mengelola diskusi email dan milis. Baik pengguna maupun administrator umumnya melakukan tindakan mereka dalam antarmuka web, meskipun antarmuka email dan baris perintah juga disediakan. Sistem ini memiliki fitur pengarsipan bawaan, pemrosesan pentalan otomatis, pemfilteran konten, pengiriman intisari, dan banyak lagi. (dokter)

utilitas email

GNU Mailutils adalah kumpulan program untuk mengelola, melihat dan memproses surat elektronik. Ini berisi utilitas dan daemon server dan semuanya beroperasi dengan cara yang tidak bergantung pada protokol. Pustaka yang mendasarinya juga tersedia, menyederhanakan penambahan kemampuan email ke perangkat lunak baru. (dokter)

Membuat

Make adalah program yang digunakan untuk mengontrol produksi file executable atau file lain dari file sumbernya. Prosesnya dikendalikan dari Makefile, di mana pengembang menentukan bagaimana setiap file dihasilkan dari sumbernya. Ini memiliki resolusi ketergantungan yang kuat dan kemampuan untuk menentukan kapan file harus dibuat ulang setelah sumbernya berubah. GNU menawarkan banyak ekstensi yang kuat dibandingkan utilitas standar. (dokter)

MARST

GNU MARST adalah penerjemah Algol-ke-C. Paket ini terdiri dari penerjemah itu sendiri, perpustakaan yang berisi prosedur Algol 60 yang diperlukan, dan konverter yang mengubah program Algol 60 yang ada dari representasi lain ke representasi MARST. (dokter)

Maverik

GNU MAVERIK adalah perangkat pengembangan yang mendukung lingkungan virtual 3D dan interaksi dengan lingkungan tersebut. Itu berada di atas mesin rendering tingkat rendah yang menggunakan OpenGL atau Mesa, dan menyediakan mekanisme untuk merender berbagai jenis objek, untuk mengelola lingkungan dan untuk memberikan dukungan untuk interaksi 3D. (dokter)

Komandan Tengah Malam

GNU Midnight Commander adalah pengelola file baris perintah yang ditata dalam format dua panel umum. Selain tugas manajemen file standar seperti menyalin dan memindahkan, Midnight Commander juga mendukung melihat konten file paket RPM dan arsip lainnya serta mengelola file di komputer lain melalui FTP atau FISH. Ini juga mencakup editor teks yang kuat untuk membuka file teks. (dokter)

Mcron

GNU Mcron adalah pengganti lengkap untuk Vixie cron. Ini digunakan untuk menjalankan tugas sesuai jadwal, seperti setiap jam atau setiap hari Senin. Mcron ditulis dalam Guile, sehingga konfigurasinya dapat ditulis dalam Skema; format cron asli juga didukung. Paket ini sedang mencari pengelola. (dokter)

MCSim

GNU MCSim adalah paket untuk melakukan simulasi. Ini mendukung model simulasi statistik atau deterministik melalui simulasi stokastik Monte Carlo atau simulasi dinamis berbasis ODE. Ia juga dapat melakukan inferensi Bayesian melalui simulasi Markov Chain Monte Carlo. (dokter)

Kit Pengembangan CAMPURAN

GNU MDK adalah Mix Development Kit, emulasi komputer pedagogi MIX dan bahasa rakitannya MIXAL. MIX memiliki CPU virtual dengan fitur standar seperti register, sel memori, saklar overflow, flag perbandingan, perangkat input-output, dan satu set instruksi biner. Paket ini mencakup kompiler, mesin virtual, GUI untuk mesin virtual, dan banyak lagi. (dokter)

Mediagoblin

GNU MediaGoblin adalah platform penerbitan media gratis. Ini berjalan secara federal, membebaskan pengguna dari layanan web terpusat. Ini mendukung gambar, video dan audio. (dokter)

Meleleh

GNU MELTING menghitung entalpi, entropi, dan suhu leleh transisi heliks-koil dupleks asam nukleat. (dokter)

MemPool

Perpustakaan MemPool adalah perpustakaan alokasi memori yang berdiri sendiri. Ini adalah perpustakaan pengalokasi blok yang menggunakan kumpulan memori berukuran tetap untuk mengalokasikan blok memori berukuran variabel, dan mengekspor fungsi yang mirip dengan malloc, realloc, dan gratis. Hal ini dimaksudkan untuk mensimulasikan target memori rendah pada GNU/Linux dan sistem lainnya, atau untuk sepenuhnya menggantikan manajemen memori sistem. (dokter)

saya

GNU Mes bertujuan untuk membantu membuat bootstrapping sumber lengkap untuk sistem GNU/Linux seperti GuixSD. Ini menampilkan penerjemah Skema hosting mandiri yang ditulis dalam C sederhana, dan kompiler C berbasis Nyacc yang ditulis dalam Skema yang kompatibel dengan GNU Guile. Pustaka Mes C mendukung bootstrapping gcc. (dokter)

Metahtml

GNU MetaHTML adalah bahasa pemrograman sisi server yang dirancang untuk World Wide Web. Ini memiliki sintaks yang mirip dengan HTML dan Lisp. Ini menyediakan perpustakaan fungsi yang besar, termasuk dukungan untuk soket, pembuatan gambar dan koneksi ke program lain. (dokter)

Mifluz

GNU mifluz adalah pustaka C++ untuk menyimpan indeks teks lengkap yang dibalik. Ini menyimpan kemunculan kata-kata dalam sekumpulan teks sedemikian rupa sehingga nantinya dapat dicari. Setelah mencari sebuah kata, indeks mengembalikan daftar dokumen yang berisi kata tersebut. (dokter)

Mig

File lain-lain

GNU Miscfiles adalah kumpulan file data umum. Hal ini mencakup, misalnya, singkatan negara, nama dan ibu kota; singkatan dan nama mata uang; indeks Praktik Terbaik Saat Ini; peta kumpulan karakter ASCII; daftar kode bandara tiga huruf; dan daftar kata bahasa Inggris. (dokter)

Skema MIT/GNU

Skema GNU/MIT merupakan implementasi dari bahasa pemrograman Skema. Ini menyediakan juru bahasa, kompiler dan debugger. Ia juga dilengkapi editor mirip Emacs yang terintegrasi dan perpustakaan runtime yang besar. (dokter)

Moe

GNU Moe adalah editor teks yang kuat namun mudah digunakan. Ia bekerja dengan cara yang sederhana, dan menampilkan serangkaian pengikatan kunci intuitif yang menetapkan tingkat keparahan pada setiap kunci; misalnya, kombinasi tombol dengan tombol Alt untuk perintah yang tidak berbahaya seperti pergerakan kursor, sedangkan kombinasi dengan tombol Kontrol untuk perintah yang akan mengubah teks. Moe memiliki fitur banyak jendela, undo/redo tak terbatas, panjang baris tak terbatas, pencarian dan penggantian global, dan banyak lagi. (dokter)

Motti

GNU Motti adalah permainan strategi multipemain sederhana yang dimainkan di terminal. Tujuan permainan ini adalah menaklukkan ibu kota musuh dengan menduduki dan mengepung wilayah. (dokter)

MPc

GNU MPC adalah perpustakaan C untuk melakukan aritmatika pada bilangan kompleks. Ini mendukung presisi tinggi dan membulatkan hasil dengan benar. (dokter)

Mpfr

GNU MPFR adalah pustaka C untuk melakukan komputasi titik mengambang dengan presisi ganda dengan pembulatan yang benar. (dokter)

Mpria

GNU MPRIA adalah perpustakaan C untuk melakukan perhitungan aritmatika rasional dengan presisi tinggi. Itu dibangun di perpustakaan GMP. (dokter)

alat

GNU Mtools adalah seperangkat utilitas untuk mengakses disk MS-DOS dari sistem GNU atau Unix. Ini mendukung nama file yang panjang dan berbagai format disk. Ini juga mendukung beberapa fitur khusus FAT seperti label volume dan atribut file khusus FAT. (dokter)

Nana

GNU Nana adalah kerangka kerja untuk menambahkan pemeriksaan pernyataan, pencatatan, dan pengukuran kinerja ke program C dan C++. Operasi dapat diimplementasikan secara langsung di C atau dengan menghasilkan perintah debugger. Fitur pemeriksaan dan pencatatan dapat diaktifkan atau dinonaktifkan saat kompilasi atau runtime. (dokter)

nano

GNU nano adalah editor teks kecil dan sederhana untuk digunakan di terminal. Selain pengeditan dasar, ini mendukung: undo/redo, penyorotan sintaksis, pemeriksaan ejaan, pembenaran, indentasi otomatis, pencocokan braket, pencarian dan penggantian interaktif (dengan ekspresi reguler), dan pengeditan banyak file. (dokter)

Nano-archimedes

nano-archimedes adalah paket gratis untuk simulasi sistem kuantum. Hal ini didasarkan pada persamaan Wigner, formulasi mekanika kuantum dalam ruang fase yang secara matematis setara dengan persamaan Schroedinger. nano-archimedes mengimplementasikan metode Wigner Monte Carlo. Kode ini dapat dengan mudah diperluas ke teori fungsional kepadatan (DFT) dan simulasi ab-initio yang bergantung pada waktu. (dokter)

kutukan

GNU Ncurses adalah perpustakaan yang menyediakan kemampuan untuk menulis teks ke terminal secara terminal-independen. Ini mendukung bantalan dan warna serta beberapa sorotan dan karakter bentuk. Biasanya digunakan untuk mengimplementasikan antarmuka pengguna untuk aplikasi baris perintah. Perpustakaan ncursesw yang menyertainya memberikan dukungan karakter yang luas. (dokter)

Jelatang

GNU Nettle adalah perpustakaan kriptografi tingkat rendah. Ini dirancang agar mudah disesuaikan dengan hampir semua konteks. Ini dapat dengan mudah disertakan dalam perangkat kriptografi untuk bahasa berorientasi objek atau dalam aplikasi itu sendiri. (dokter)

Okrad

GNU Ocrad adalah program pengenalan karakter optik berdasarkan metode ekstraksi fitur. Itu dapat membaca gambar dalam format PBM, PGM atau PPM dan menghasilkan teks dalam format 8-bit atau UTF-8. (dokter)

Oktaf

GNU Octave adalah bahasa interpretasi tingkat tinggi yang dikhususkan untuk komputasi numerik. Ini dapat digunakan untuk aplikasi linier dan non-linier dan memberikan dukungan besar untuk memvisualisasikan hasil. Pekerjaan dapat dilakukan baik pada baris perintah interaktif maupun melalui file skrip. (dokter)

Oleo

GNU Oleo adalah program spreadsheet. Ia menawarkan antarmuka terminal dan antarmuka pengguna grafis berbasis LessTif. Ini menampilkan keybindings mirip Emacs yang familier. Ini mendukung banyak fitur spreadsheet standar seperti makro dan fungsi. (dokter)

OrgaDok

siteDoc adalah sistem untuk dengan mudah memelihara kumpulan dokumen antar komputer. Dokumen disinkronkan dengan rsync atau serempak; tidak diperlukan database atau server HTTP. (dokter)

OSIP

GNU oSIP merupakan implementasi dari protokol SIP. Ini digunakan untuk menyediakan antarmuka bagi pengembang perangkat lunak multimedia dan telekomunikasi untuk memulai dan mengontrol sesi SIP. (dokter)

Panorama

GNU Panorama adalah kerangka kerja untuk menghasilkan grafik 3D. Itu dapat melakukan berbagai efek, seperti keburaman fokus, sumber cahaya sewenang-wenang, pemetaan benjolan, dan beberapa efek pencahayaan. (dokter)

Paralel

GNU Parallel adalah alat untuk menjalankan pekerjaan shell secara paralel menggunakan satu atau lebih komputer. Pekerjaan dapat terdiri dari perintah tunggal atau skrip dan dijalankan pada daftar file, host, pengguna, atau item lainnya. (dokter)

Berpisah

GNU Parted adalah paket untuk membuat dan memanipulasi tabel partisi disk. Ini mencakup perpustakaan dan utilitas baris perintah. (dokter)

Tambalan

Patch adalah program yang menerapkan perubahan pada file berdasarkan perbedaan yang ditetapkan oleh program diff. Perubahan dapat diterapkan pada satu atau lebih file tergantung pada konten file diff. Ia menerima beberapa format berbeda yang berbeda. Ini juga dapat digunakan untuk mengembalikan perbedaan yang diterapkan sebelumnya. (dokter)

Paxutils

GNU paxutils adalah rangkaian utilitas arsip. Ini berisi versi pengarsip cpio, tar dan pax. (dokter)

PCB

GNU PCB adalah alat interaktif untuk mengedit tata letak papan sirkuit cetak. Ini menampilkan implementasi sarang tikus, impor skema/netlist, dan pemeriksaan aturan desain. Ini juga mencakup autorouter dan pengoptimal jejak; dan dapat menghasilkan gambar fotorealistik dan ulasan desain. (dokter)

Pem

GNU Pem adalah alat sederhana untuk melacak pendapatan dan pengeluaran pribadi. Ini beroperasi dari baris perintah dan menyimpan datanya dalam format teks dasar di direktori home Anda. Itu dapat dengan mudah mencetak laporan pengeluaran Anda untuk berbagai pengeluaran melalui fitur pencarian dasar. (dokter)

Pexec

GNU pexec adalah program untuk menjalankan perintah atau skrip shell secara paralel pada satu atau banyak komputer. Saat berfungsi, parameter eksekusi seperti variabel lingkungan atau input, output, dan kesalahan standar dapat divariasikan. (dokter)

pai

GNU pie adalah program yang mengawasi pemanggilan dan eksekusi program lain. Ia membaca daftar program yang akan dimulai dari file konfigurasinya, mengeksekusinya, dan kemudian memonitor statusnya, mengeksekusinya kembali jika diperlukan. (dokter)

Plotutil

GNU Plotutils adalah paket untuk membuat plot dan bekerja dengan grafik 2D. Ini mencakup perpustakaan, libplot , untuk C dan C++ untuk mengekspor grafik vektor 2D dalam banyak format file. Ini juga memiliki dukungan untuk animasi grafik vektor 2D. Paket ini juga berisi program baris perintah untuk merencanakan data ilmiah. (dokter)

Mencolek

GNU poke adalah editor data biner yang interaktif dan dapat diperluas. Tidak terbatas pada pengeditan entitas dasar seperti bit dan byte, ia menyediakan bahasa pemrograman interaktif dan prosedural lengkap yang dirancang untuk mendeskripsikan struktur data dan mengoperasikannya. (dokter)

Pisau proxy

Proxyknife GNU adalah alat untuk memvalidasi proxy gratis dari balik firewall. Proses validasi sepenuhnya dapat disesuaikan untuk memenuhi kebutuhan Anda. (dokter)

PSPP

GNU PSPP adalah program analisis statistik. Dapat melakukan statistik deskriptif, uji T, regresi linier, dan uji non-parametrik. Ini menampilkan antarmuka grafis dan input baris perintah. PSPP dirancang untuk berinteroperasi dengan Gnumeric, LibreOffice dan OpenOffice. Data dapat diimpor dari spreadsheet, file teks, dan sumber basis data dan dapat dikeluarkan dalam bentuk teks, PostScript, PDF, atau HTML. (dokter)

Psikosintesis

GNU Psychosynth adalah soft-synth modular yang interaktif. Ini mengemulasi permukaan 3D tempat modul ditempatkan dan dimanipulasi, menghasilkan dan mengubah musik. Psychosynth terdiri dari perpustakaan C++, antarmuka 3D dan antarmuka baris perintah. (dokter)

Pth

GNU Pth adalah perpustakaan portabel yang menyediakan penjadwalan non-preemptif berbasis prioritas untuk beberapa thread eksekusi. Setiap thread memiliki penghitung program, run-time stack, signal mask, dan variabel errno sendiri. Rangkaian acara dijadwalkan dengan cara yang kooperatif, bukan dengan cara preemptif standar, sehingga rangkaian acara tersebut dikelola berdasarkan prioritas dan kejadian. Namun, Pth juga dilengkapi emulasi thread POSIX.1c (pthreads) untuk kompatibilitas ke belakang. (dokter)

Konfigurasi Py

GNU pyconfigure menyediakan file templat untuk dengan mudah mengimplementasikan skrip konfigurasi yang sesuai standar dan Makefile untuk paket berbasis Python. Ini dirancang untuk bekerja bersama skrip pengaturan Python yang ada, sehingga mudah untuk diintegrasikan ke dalam proyek yang sudah ada. Tersedia makro Autoconf yang kuat dan fleksibel, memungkinkan Anda dengan mudah melakukan penyesuaian pada prosedur instalasi berdasarkan kemampuan komputer target. (dokter)

Qexo

R adalah bahasa dan lingkungan untuk komputasi statistik dan grafik. Ini menyediakan berbagai teknik statistik, seperti pemodelan linier dan nonlinier, uji statistik klasik, analisis deret waktu, klasifikasi dan pengelompokan. Hal ini juga memberikan dukungan yang kuat untuk menghasilkan plot data berkualitas publikasi. Tersedia sejumlah besar paket pihak ketiga, yang sangat meningkatkan jangkauan dan cakupannya. (dokter)

Radius

Radius adalah server untuk otentikasi dan akuntansi pengguna jarak jauh. Hal ini umumnya berguna untuk jaringan yang memerlukan otentikasi terpusat dan layanan akuntansi untuk stasiun kerjanya. Otentikasi dapat dilakukan dengan berbagai cara, seperti melalui /etc/passwd atau kredensial yang disimpan dalam database SQL. (dokter)

RCS

RCS adalah Sistem Kontrol Revisi asli. Ia bekerja berdasarkan file demi file, berbeda dengan sistem kontrol versi berikutnya seperti CVS, Subversion, dan Git. Hal ini membuatnya cocok untuk file administrasi sistem, misalnya, yang seringkali bersifat lokal pada satu mesin. (dokter)

garis baca

Pustaka readline GNU memungkinkan pengguna mengedit baris perintah saat diketik. Itu dapat menyimpan riwayat pencarian dari perintah yang dimasukkan sebelumnya, memungkinkan Anda dengan mudah mengingat, mengedit, dan memasukkan kembali perintah sebelumnya. Ia memiliki fitur keybinding seperti Emacs dan vi, membuat penggunaannya nyaman bagi siapa saja. (dokter)

Rekutil

GNU Recutils adalah seperangkat alat dan perpustakaan untuk membuat dan memanipulasi database berbasis teks yang dapat diedit manusia. Meskipun berbasis teks, database yang dibuat dengan Recutils membawa semua fitur yang diharapkan seperti bidang unik, kunci utama, stempel waktu, dan banyak lagi. Banyak jenis bidang berbeda yang didukung, begitu pula enkripsi. (dokter)

Refteks

GNU RefTex adalah paket untuk mengimplementasikan label, referensi, kutipan dan indeks dalam dokumen LaTeX. Ia bekerja dengan menggabungkan empat makro LaTeX: label, ref, cite dan indeks. Ini mengotomatiskan tugas-tugas umum yang biasanya diperlukan saat menggunakan makro ini. (dokter)

Kendali jarak jauh

GNU Remotecontrol adalah aplikasi web untuk mengelola termostat HVAC berkemampuan IP dan perangkat otomatisasi bangunan lainnya. Aplikasi dapat membaca data dari dan menulis data ke beberapa perangkat tersebut. (dokter)

log busuk

GNU Rot[t]log adalah program untuk mengelola file log. Ini digunakan untuk memutar file log secara otomatis ketika mereka telah mencapai ukuran tertentu atau sesuai dengan jadwal tertentu. Ini juga dapat digunakan untuk mengompres dan mengarsipkan log tersebut secara otomatis. Rot[t]log akan mengirimkan laporan aktivitasnya ke administrator sistem. (dokter)

Rpge

GNU Role Playing Game Engine menyediakan mesin untuk membuat game role-playing grafis dua dimensi, yang menyediakan, misalnya, grid sprite-tiling, rendering sprite, dan penanganan event. (dokter)

Bergegas

GNU Rush adalah shell pengguna terbatas, untuk sistem di mana pengguna hanya diberikan fungsionalitas atau sumber daya terbatas. Administrator menetapkan hak pengguna melalui file konfigurasi yang dapat digunakan untuk membatasi, misalnya, perintah yang dapat dijalankan, waktu CPU, atau penggunaan memori virtual. (dokter)

Sather

GNU Sather adalah bahasa pemrograman berorientasi objek yang mirip dengan Eiffel. Ini dirancang agar sederhana, efisien, aman, dan tidak eksklusif. Ini menampilkan pengumpulan sampah, pengetikan kuat yang diperiksa secara statis, pewarisan berganda, kelas berparameter, dan banyak lagi. Paket ini terdiri dari kompiler, perpustakaan kelas, spesifikasi bahasa dan manual pemrograman, dan browser untuk menampilkan sumber dan grafik terarah pewarisan kelas. (dokter)

SCM

GNU SCM adalah implementasi Skema. Implementasi ini mencakup Hobbit, kompiler Skema-ke-C, yang dapat menghasilkan file C yang binernya dapat dihubungkan secara dinamis atau statis dengan SCM yang dapat dieksekusi. (dokter)

Layar

Layar GNU adalah pengelola jendela terminal yang menggandakan terminal tunggal di antara beberapa proses. Masing-masing terminal virtual menyediakan fitur seperti buffer gulir kembali dan mekanisme salin dan tempel. Layar kemudian mengelola terminal virtual yang berbeda, memungkinkan Anda dengan mudah beralih di antara terminal tersebut, melepaskannya dari sesi saat ini, atau bahkan membagi tampilan untuk menampilkan dua terminal sekaligus. (dokter)

Sed

Sed adalah editor aliran teks non-interaktif. Ia menerima masukan teks dari file atau dari masukan standar dan kemudian menerapkan serangkaian perintah pengeditan teks ke aliran dan mencetak keluarannya ke keluaran standar. Ini sering digunakan untuk mengganti pola teks dalam aliran. Implementasi GNU menawarkan beberapa ekstensi dibandingkan utilitas standar. (dokter)

Melayani

GNU Serveez adalah kerangka server yang menyediakan rutinitas yang diperlukan untuk mengimplementasikan server berbasis IP dengan mudah dalam aplikasi Anda. Ini mendemonstrasikan aspek pemrograman jaringan secara portabel, sehingga memudahkan untuk menyederhanakan proses penambahan server ke aplikasi Anda atau untuk mempelajari cara kerja layanan jaringan. Beberapa server contoh sudah disediakan, seperti server HTTP dan server IRC. (dokter)

Sharutil

GNU sharutils adalah paket untuk membuat dan memanipulasi arsip shell yang dapat dengan mudah dikirim melalui email. Arsip shell adalah file yang dapat diproses oleh shell tipe Bourne untuk membongkar kumpulan file asli. Paket ini sebagian besar ditujukan untuk kompatibilitas dan kepentingan historis. (dokter)

Gembala

GNU Shepherd adalah daemon pengelola daemon, artinya ia mengawasi eksekusi layanan sistem, menggantikan fungsi serupa yang ditemukan pada sistem init pada umumnya. Ini menyediakan penanganan ketergantungan melalui antarmuka yang mudah digunakan dan didasarkan pada GNU Guile. (dokter)

Shishi

GNU Shishi adalah implementasi gratis dari sistem keamanan jaringan Kerberos 5. Ini digunakan untuk memungkinkan node jaringan yang tidak aman berkomunikasi dengan cara yang aman melalui otentikasi timbal balik klien-server melalui tiket. (dokter)

Hmm

GNU SHMM adalah pengelola memori bersama. Itu dapat membaca atau menulis ke memori bersama. Ini juga mendukung perintah lain seperti mengunci atau membuka blok memori bersama yang diidentifikasi berdasarkan kunci dan ukuran. (dokter)

bangku

GNU shtool adalah alat shell serbaguna. Ia dapat menjalankan fungsi dari banyak perintah berbeda, untuk menyediakan satu alat untuk didistribusikan dengan distribusi sumber untuk memastikan portabilitas skrip shell. Misalnya, shtool dapat melakukan tugas perintah umum install , mkdir atau echo pada sistem yang tidak memiliki perintah tersebut. (dokter)

penyihir sip

GNU SIP Witch adalah server Voice-over-IP peer-to-peer yang menggunakan protokol SIP. Panggilan dapat dilakukan dari balik firewall NAT dan tanpa memerlukan penyedia layanan. Desain peer-to-peernya memastikan bahwa tidak ada titik pusat untuk penyadapan atau penangkapan media sehingga dapat digunakan untuk membangun sistem telepon aman yang beroperasi melalui internet publik. (dokter)

SLIP

GNU SLIB adalah perpustakaan umum portabel untuk bahasa pemrograman Skema. Ini mendukung berbagai macam implementasi Skema yang berbeda, menawarkan kerangka kerja untuk menggunakan paket prosedur dan sintaksis Skema. (dokter)

Obrolan ringan

GNU Smalltalk adalah implementasi gratis dari bahasa Smalltalk. Ini mengimplementasikan standar ANSI untuk bahasa tersebut dan juga mencakup kelas tambahan seperti untuk jaringan dan pemrograman GUI. (dokter)

Solfege

GNU Solfege adalah program untuk berlatih pelatihan telinga musik. Dengan itu, Anda dapat melatih pengenalan Anda terhadap berbagai interval dan akord musik. Ini menampilkan ikhtisar statistik sehingga Anda dapat memantau kemajuan Anda di beberapa sesi. Solfege juga dirancang agar dapat diperluas sehingga Anda dapat dengan mudah menulis pelajaran Anda sendiri. (dokter)

Bagan Luar Angkasa

GNU SpaceChart memungkinkan Anda melihat bagaimana bintang-bintang didistribusikan dalam ruang tiga dimensi. Hal ini memungkinkan Anda, misalnya, menentukan jarak antar bintang, melihatnya dari sudut pandang mana pun, atau memfilter pandangan Anda berdasarkan kelas spektral dan luminositas. (dokter)

Speex

GNU Speex adalah codec kompresi audio bebas paten yang dirancang khusus untuk ucapan. Ini diadaptasi dengan baik untuk aplikasi internet, seperti VoIP. Ini fitur kompresi band yang berbeda dalam bitstream yang sama, pengkodean stereo intensitas, dan deteksi aktivitas suara. (dokter)

Mengeja

Ejaan adalah program pemeriksa ejaan baris perintah. Ia membaca input teks dan mencetak setiap kata yang salah eja pada satu barisnya sendiri. Ini diimplementasikan sebagai pembungkus untuk aspell atau ispell GNU. (dokter)

guru privat

GNU Sqltutor adalah tutorial SQL interaktif berbasis web. Ini menampilkan banyak tutorial yang tersedia dalam berbagai bahasa. Tutorial menyajikan serangkaian pertanyaan dalam dialog dan, ketika selesai, mereka menampilkan evaluasi akhir termasuk jawaban yang benar untuk solusi yang salah. (dokter)

Src-highlite

Sorotan sumber GNU membaca file kode sumber dan menghasilkan file output di mana kata kunci disorot dalam warna berbeda untuk menunjukkan peran sintaksisnya. Ini mendukung lebih dari 150 bahasa berbeda dan dapat menghasilkan 8 format berbeda, termasuk HTML, LaTeX, dan ODF. Itu juga dapat menghasilkan rangkaian pelepasan warna ANSI, sehingga kode sumber yang disorot dapat dilihat di terminal. (dokter)

Widget Lembar Sebaran

Widget Gtk+ yang menyediakan array 2 dimensi untuk melihat dan memanipulasi data tabular serupa dengan yang disediakan oleh program spreadsheet populer. Desainnya mengikuti paradigma model-view-controller dan O(1) dalam ruang dan waktu, memberikan pengoperasian yang sangat cepat dan efisien bahkan pada data yang sangat besar. Fitur seperti potong dan tempel, seret dan lepas, dll disertakan. (dokter)

Menyimpan

GNU Stow adalah pengelola symlink. Ini menghasilkan symlink ke direktori data dan membuatnya tampak digabungkan ke dalam direktori yang sama. Biasanya digunakan untuk mengelola paket perangkat lunak yang diinstal dari sumber, dengan membiarkan Anda menginstalnya secara terpisah di direktori berbeda dan kemudian membuat symlink ke file di direktori umum seperti /usr/local. (dokter)

Tunggul

GNU STUMP adalah program robomoderator untuk newsgroup dan milis USENET, yang menampilkan moderasi berbasis web. Ini mendukung moderasi grup melalui beberapa moderator manusia. Itu juga dapat secara otomatis menolak pesan yang tidak sesuai tanpa campur tangan manusia. Ini mencakup antarmuka web. (dokter)

Pilihan super

GNU Superopt adalah generator urutan fungsi untuk superoptimasi. Ini menggunakan pendekatan generate-and-test yang lengkap untuk menemukan urutan instruksi terpendek untuk fungsi tertentu. (dokter)

orang Swedia

Swbis adalah sistem administrasi perangkat lunak yang ditentukan oleh POSIX. Ini menampilkan manajemen paket perangkat lunak yang transparan jaringan untuk administrator sistem. Misalnya, seluruh direktori sistem file dapat disalin dari host ke host di seluruh jaringan secara transparan. Paket ini juga dilengkapi metode pembuatan tarball tingkat lanjut dan mekanisme pemeriksaan integritas. (dokter)

Filter pembicaraan

Filter Bicara GNU adalah program yang mengubah teks bahasa Inggris menjadi dialek stereotip atau lucu. Filter disediakan sebagai perpustakaan C, sehingga dapat dengan mudah diintegrasikan ke dalam program lain. (dokter)

Ter

Tar menyediakan kemampuan untuk membuat arsip tar, serta kemampuan untuk mengekstrak, memperbarui, atau membuat daftar file dalam arsip yang ada. Berguna untuk menggabungkan banyak file menjadi satu file yang lebih besar, dengan tetap menjaga struktur direktori dan informasi file seperti izin dan tanggal pembuatan/modifikasi. GNU tar menawarkan banyak ekstensi dibandingkan utilitas standar. (dokter)

Batas waktu

Termcap GNU adalah perpustakaan dan database yang digunakan untuk mengaktifkan penggunaan terminal tampilan secara terminal-independen. Basis data menjelaskan kemampuan banyak terminal tampilan yang berbeda. Perpustakaan kemudian dapat mengadaptasi instruksi umum yang diberikan oleh suatu program dengan kemampuan spesifik terminal tampilan seperti yang ditemukan dalam database. (dokter)

Termutil

Paket GNU Termutils berisi dua program, tput dan tab. tput digunakan dalam skrip shell untuk memanipulasi tampilan terminal, misalnya dengan menghapusnya atau memindahkan kursor ke titik tertentu, memusatkan teks atau menggarisbawahi teks. tabs digunakan untuk menentukan dan mengatur tab stop perangkat keras pada terminal yang mendukungnya. (dokter)

Iniq

GNU Teseq adalah program yang menganalisis file yang berisi urutan kontrol. Ini mengubah rangkaian yang ditemuinya menjadi deskripsi yang dapat dibaca manusia tentang tindakan apa yang dilakukan rangkaian tersebut. Ia juga dapat menerjemahkan keluarannya kembali ke rangkaian kontrol yang dapat dibaca mesin. (dokter)

TeX untuk yang Tidak Sabar

TeX for the Impatient adalah buku ~350 halaman tentang TeX, TeX biasa dan Eplain, yang ditulis oleh Paul Abrahams, Kathryn Hargreaves dan Karl Berry. (dokter)

info teks

Texinfo adalah format dokumentasi resmi proyek GNU. Ini menggunakan satu file sumber menggunakan perintah eksplisit untuk menghasilkan dokumen akhir dalam beberapa format output yang didukung, seperti HTML atau PDF. Paket ini mencakup alat yang diperlukan untuk menghasilkan dokumen Info dari sumbernya dan pembaca Info baris perintah. Penekanan bahasanya adalah pada ekspresi konten secara semantik, menghindari perintah markup fisik. (dok) dok

Paket vc-dwim berisi dua alat, vc-dwim dan vc-chlog . vc-dwim adalah alat yang menyederhanakan tugas memelihara ChangeLog dan menggunakan kontrol versi pada saat yang sama, misalnya dengan mencetak pengingat ketika perubahan file telah dijelaskan di ChangeLog tetapi file belum ditambahkan ke VC. vc-chlog memindai file yang diubah dan menghasilkan entri ChangeLog yang sesuai standar berdasarkan perubahan yang terdeteksi. (dokter)

Gambar VDI

GNU VDImager adalah serangkaian program untuk bekerja dengan Video CD dan Super Video CD. Ini dapat digunakan untuk membuat, membongkar, dan menganalisis disk. Mendukung kontrol pemutaran penuh, item pemutaran segmen, pengisian otomatis aliran MPEG dengan cepat, dan ekstraksi Video CD ke dalam file. (dokter)

iman

V.E.R.A. (Entitas Virtual Akronim yang Relevan) adalah daftar akronim komputasi yang didistribusikan sebagai dokumen info. (dokter)

Vmgen

GNU WB adalah paket database array asosiatif berbasis disk, terurut, untuk C, Skema, Java dan C#. Daripada diimplementasikan melalui hashing, WB menggunakan B-tree, yang dioptimalkan untuk menggunakan jumlah operasi disk minimum. (dok dok)

papan x

GNU XBoard adalah papan grafis untuk semua jenis catur, termasuk catur internasional, xiangqi (catur Tiongkok), shogi (catur Jepang) dan Makruk. Beberapa varian yang kurang dikenal juga didukung. Ini menyajikan antarmuka grafis yang sepenuhnya interaktif dan dapat memuat dan menyimpan game dalam Notasi Game Portabel. (dokter)

Xlogmaster

GNU Xlogmaster adalah program dengan antarmuka pengguna grafis yang memungkinkan Anda memantau log sistem dengan cara yang nyaman. Log dapat ditampilkan dengan filter untuk menyorot atau menyembunyikan garis. Program ini juga dapat digunakan untuk secara otomatis mengambil tindakan atas peristiwa yang ditentukan pengguna. (dokter)

Xnee

GNU Xnee adalah program yang dapat merekam, memutar ulang, dan mendistribusikan tindakan pengguna di X11. Ini dapat digunakan untuk mengotomatiskan interaksi pengguna untuk tujuan pengujian atau demonstrasi. (dokter)

Xorriso

GNU Xorriso adalah alat untuk menyalin file ke dan dari ISO 9660 Rock Ridge, alias. Sistem File Compact Disc, sistem file dan memungkinkan manipulasi berdasarkan sesi. Ini fitur formatter dan burner untuk CD, DVD dan BD. Itu dapat beroperasi pada image ISO yang sudah ada atau dapat membuat yang baru. xorriso kemudian dapat digunakan untuk menyalin file langsung ke dalam atau keluar dari file ISO. (dokter)

Zile

GNU Zile adalah tiruan Emacs yang ringan. Penggunaannya mirip dengan konfigurasi default Emacs, tetapi ia membawa serangkaian fitur yang jauh lebih ringan. (

Lisensi Publik Umum GNU (Lisensi Publik Umum GNU atau Perjanjian Lisensi Terbuka GNU) mungkin adalah lisensi perangkat lunak bebas paling populer, yang dibuat oleh Proyek GNU pada tahun 1988. Disebut juga dengan singkatnya GNU GPL, atau bahkan hanya GPL, jika konteksnya jelas, bahwa kita berbicara secara khusus tentang lisensi ini (ada beberapa lisensi lain yang mengandung kata “lisensi publik umum” di judulnya). Versi kedua dari lisensi ini dirilis pada tahun 1991, versi ketiga, setelah bertahun-tahun bekerja dan diskusi panjang, pada tahun 2007. Lisensi Publik Umum Kecil GNU (LGPL) adalah versi GPL yang dilemahkan untuk perpustakaan perangkat lunak tertentu. Lisensi Publik Umum GNU Affero adalah versi GPL yang diperkuat untuk program yang dimaksudkan untuk diakses melalui jaringan.

Tujuan GNU GPL adalah untuk memberikan pengguna hak untuk menyalin, memodifikasi dan mendistribusikan (termasuk secara komersial) program (yang secara default dilarang oleh undang-undang hak cipta), dan juga untuk memastikan bahwa pengguna semua program turunan menerima hak di atas. . Prinsip “pewarisan” hak disebut “copyleft” (transliterasi dari bahasa Inggris “copyleft”) dan ditemukan oleh Richard Stallman. Berbeda dengan GPL, lisensi perangkat lunak berpemilik sangat jarang memberikan hak tersebut kepada pengguna dan biasanya cenderung membatasinya, misalnya dengan melarang pemulihan kode sumber.

GPL memberi penerima program komputer hak, atau "kebebasan" berikut:

* kebebasan menjalankan program untuk tujuan apapun;
* kebebasan untuk mempelajari cara kerja program dan memodifikasinya (prasyarat untuk ini adalah akses ke kode sumber);
* kebebasan untuk mendistribusikan salinan;
* kebebasan untuk meningkatkan program, dan merilis perbaikan kepada publik (prasyarat untuk ini adalah akses ke kode sumber).
sumber

OS GNU

GNU adalah akronim rekursif dari bahasa Inggris. GNU's Not UNIX - "GNU is not Unix!") adalah sistem operasi mirip UNIX gratis yang dikembangkan oleh Proyek GNU.

Pengembangan sistem GNU dimulai pada tanggal 27 September 1983, ketika Richard Stallman memposting pengumuman tentang proyek tersebut di net.unix-wizards dan net.usoft newsgroup. Pada tanggal 5 Januari 1984, Stallman mengundurkan diri dari MIT untuk mengabdikan waktunya untuk menulis sistem operasi bebas, dan juga untuk memastikan bahwa lembaga tersebut tidak dapat mengklaim hak apa pun atas kode sumber sistem. Program GNU pertama adalah editor teks Emacs.

Saat ini sistem GNU/Linux yang lebih dikenal dengan Linux sudah cukup tersebar luas (terutama di pasar server) dan cukup lengkap. Ini terdiri dari sejumlah besar program proyek GNU (terutama utilitas sistem dan rantai alat GNU), kernel Linux - bagian dari sistem yang bertanggung jawab untuk menjalankan program lain, termasuk driver perangkat, dll. - dan banyak program gratis lainnya.

Materi terbaru di bagian:

Garis sejajar, tanda dan syarat garis sejajar
Garis sejajar, tanda dan syarat garis sejajar

Tanda-tanda kesejajaran dua garis Teorema 1. Jika, ketika dua garis berpotongan dengan garis transversal: sudut-sudut yang bersilangan sama besar, atau sudut-sudut yang bersesuaian...

Apa antonim dan contoh pengayaan bahasa Rusia dengan mereka Kamus kata-kata dengan arti yang berlawanan.
Apa antonim dan contoh pengayaan bahasa Rusia dengan mereka Kamus kata-kata dengan arti yang berlawanan.

Tatyana Astakhova Pembentukan kamus antonim pada anak usia prasekolah senior dengan OHP PEMBENTUKAN KAMUS ANTONIM PADA ANAK TUA...

Mempersiapkan Ujian Negara Terpadu Kimia
Mempersiapkan Ujian Negara Terpadu Kimia

Reduksi asam klorida dari asam karboksilat Asam karboksilat direduksi dengan susah payah (lebih sulit dari aldehida). Jauh lebih mudah...