Sejarah Linux: dari proyek 1991 hingga infrastruktur modern

Sejarah Linux bermula pada 1991 ketika Linus Torvalds, mahasiswa Universitas Helsinki di Finlandia, membuat kernel untuk komputer pribadi. Namun, lingkungan Linux yang kita gunakan saat ini bukanlah sistem operasi yang diselesaikan oleh satu orang; itu adalah hasil dari beberapa dekade penggabungan kernel Linux, alat GNU, distribusi, dan komunitas pengembang di seluruh dunia. Artikel berbahasa Inggris tentang kernel, distribusi dan sumber terbuka menjelaskan perbedaan istilah tersebut.

Hal pertama yang perlu diketahui: Linux adalah sebuah kernel

Apa perbedaan antara kernel Linux dan seluruh sistem operasi?

Secara ketat, Linux adalah kernel, inti dari sistem operasi. Kernel mengelola sumber daya perangkat keras seperti prosesor, memori, dan penyimpanan, serta mengoordinasikan di antaranya agar aplikasi dapat menggunakan perangkat keras dengan aman.

Distribusi yang sebenarnya diinstal pengguna, seperti Ubuntu, Debian, dan Rocky Linux, adalah lingkungan pengguna lengkap yang menggabungkan kernel Linux dengan shell, alat sistem, pustaka, pengelola paket, dan aplikasi. Untuk alasan ini, seluruh sistem biasanya disebut sebagai 'Linux,' tetapi ketika menekankan komponen historis, nama 'GNU/Linux' juga digunakan. Penjelasan proyek GNU dalam dokumentasi GCC tentang GNU dan Linux menjelaskan secara rinci hubungan antara kedua istilah tersebut.

Sebenarnya apa yang dilakukan oleh kernel?

Kernel terletak di antara program biasa yang dijalankan pengguna dan perangkat keras. Tugas-tugas seperti browser web membaca file atau program server mengirim paket jaringan pada akhirnya ditangani melalui panggilan sistem yang disediakan oleh kernel. Untuk memahami sejarah Linux, ada baiknya terlebih dahulu membedakan empat peran berikut.

  • Manajemen Proses: Mengalokasikan waktu CPU untuk berbagai program dan mengoordinasikan urutan eksekusi.
  • Manajemen Memori: Membagi ruang memori untuk setiap program dan melindunginya dari tumpang tindih.
  • Manajemen Perangkat: Mengendalikan perangkat penyimpanan, kartu jaringan, perangkat grafis, dan periferal melalui driver.
  • Penanganan File dan Jaringan: Menyediakan antarmuka umum yang diperlukan untuk sistem file dan komunikasi jaringan.

Oleh karena itu, perubahan dalam dukungan untuk perangkat keras baru, kinerja, keamanan, manajemen daya, dan skalabilitas server sebagian besar terkait dengan sejarah kernel. Sebaliknya, layar desktop, perintah instalasi paket, dan aplikasi dasar lebih terkait dengan sejarah distribusi atau perangkat lunak ruang pengguna.

Sebelum Linux: Desain UNIX dan Proyek GNU

Linux adalah kernel mirip Unix yang dirancang untuk beroperasi mirip dengan UNIX. Model multi-pengguna dan multitasking UNIX, metode menggabungkan alat kecil, serta antarmuka berpusat pada file memiliki dampak signifikan pada desain sistem operasi selanjutnya. Namun, Linux bukanlah produk yang berasal dari kode sumber UNIX; ini adalah kernel yang dikembangkan secara independen.

Pada tahun 1983, Richard Stallman mengumumkan proyek GNU, yang bertujuan menciptakan sistem operasi bebas yang kompatibel dengan UNIX yang dapat dijalankan, dipelajari, dimodifikasi, dan didistribusikan oleh siapa saja. Pengembangan dimulai pada tahun 1984, dan sekitar tahun 1990, komponen utama seperti compiler, shell, editor, dan berbagai perintah sudah tersedia, namun kernel praktis belum selesai. Latar belakang ini dijelaskan dalam penjelasan Free Software Foundation Europe tentang proyek GNU.

1991: Sebuah proyek pribadi kecil dipublikasikan

Linus Torvalds, mahasiswa Universitas Helsinki, mulai mengembangkan kernel untuk PC Intel 386 sebagai proyek pribadi sekitar April 1991. Pada 25 Agustus tahun yang sama, ia memperkenalkan proyek sistem operasi yang sedang dikembangkannya di grup berita Usenet untuk pengguna MINIX dan meminta umpan balik. Lisensi awalnya membatasi penggunaan komersial; lisensi GNU GPL digunakan kemudian.

