GNU/Linux >> Belajar Linux >  >> Linux

Apa yang membuat distribusi GNU dan apakah ada distribusi Linux yang bukan GNU?

Free Software Foundation berpendapat bahwa sebagian besar distribusi Linux sebenarnya adalah sistem GNU, yang kebetulan menggunakan kernel Linux. Mereka mendasarkan klaim ini pada fakta bahwa GNU adalah proyek lama untuk mengembangkan sistem operasi bebas sebelum Linux hadir, dan bahwa kernel hanyalah bagian terakhir yang hilang. Mereka benar karena hampir semua distribusi desktop dan server berbasis Linux menggunakan setidaknya beberapa komponen GNU, mungkin yang paling penting adalah GNU C Library (glibc), GNU Core Utilities (coreutils) dan Bash shell. Selain itu, pengembangan kernel Linux secara inheren terkait dengan GCC, karena penggunaan ekstensi GCC.

Beberapa sistem tersemat, mungkin terutama Google Android, tidak menggunakan komponen atau pustaka GNU apa pun. Di Android, misalnya, Perpustakaan GNU C digantikan oleh Perpustakaan Bionic C berbasis BSD milik Google. FSF setuju bahwa tidak tepat merujuk ke sistem seperti "sistem GNU" atau "GNU/Linux", tetapi di sisi lain mereka juga tidak ingin ini disebut hanya sebagai sistem "Linux". Setidaknya kita dapat menarik kesimpulan bahwa tampaknya ada konsensus tentang fakta bahwa menggunakan alat GNU untuk membangun kernel, tidak membuat sistem menjadi "sistem GNU".


Sejarah terminologi GNU/Linux kembali ke awal 1990-an.

Pada tahun 1991 Linus Torvalds memulai proyek kernel Linux dari kamar tidurnya di Helsinki. Tidak lama kemudian kernel Linux mulai mendapatkan daya tarik yang besar, dibantu oleh kebangkitan Internet.

Proyek GNU Richard Stallman pada saat itu masih berencana untuk menggunakan mikrokernel HURD sebagai inti dari sistem operasi GNU yang direncanakan. Namun, ketika distribusi Linux (sistem operasi mirip-Unix gratis berdasarkan kernel Linux) mulai terbentuk di sekitar proyek kernel Linux baru, Stallman menjadi tertarik. Ketika proyek Debian dimulai pada tahun 1993, di bawah kepemimpinan Ian Murdock, FSF memberikan dukungan finansial kepada proyek muda tersebut. Namun, pengembang Debian dengan cepat berpisah dengan Stallman dan FSF, sebagian karena masalah teknis. Misalnya, satu masalah adalah Stallman ingin mempertahankan simbol debug dalam program, sementara Debian ingin menghapusnya.

Setelah Debian dan FSF berpisah, Stallman meminta agar Debian menyebut dirinya sebagai GNU/Linux. Permintaan itu diajukan kepada Bruce Perens, karena Murdock telah menyerahkan kepemimpinan kepadanya. Karena organisasi ini telah berpisah dengan baik, dan berbagi (dan berbagi) tujuan bersama, para pengembang Debian melakukan apa yang dia minta. Tentu saja benar bahwa Stallman telah mempromosikan nama tersebut secara mandiri, tetapi kerja sama dari sistem operasi berbasis Linux yang sebenarnya dalam menyebut diri mereka sendiri telah sangat penting dalam mempromosikan penggunaan nama tersebut.

Alasan seperti yang diberikan oleh Stallman termasuk bahwa (a) inti dari sistem selain dari kernel Linux sebagian besar adalah alat GNU, (b) kernel Linux dalam arti tertentu merupakan puncak/penyelesaian proyek GNU, yang telah mencoba untuk mendapatkan kernel yang berfungsi untuk beberapa waktu, sehingga harus menggunakan nama ini sebagai cara untuk mengakui dan mengingatkan orang akan cita-cita proyek GNU. Alasan (a) cenderung lebih sering disebutkan, meskipun itu tidak sepenuhnya benar, dan bahkan kurang benar sekarang, Meskipun jelas bagian penting dari sistem operasi berbasis Linux bergantung pada alat GNU mis. bash, gcc, binutils, gdb, libc dll., dalam beberapa kasus ini dapat diganti dengan alat lain. Jadi, argumen semacam itu setidaknya dapat diperdebatkan, dan memang telah banyak diperdebatkan.