Menurut laporan sejarah kernel Linux Foundation 2020, Linux 0.01 dirilis pada 17 September 1991. Pada saat itu, kode terdiri dari 88 file dan 10.239 baris, dan berjalan hanya pada satu tipe arsitektur perangkat keras, yaitu i386. Pada tahap awal, kernel ini masih terbatas dan belum menjadi sistem operasi lengkap.

1992–1994: Perangkat Lunak Bebas Bertemu dengan Distribusi

GNU GPL Mengubah Syarat Kolaborasi

Pada 1992, kernel Linux beralih ke GNU General Public License (GPL), yang memungkinkan penggunaan, pemeriksaan, modifikasi dan distribusi dengan mengikuti syarat lisensinya. Kernel Linux digabungkan dengan alat GNU yang sudah ada sebelumnya, dan dengan munculnya distribusi yang bertanggung jawab atas instalasi dan manajemen perangkat lunak, ia berkembang menjadi lingkungan sistem operasi yang dapat digunakan.

Debian, yang dimulai oleh Ian Murdock pada Agustus 1993, mengembangkan model distribusi yang dibangun oleh komunitas dan dibuat secara terbuka bersama-sama. Menurut sejarah resmi proyek Debian, Debian bertujuan untuk distribusi yang konsisten dan manajemen paket yang sistematis sejak awal. Pada waktu yang hampir sama, distribusi yang menggabungkan dukungan komersial juga berkembang, meletakkan dasar bagi tidak hanya pengguna individu tetapi juga bisnis untuk mengadopsi Linux.

Pada 13 Maret 1994, Linux 1.0 dirilis. Arsip Linux 1.0 di kernel.org menyimpan sumber dan riwayat perubahan dari waktu itu. Nomor versi 1.0 merupakan tonggak simbolis yang menunjukkan bahwa Linux mulai menegakkan dirinya sebagai perangkat lunak sumber terbuka yang stabil di luar sekadar proyek eksperimental.

Distribusi membuat Linux dapat digunakan sebagai produk

Pengguna awal harus mengumpulkan dan mengonfigurasi kernel serta berbagai alat sendiri. Distribusi mempermudah proses ini dengan menggabungkan komponen dan kemudian menyediakan penginstal, paket perangkat lunak, informasi ketergantungan dan repositori pembaruan. Kemampuan tersebut berkembang bertahap dan berbeda antar-distribusi. Bahkan dengan kernel yang sama, distribusi berbeda dalam pilihan perangkat lunak, masa pembaruan dan cara mengelola konfigurasi.

Debian telah mengembangkan sebuah model di mana komunitas relawan mengelola kebijakan dan sistem paket bersama-sama. Sebaliknya, Red Hat memelopori jalan yang menghubungkan hasil pengembangan terbuka dengan produk perusahaan yang stabil dan dukungan teknis. sejarah resmi Red Hat menjelaskan proses dari distribusi CD pada tahun 1990-an hingga model langganan perusahaan dan distribusi komunitas. Dengan berbagai model yang berbeda ini hidup berdampingan, Linux dapat digunakan secara luas mulai dari pembelajaran pribadi hingga server perusahaan yang memerlukan operasi jangka panjang.

Linimasa Utama Sejarah Linux

Tahun Peristiwa Utama Makna
1983 Pengumuman Proyek GNU Tujuan dari sistem operasi yang kompatibel dengan UNIX dan dapat digunakan secara bebas disampaikan.
1984 Awal Pengembangan Sistem GNU Kompiler, shell, dan alat inti user-space dibuat.
1991 Proyek Linux diumumkan dan versi 0.01 dirilis Proyek pribadi menjadi titik awal untuk pengembangan kolaboratif di internet.
1992 Distribusi Linux di bawah GNU GPL Fondasi kolaborasi yang memungkinkan modifikasi dan redistribusi kode sumber diperkuat.
1993 Proyek Debian Dimulai Distribusi komunitas publik dan manajemen paket sistematis berkembang.
1994 Linux 1.0 Dirilis Ini menjadi tonggak penting yang berkembang menjadi kernel publik yang stabil.
1996 Linux 2.0 Dirilis Dukungan awal symmetric multiprocessing (SMP) memungkinkan penggunaan beberapa prosesor dan membantu perkembangan server.
2000 Pendirian Laboratorium Pengembangan Sumber Terbuka Landasan untuk adopsi perusahaan dan dukungan korporat terhadap pengembangan Linux diperkuat.
2003 Linux 2.6 Dirilis Sebuah landasan pengembangan jangka panjang didirikan untuk mendukung perangkat yang lebih beragam dan sistem skala besar.
2005 Pengenalan Git Kolaborasi kernel diperluas melalui sistem kontrol versi yang cocok untuk pengembangan terdistribusi skala besar.
2007 Peluncuran Linux Foundation OSDL dan Free Standards Group bergabung untuk membentuk sebuah organisasi untuk pengembangan, standardisasi, dan dukungan hukum.

Dari 1.0 ke 2.6: Bagaimana kernel PC berkembang menjadi basis serba guna

Linux 1.0 terutama digunakan pada PC berbasis Intel 386, tetapi versi berikutnya dengan cepat berkembang untuk mendukung lebih banyak prosesor dan perangkat. Alih-alih memasukkan semua fungsi perangkat dalam kernel, menjadi mungkin untuk memuat fitur yang diperlukan sebagai modul, sehingga lebih mudah menangani berbagai kombinasi perangkat keras.

Linux 2.0 pada tahun 1996 mendukung symmetric multiprocessing (SMP), yang memungkinkan beberapa prosesor digunakan bersama dan membantu pertumbuhan Linux di server. Dalam seri 2.4 dan 2.6 berikutnya, dukungan perangkat, penjadwalan, manajemen memori, dan skalabilitas terus meningkat. Arsip kernel.org memuat 2.6.0 dan pembaruan seri 2.6 setelah peluncurannya pada Desember 2003.

Selama periode ini, Linux menetapkan dirinya sebagai kernel serba guna yang berjalan pada berbagai arsitektur, melampaui sekadar 'menggunakan lingkungan mirip UNIX pada PC murah.' Dengan produsen perangkat keras menyumbangkan driver dan perusahaan berpartisipasi dalam peningkatan kinerja dan stabilitas, terbentuk sebuah struktur di mana komunitas dan kepentingan komersial bertemu dalam satu kernel utama.

Pada tahun 2005, Git dibuat untuk menangani skala pengembangan.

Komunitas kernel membutuhkan alat kontrol versi baru.

Seiring pertumbuhan kode Linux dan semakin banyak orang yang berpartisipasi, menjadi penting untuk mengelola siapa yang membuat perubahan apa dan bagaimana menggabungkan berbagai aliran pengembangan. Komunitas kernel menggunakan alat kontrol versi yang disebut BitKeeper untuk sementara waktu, tetapi ketika perjanjian penggunaan gratis berakhir pada tahun 2005, alat baru dibutuhkan.

Linus Torvalds menciptakan Git, dengan fokus pada pelacakan perubahan cepat, pekerjaan terdistribusi, dan penggabungan skala besar. Sejarah singkat dokumentasi resmi Git menjelaskan bahwa Git berasal dari kebutuhan komunitas pengembangan kernel Linux. Sejak saat itu, Git telah menjadi sistem kontrol versi yang representatif yang digunakan di seluruh pengembangan perangkat lunak di luar kernel.

Bagaimana perubahan pada kernel saat ini digabungkan?

Perubahan yang ditulis oleh pengembang dirilis dalam bentuk patch dan ditinjau oleh orang-orang yang bertanggung jawab atas subsistem terkait serta pengembang lainnya. Perubahan yang telah diverifikasi dari repositori khusus seperti jaringan, sistem file, driver, dan arsitektur prosesor secara bertahap digabungkan ke dalam aliran utama. Segera setelah versi baru dirilis, periode penggabungan untuk fitur utama dibuka, dan kemudian selama tahap kandidat rilis, fokus beralih pada perbaikan kesalahan regresi dan masalah stabilitas.

Kontribusi tidak otomatis masuk ke kernel utama. Meskipun partisipasi publik dimungkinkan, kualitas dikelola melalui tinjauan, pengujian, pemelihara yang bertanggung jawab, dan prosedur integrasi langkah demi langkah. Linux Kernel Development HOWTO menjelaskan mainline, versi stabil, pohon subsistem, dan proses pengiriman patch.

Dari server hingga seluler dan cloud

Berkembang di pasar server dan perusahaan

Sejak akhir 1990-an, Linux telah berkembang pesat di sektor server berdasarkan stabilitas, kemampuan jaringan, dan dukungan untuk berbagai perangkat keras. Vendor distribusi menyediakan pembaruan jangka panjang dan dukungan teknis, memungkinkan perusahaan untuk mengadopsi Linux untuk server web, basis data, dan sistem bisnis.