Sejauh yang saya tahu hanya Debian dan (beberapa) turunannya (mengikuti jejak induknya) menyebut diri mereka sebagai GNU/Linux. Namun, apa yang disebut distribusi Linux lainnya seperti Fedora, Gentoo, dll. Secara substansi tidak berbeda dengan Debian - sebagian besar adalah perangkat lunak yang sama. Jadi seseorang memiliki alasan yang sama bagusnya untuk menyebutnya sebagai GNU/Linux.

Tidak banyak sistem yang menggunakan kernel Linux tanpa userland GNU, karena keduanya sebagian besar dikembangkan bersama dan saling terkait dalam berbagai cara. (Misalnya kernel Linux ditulis dalam extended (GNU) C dari gcc, dan tidak akan dibangun dengan kompiler C standar.) Seperti yang dikatakan Thomas, contoh yang jelas adalah Android, tetapi karena telah banyak dicabangkan oleh Google patut dipertanyakan apakah benar menyebut kernel Android sebagai Linux lagi, meskipun ada pembicaraan tentang penggabungan/rekonsiliasi di masa mendatang.

Di samping catatan, sangat disayangkan untuk dicatat bahwa Stallman dan FSF tampaknya mendorong terminologi GNU/Linux agak keras. Sebagai contoh, Jonathan Corbet menulis dalam sebuah komentar LWN bahwa FSF menolak untuk berbicara dengannya kecuali dia menggunakan istilah GNU/Linux. Jon, selain sebagai pendiri LWN, juga merupakan pengembang kernel senior dan dihormati. Secara keseluruhan, komentar tersebut berbunyi:

Hanya untuk memperjelas hal ini:kami berhenti meminta komentar FSF bertahun-tahun yang lalu karena FSF menolak untuk berbicara dengan kami tanpa janji sebelumnya dari kami tentang apa yang akan kami katakan dan istilah mana yang akan kami gunakan. Kami tidak mau membuat janji seperti itu. Jika kebijakan FSF tentang hal-hal seperti itu telah berubah, kami dengan senang hati akan mengetahuinya.

Ini jelas merujuk pada desakan pada terminologi GNU/Linux antara lain.

Sejarah di atas dibahas secara mendetail di Bab 6 ("Boot Then Root") dari "Rebel Code" oleh Glyn Moody.


Sistem operasi adalah kombinasi dari kernel dan userland. Pada dasarnya, kernel mengelola perangkat keras sementara userland menyediakan antarmuka yang komprehensif kepada pengguna.

Dalam distribusi GNU/Linux yang umum, Linux menyediakan kernel sementara proyek GNU menyediakan alat pengguna. GNU dimulai jauh sebelum Linux, dan menyediakan sejumlah besar utilitas untuk membangun sistem operasi lengkap.

Namun, mereka kehilangan kernel. Meskipun mereka memiliki kernel Hurd, terlalu lama untuk siap. Dan kemudian datanglah Linux dengan bantuan antusiasme yang besar di sekitarnya, ia telah berkembang lebih cepat daripada Hurd.

Anda sekarang memiliki userland dan kernel dari dua proyek yang berbeda. Dan karena masing-masing sangat penting untuk memiliki sistem operasi, mengapa tidak menamai asosiasi GNU/Linux agar setiap proyek mendapatkan bagian kreditnya?

Anda memiliki userland lain seperti utils BSD atau BusyBox. Namun mereka lebih atau kurang lengkap dibandingkan dengan utilitas GNU dan beberapa perangkat lunak hanya akan bekerja dengan userland GNU. Misalnya, sebagian besar sistem operasi BSD menggunakan GCC sebagai kompiler sementara LLVM akan segera mengubah situasi ini.

Dan sebagai sistem operasi universal, Anda dapat menjalankan Debian dengan kernel FreeBSD dan userland GNU.


Linux
  1. Dalam bahasa apa Windows, Mac OS X dan Linux ditulis?

  2. Karakter apa yang dilarang dalam nama direktori Windows dan Linux?

  3. Apa penjelasan paling sederhana untuk fakta bahwa aplikasi Windows tidak kompatibel dengan Linux?

  1. Linux – Apa Memori Tinggi dan Memori Rendah Di Linux?

  2. Apa Perbedaan Utama Antara Bsd Dan Gnu/linux Userland?

  3. Linux – Apa yang Membuat Program Osx Tidak Dapat Dijalankan Di Linux?

  1. Apakah ada distribusi Linux modern yang masih mendukung /dev/audio?

  2. Apa itu memori tinggi dan memori rendah di Linux?

  3. Apa perbedaan antara Unix, Linux, BSD dan GNU?