Pada tahun 2000-an, seiring dengan penyebaran virtualisasi dan komputasi awan, keunggulan Linux, yang mudah diotomatisasi dan dapat disesuaikan dengan kebutuhan, menjadi semakin penting. Kontainer juga berkembang berdasarkan kemampuan isolasi proses dan pengendalian sumber daya Linux. Pengembangan kernel saat ini tidak dilakukan oleh satu organisasi yang membuat semua kode, tetapi melalui struktur kolaboratif terdistribusi di mana pemelihara subsistem meninjau dan mengintegrasikan patch. Prosedur pengembangan dijelaskan dalam panduan resmi pengembangan kernel Linux.

Mengapa kontainer dan komputasi awan cocok dengan Linux?

Mesin virtual umumnya menjalankan kernel sistem operasi yang terpisah untuk setiap instansi, sementara kontainer berbagi kernel Linux dari host sambil mengisolasi proses. Namespace mengisolasi tampilan sumber daya tertentu, termasuk ID pengguna, jaringan, titik kait dan ID proses. Control groups (cgroups) mengatur proses secara hierarkis agar penggunaan CPU, memori dan input/output (I/O) dapat diukur atau dibatasi.

Kontainer bukan satu fitur tunggal kernel Linux. Kontainer juga memerlukan format image, alat untuk menjalankannya, serta pengelolaan jaringan dan penyimpanan. Karena kemampuan isolasi dan pengendalian sumber daya tersedia dalam kernel, ekosistem untuk menerapkan aplikasi dengan cepat pada banyak server dapat berkembang. Rincian pengoperasian tersedia dalam dokumentasi cgroup v2 kernel Linux.

Meluas ke perangkat mobile dan embedded

Linux tidak hanya tetap berada di PC dan server. Linux telah digunakan pada router, mobil, peralatan industri, perangkat tertanam dan ponsel pintar. Misalnya, menurut deskripsi kernel Android Open Source Project, kernel Android didasarkan pada kernel Linux long-term support (LTS) upstream.

Partisipasi perusahaan tidak bertentangan dengan pengembangan terbuka

Pertumbuhan awal Linux sangat bergantung pada partisipasi pengembang individu dan komunitas universitas/hobi. Seiring dengan meluasnya jangkauan penggunaan, produsen server, perusahaan semikonduktor, vendor distribusi, dan penyedia cloud juga mulai mengembangkan fungsi yang diperlukan untuk produk mereka dan memasukkannya ke dalam mainline. Hal ini karena kode yang disertakan dalam mainline dapat disalurkan ke berbagai distribusi dan pengguna serta menerima tinjauan bersama dan pemeliharaan.

Pada tahun 2000, Open Source Development Labs (OSDL) didirikan untuk mendukung adopsi dan pengembangan Linux di perusahaan. Pada tahun 2007, OSDL bergabung dengan Free Standards Group untuk meluncurkan Linux Foundation. Menurut penjelasan sejarah organisasi Linux Foundation, organisasi ini mendukung komunitas kernel untuk terus melakukan pengembangan independen sambil menyediakan infrastruktur pengembangan, standardisasi, acara, pendidikan, serta dukungan hukum dan merek dagang.

Struktur ini tidak mentransfer semua hak cipta kode ke satu perusahaan. Dokumen pengembangan kernel resmi menjelaskan bahwa kode yang termasuk dalam mainline tetap menjadi milik pemegang hak cipta asli. Kode sumber kernel secara keseluruhan disediakan di bawah GNU GPL versi 2 saja dengan pengecualian untuk antarmuka pemanggilan sistem; berkas individu dapat menggunakan lisensi yang kompatibel atau lisensi ganda.

Melihat sejarah Linux dalam tiga lapisan membantu mengurangi kebingungan.

Kategori Apa yang termasuk? Peran dalam sejarah
Kernel Linux Proses, memori, perangkat, sistem file, dan manajemen jaringan Hal ini menyediakan fondasi umum yang menghubungkan perangkat keras dan program.
Ruang Pengguna Alat GNU, shell, pustaka, layanan, dan lingkungan desktop Menciptakan lingkungan di mana pengguna dan aplikasi dapat melakukan tugas nyata.
Distribusi Alat instalasi, repositori paket, pengaturan default, pembaruan, dan kebijakan dukungan Mengintegrasikan berbagai komponen ke dalam sistem operasi yang memiliki tujuan tertentu dan mendistribusikannya.

Ketiga lapisan ini saling terkait erat tetapi tidak sama. Misalnya, perbaikan keamanan kernel biasanya dapat mempengaruhi beberapa distribusi, tetapi versi paket dan periode dukungan dapat berbeda tergantung pada distribusinya. Android juga menggunakan kernel Linux, tetapi ruang pengguna dan struktur aplikasinya berbeda dari distribusi GNU/Linux desktop umum.

Alasan Linux dapat berkembang selama waktu yang lama

  • Kode Sumber Terbuka: Siapa pun dapat meninjau kode, memperbaiki masalah, atau mengusulkan dukungan untuk perangkat keras baru.
  • Lisensi yang Jelas: GNU GPL menyediakan kondisi untuk modifikasi dan redistribusi, membentuk dasar hukum untuk pengembangan kolaboratif.
  • Kolaborasi Berbasis Internet: Milis, pemelihara, dan proses tinjauan publik telah memungkinkan pengembangan melampaui batasan regional dan organisasi.
  • Ekosistem Distribusi: Alat instalasi, paket, kebijakan pembaruan, dan dukungan teknis yang disesuaikan untuk berbagai tujuan disediakan.
  • Portabilitas Luas: Dapat digunakan pada berbagai perangkat keras, dari komputer pribadi hingga server, ponsel cerdas, dan perangkat tertanam.

Apa yang Ditunjukkan Sejarah Linux

Pertumbuhan Linux tidak bisa dijelaskan hanya oleh keberhasilan kernel yang luar biasa. Linux telah berkembang selama waktu yang lama karena desain sistem UNIX yang terbukti, alat GNU, dan gerakan perangkat lunak bebas, pekerjaan integrasi oleh distribusi, investasi korporasi, dan kolaborasi publik dari pengembang di seluruh dunia semuanya saling terkait.

Oleh karena itu, inti dari sejarah Linux melampaui "siapa yang membuat apa pada tahun 1991." Paling akurat untuk memahaminya sebagai proses di mana metode pengembangan—di mana komunitas meninjau, meningkatkan, dan mengkonfigurasi kembali teknologi yang dirilis secara publik untuk berbagai tujuan—tumbuh menjadi infrastruktur penting di dunia nyata.

Pertanyaan yang Sering Diajukan

Siapa yang menciptakan Linux?

Kernel Linux dimulai oleh Linus Torvalds pada tahun 1991. Sejak saat itu, para pengembang individu dan perusahaan di seluruh dunia telah berkontribusi pada kode tersebut, mengembangkannya menjadi proyek kolaboratif berskala besar.

Apakah Linux dan UNIX adalah sistem operasi yang sama?

Tidak, mereka tidak sama. Linux adalah kernel mirip Unix yang mengikuti desain dan penggunaan UNIX tetapi dikembangkan secara independen. UNIX adalah keluarga sistem operasi historis dan juga memiliki arti sebagai merek dagang bersertifikat.

Apa perbedaan antara Linux dan GNU/Linux?

Linux secara ketat merujuk pada kernel. GNU/Linux adalah nama yang menekankan seluruh sistem operasi yang terdiri dari kernel Linux dan alat-alat GNU. Dalam penggunaan sehari-hari, distribusi dan seluruh sistem juga umum disebut sebagai Linux.

Mengapa distribusi dibutuhkan?

Dengan hanya kernel, sulit bagi pengguna biasa untuk menggunakan lingkungan komputasi yang lengkap. Distribusi menyediakan sistem operasi yang sesuai dengan tujuan dengan menggabungkan penginstal, alat sistem, pengelola paket, kebijakan pembaruan, dan aplikasi.

Apakah sebuah perusahaan dapat menjual Linux yang bersifat open-source?

Ya, itu memungkinkan. 'Kebebasan' dalam perangkat lunak bebas tidak selalu berarti harga gratis. Perusahaan dapat menyediakan perangkat lunak dengan biaya dengan menggabungkan distribusi, pembaruan jangka panjang, sertifikasi keamanan, dukungan teknis, dan alat operasional. Namun, saat memodifikasi dan mendistribusikan kode kernel Linux, mereka harus mematuhi persyaratan lisensi, seperti memberikan kode sumber sesuai yang diwajibkan oleh GNU GPL.

Apakah Linux dimiliki oleh satu perusahaan?

Tidak ada satu perusahaan pun yang secara eksklusif memiliki dan mengendalikan pengembangan kernel Linux. Linus Torvalds mengelola mainline, dan pemelihara di setiap area mengintegrasikan perubahan, tetapi hak cipta kode didistribusikan di antara banyak kontributor. Linux Foundation mendukung lingkungan dan ekosistem pengembangan, tetapi itu bukan organisasi yang memiliki seluruh kernel seperti produk perusahaan.

Referensi