Sejarah Unix dan Linux dari 1969 hingga Sekarang
Pelajari bagaimana Unix lahir di Bell Labs pada 1969, menyebar lewat lisensi AT&T dan BSD, lalu Linux mengungguli BSD di server setelah sengketa hukum 1992.
Sejarah Unix dan Linux secara singkat
Sejarah Unix dan Linux merupakan rangkaian panjang perdebatan tentang pihak yang berhak memiliki kode sumber. Unix dikembangkan di Bell Labs pada 1969. Linux dikembangkan di Helsinki pada 1991 dan tidak menggunakan kode asli Unix tersebut. Yang berpindah di antara keduanya adalah desain dan sekumpulan antarmuka yang dipublikasikan: file, proses, pipe, serta shell yang menggabungkan program-program kecil. Unix menyebar di berbagai universitas pada 1970-an karena penyelesaian perkara antimonopoli pada 1956 melarang AT&T (American Telephone and Telegraph) menjual software, sehingga Bell Labs memilih melisensikan kode sumber dengan biaya rendah. Unix akhirnya digunakan di mana-mana, tetapi tidak dimiliki pihak mana pun di luar AT&T. Perselisihan lisensi yang terjadi setelahnya menentukan sistem mirip Unix bebas yang akhirnya digunakan di rak server Anda.
1969: PDP-7 cadangan dan gagasan yang bertahan
Bell Labs keluar dari proyek Multics pada 1969. Multics (multiplexed information and computing service) adalah sistem time-sharing besar yang dibangun bersama MIT dan General Electric. Bell Labs memutuskan bahwa sistem tersebut terlalu besar untuk diselesaikan. Ken Thompson mempertahankan gagasan yang menurutnya berguna dan membuang sisanya. Ia menulis sistem time-sharing kecil pada minikomputer PDP-7 bekas. Dennis Ritchie kemudian bergabung dengannya. Nama Unix adalah lelucon yang menyindir Multics.
Pada 1970, sistem tersebut dipindahkan ke PDP-11 yang dibeli Bell Labs untuk juru ketik di departemen paten. Alasannya, pendanaan untuk alat pemrosesan teks lebih mudah diperoleh daripada pendanaan untuk sistem operasi. Mesin itu memiliki memori inti sebesar 24 KB, yang dibagi antara sistem dan program pengguna. Kesalahan dalam pendanaan tersebut menjadi alasan manual Unix pertama, yang bertanggal November 1971, berupa kumpulan dokumen berformat. Hal itu juga menjadi alasan Anda masih mengetik man 5 crontab. Nomor bagian dalam manual tersebut adalah nomor bagian dalam manual Anda.
Dua perubahan membuat desain ini bertahan. Pipe hadir dalam Version 3 pada 1973 karena Doug McIlroy selama bertahun-tahun berpendapat bahwa program harus dapat dihubungkan dari ujung ke ujung. Thompson menambahkan operator | agar output suatu program menjadi input program berikutnya. Kemudian, Version 4 pada akhir 1973 ditulis ulang dalam C. Sistem operasi yang ditulis dalam bahasa portabel dapat dipindahkan ke perangkat keras yang bukan menjadi target awalnya. Karena itu, Unix bertahan lebih lama daripada semua mesin tempat sistem tersebut pertama kali dijalankan.
Mengapa Unix menyebar: AT&T tidak diizinkan menjualnya
Dekrit persetujuan tahun 1956 menyelesaikan perkara antimonopoli terhadap AT&T. AT&T tetap mempertahankan monopolinya atas layanan telepon dan menerima pembatasan sebagai imbalannya: perusahaan tersebut tidak boleh menjalankan bisnis selain telekomunikasi. Perangkat lunak termasuk salah satu bisnis itu. Karena itu, ketika universitas meminta Unix, Bell Labs tidak dapat menjualnya sebagai produk. Bell Labs melisensikan source code dengan biaya nominal, tanpa dukungan dan tanpa garansi.
Dampaknya besar dan tidak sesuai dengan rencana AT&T. Sixth Edition Unix, yang dirilis pada 1975, menjangkau ratusan departemen ilmu komputer dengan source code lengkap. John Lions dari University of New South Wales mencetak source code kernel tersebut disertai komentar baris demi baris, lalu menggunakannya dalam pengajaran. Satu generasi mempelajari cara kerja sistem operasi dengan membaca sistem operasi yang nyata.
Kemudian lisensinya berubah. Lisensi Seventh Edition pada 1979 melarang penggunaan source code dalam perkuliahan, sehingga komentar Lions beredar sebagai salinan dari salinan. Inilah gambaran keseluruhan ceritanya. Unix ada di mana-mana dan tidak bebas pada saat yang sama, sehingga setiap perbaikan yang dibuat seseorang menjadi perbaikan pada kode proprietary milik orang lain.
Berkeley: bagian Unix yang benar-benar Anda ketik
Ken Thompson menghabiskan tahun akademik 1975 hingga 1976 di University of California, Berkeley, lalu meninggalkan kelompok Unix yang sangat aktif. Computer Systems Research Group (CSRG) di Berkeley merilis tape berisi perbaikan lokal, dan tape tersebut menjadi BSD, Berkeley Software Distribution. Bill Joy menulis sebagian besar karya awalnya: 1BSD pada 1978, lalu 2BSD pada 1979 yang menyertakan editor vi dan C shell.
C shell adalah asal !! dan !$. Bash mewarisi sintaks tersebut. Karena itu, ekspansi riwayat bash masih sering mengejutkan orang yang mengetik tanda seru di dalam tanda kutip ganda lebih dari empat puluh tahun kemudian.
DARPA (US Defense Advanced Research Projects Agency) kemudian membiayai Berkeley untuk memasukkan protokol Internet baru ke dalam Unix. 4.2BSD, yang dirilis pada Agustus 1983, menyertakan TCP/IP (transmission control protocol over internet protocol) dan socket application programming interface. Setiap layanan jaringan pada server Anda masih memanggil socket(), bind(), listen(), dan accept() secara berurutan, karena Berkeley memilih nama-nama tersebut pada 1983.
Satu hal menentukan dekade berikutnya. Tape BSD bukan sistem yang lengkap. Tape tersebut merupakan kumpulan tambahan untuk Unix milik AT&T, dan Anda memerlukan lisensi source AT&T yang sah untuk menjalankannya secara legal. Berkeley mengganti bagian-bagian milik AT&T dengan kodenya sendiri selama beberapa tahun, file demi file. Apakah penggantian tersebut benar-benar lengkap menjadi pertanyaan yang kemudian dibawa ke pengadilan.
1984: perpecahan, lalu perang Unix
Bell System dibubarkan pada 1 Januari 1984, dan keputusan persetujuan yang sebelumnya melarang AT&T menjalankan bisnis perangkat lunak ikut berakhir. AT&T kini dapat menjual Unix sebagai produk, dan itulah yang dilakukannya. Lisensi source code komersial menjadi mahal, sehingga Unix tidak lagi menjadi sesuatu yang murah untuk dibagikan universitas kepada mahasiswa.
Para vendor sudah lebih dahulu membuat cabang masing-masing. Setiap perusahaan workstation menyertakan Unix versinya sendiri pada perangkat kerasnya sendiri. Akibatnya, pada akhir 1980-an, program yang ditulis untuk satu sistem harus di-porting ke sistem berikutnya. Industri terpecah menjadi dua kelompok standar pada 1988: Open Software Foundation di satu sisi dan Unix International di sisi lain. Selama bertahun-tahun, keduanya merilis sistem yang tidak kompatibel sambil memperdebatkan Unix mana yang sebenarnya.
POSIX (portable operating system interface) lahir dari kekacauan tersebut. IEEE 1003.1 diterbitkan pada 1988. Standar ini mendokumentasikan hal-hal yang harus dilakukan sistem mirip Unix: system call, perilaku shell, utilitas standar, dan antarmuka library C. Hal ini lebih penting daripada yang terlihat, karena standar adalah spesifikasi dan tidak dilindungi oleh lisensi apa pun. Tiga tahun kemudian, seorang mahasiswa menulis kernel berdasarkan dokumen tersebut.
Minix dan celah yang ditinggalkannya
Andrew Tanenbaum merilis Minix pada 1987 sebagai sistem pembelajaran untuk buku teks sistem operasinya. Minix adalah sistem kecil yang menyerupai Unix. Kode sumbernya disertakan bersama buku tersebut, dan sistem ini berjalan pada PC murah yang benar-benar dimiliki mahasiswa. Sistem ini legal untuk dipelajari di ruang kelas, sedangkan Seventh Edition Unix sudah tidak demikian.
Minix sengaja dipertahankan tetap kecil karena sistem ini harus dapat dijelaskan dalam sebuah buku. Tanenbaum juga menolak patch yang dapat mengubahnya menjadi sistem produksi. Lisensinya pun tidak bebas: Anda harus membeli bukunya, dan Anda tidak berwenang menentukan apakah Minix yang telah dimodifikasi boleh didistribusikan ulang. Jadi, pada 1991, seorang mahasiswa dapat mempelajari kernel yang berfungsi dan menyerupai Unix, tetapi tidak dapat membangun sesuatu yang bertahan lama di atasnya.
GNU memiliki hampir semua komponen kecuali kernel
Richard Stallman mengumumkan proyek GNU pada September 1983 dengan tujuan membangun sistem mirip Unix bebas yang lengkap. Pada 1991, GNU telah menghasilkan sebagian besar komponen di sekitar kernel: compiler GCC, pustaka GNU C, utilitas biner, dan bash, shell yang ditulis Brian Fox pada 1989 dan masih digunakan server Anda saat memulai sesi. Kernel GNU, Hurd, adalah komponen yang terus tertunda.
GNU General Public License versi 2 diterbitkan pada Juni 1991. Aturannya singkat. Anda boleh menggunakan dan mengubah kode tersebut. Jika mendistribusikan hasilnya, Anda harus mendistribusikan source code dengan ketentuan yang sama. Aturan itu akan menjadi titik penting dalam cerita ini dua bagian lagi.
Agustus 1991: posting ke comp.os.minix
Pada 25 Agustus 1991, seorang mahasiswa di Helsinki mengirim posting ke grup Usenet comp.os.minix:
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.Version 0.01 dirilis pada September 1991. Version tersebut tidak berbagi kode dengan Unix maupun Minix. Version tersebut merupakan kernel baru untuk 386, dikembangkan pada mesin Minix, ditulis berdasarkan interface POSIX, dan dipasangkan dengan GNU tools yang sudah tersedia. Pada Januari 1992, Tanenbaum mengatakan kepada Torvalds bahwa kernel monolitik merupakan desain yang sudah usang. Pendapatnya tentang desain memang beralasan, tetapi Torvalds menjawab pertanyaan yang berbeda: apa yang dapat berjalan dengan baik pada satu komputer murah yang dimiliki seorang mahasiswa.
Pada Februari 1992, version 0.12 dilisensikan ulang berdasarkan GPL. Torvalds kemudian menyebutnya sebagai keputusan terbaiknya. Lisensi Linux yang asli melarang perpindahan uang dalam bentuk apa pun. Larangan tersebut akan menghambat vendor CD dan perusahaan dukungan yang muncul setelahnya. GPL mengizinkan aktivitas komersial, tetapi mewajibkan setiap perubahan yang didistribusikan dikembalikan ke tree bersama yang sama.
Gugatan hukum: April 1992 hingga Februari 1994
Berkeley merilis Networking Release 2 (Net/2) pada Juni 1991: sistem BSD yang hampir lengkap, dengan berkas turunan AT&T yang telah dihapus. Enam berkas kernel masih hilang. Bill dan Lynne Jolitz menulis penggantinya dan merilis 386BSD 0.0 pada Maret 1992, lalu 386BSD 0.1 pada 14 Juli 1992. BSD gratis, lengkap, dan matang untuk 386 kini telah tersedia, sementara Linux masih berupa kernel untuk hobi. Berkeley Software Design, Inc. (BSDi) menjual build komersial dengan dukungan, yaitu BSD/386, dan mengiklankannya dengan nomor telepon 1-800-ITS-UNIX.
Pada April 1992, Unix System Laboratories (USL), anak perusahaan AT&T yang saat itu memiliki Unix, menggugat BSDi di pengadilan federal New Jersey terkait rahasia dagang dan merek dagang Unix. Gugatan tersebut kemudian diubah untuk menambahkan Regents of the University of California sebagai tergugat. Pada 1993, University mengajukan gugatan balik di California. University berargumen bahwa AT&T telah menyertakan kode Berkeley di dalam System V tanpa memberikan atribusi yang diwajibkan oleh lisensinya sendiri.
Pokok perkara hukum ini mulai runtuh pada 1993. Hakim Dickinson Debevoise menolak permohonan USL untuk mendapatkan injunction pendahuluan. Menurutnya, klaim hak cipta USL atas kode 32V yang lebih lama kemungkinan tidak sah karena AT&T telah mendistribusikan kode tersebut selama bertahun-tahun tanpa pemberitahuan hak cipta. Novell membeli USL dari AT&T pada pertengahan 1993, dan manajemen Novell ingin mengakhiri sengketa tersebut. Perkara ini diselesaikan pada Februari 1994. Dari sekitar 18,000 berkas dalam distribusi Berkeley, tiga berkas dihapus dan sekitar tujuh puluh berkas diberi pemberitahuan hak cipta USL.
Berkeley merilis 4.4BSD-Lite pada Juni 1994, dan rilis tersebut telah bebas dari masalah hukum. FreeBSD dan NetBSD, yang keduanya didirikan pada 1993 berdasarkan kode Net/2 yang disengketakan, kemudian harus membangun ulang sistemnya menggunakan basis baru. Proses ini menghabiskan sebagian besar sisa 1994. Linux 1.0 dirilis pada Maret 1994, di tengah proses pembangunan ulang tersebut.
Mengapa Linux mengambil alih server, bukan BSD?
Gugatan hukum adalah jawaban yang paling umum, dan memang merupakan bagian dari jawabannya. Antara April 1992 dan Februari 1994, siapa pun yang memilih Unix gratis untuk sebuah produk harus mempertimbangkan klaim hukum AT&T yang masih berlangsung, dibandingkan dengan kernel dari seorang mahasiswa Finlandia yang tidak dapat digugat. Itulah periode ketika web mulai hadir dan distribusi Linux pertama muncul: Slackware pada Juli 1993, Debian pada Agustus 1993, kemudian Red Hat dan SUSE.
Empat hal lain sama pentingnya dengan perkara di pengadilan.
- Perangkat keras. Linux menargetkan PC 386 komoditas sejak baris kode pertamanya, dan itulah perangkat keras yang kemudian menjadi murah. Pusat perkembangan BSD adalah VAX dan workstation, sedangkan port 386 merupakan upaya pihak luar yang dikerjakan oleh dua orang.
- Lisensi. GPL mewajibkan perusahaan yang merilis kernel yang telah dimodifikasi untuk memublikasikan perubahannya, sehingga pekerjaan vendor mengalir kembali ke satu pohon kode. Lisensi BSD memungkinkan perusahaan merahasiakan perubahannya, dan perusahaan memang melakukannya.
- Model pengembangan. Torvalds dengan cepat menggabungkan patch dari kontributor yang tidak dikenalnya dan terus-menerus merilis pembaruan. 386BSD merilis pembaruan dengan cukup lambat sehingga penggunanya sendiri mem-fork proyek tersebut dua kali pada 1993, menjadi NetBSD dan FreeBSD, lalu kembali mem-fork-nya menjadi OpenBSD pada 1995.
- Momentum. Developer akan bergabung ke tempat developer lain sudah berada, dan driver akan dibuat untuk sistem yang memiliki pengguna paling banyak.
Jelaskan pertanyaan teknisnya secara jujur. BSD pada 1994 merupakan sistem yang lebih matang, dengan basis yang koheren, riwayat yang terdokumentasi, dan kode jaringan yang perlu dikejar Linux selama bertahun-tahun. Tidak ada yang memilih Linux pada 1994 karena Linux lebih baik. Mereka memilihnya karena Linux tersedia, tidak terbebani masalah hukum, dapat berjalan pada perangkat keras yang sudah mereka miliki, dan terus berkembang setiap minggu.
Apa yang dipertahankan BSD dan tempatnya berjalan saat ini
BSD terus berkembang. Yang hilang adalah posisi sebagai pilihan bawaan. Bukti paling jelas ada di komputer Anda sendiri: proyek OpenBSD menulis OpenSSH pada 1999, dan OpenSSH menjadi SSH server pada hampir setiap sistem Linux yang dirilis saat ini. Karena itu, kebiasaan SSH key yang perlu dipelajari sama pada kedua keluarga sistem tersebut.
Netflix menyajikan video dari appliance FreeBSD. Junos, sistem operasi pada router Juniper, menggunakan FreeBSD sebagai dasarnya. Perangkat lunak sistem PlayStation diturunkan dari FreeBSD. macOS dan iOS milik Apple membawa kode BSD di kernel dan di seluruh userland. Lisensi permisif yang membuat BSD kehilangan shared server tree justru menempatkan kode BSD di banyak perangkat keras yang tidak pernah menyebutkannya.
Jika Anda memilih sistem saat ini, pertanyaannya bersifat praktis, bukan historis. Perbandingan Linux dan FreeBSD sebagai server bergantung pada ZFS, jail, ports tree, dan seberapa banyak perangkat lunak pihak ketiga yang mengasumsikan Linux sebagai sistem dasar. FreeBSD 15 sebagai server adalah sistem yang masih digunakan dan dipelihara, bukan peninggalan museum. Sementara itu, Linux dibandingkan dengan Windows Server merupakan pertanyaan terpisah yang jawabannya bergantung pada stack aplikasi Anda.
Desain dari 1969 yang Anda gunakan di VPS saat ini
Setiap komponen ini lebih tua daripada sebagian besar penggunanya.
- Pipe.
who | wc -lmenghitung pengguna yang sedang login karena Version 3 Unix pada 1973 memungkinkan output dari satu program menjadi input bagi program lain. - Bagian manual.
man 1 lsdanman 5 crontabmenggunakan skema penomoran dari manual November 1971. - Pembagian filesystem.
/usrada karena disk root pada PDP-11 tersebut penuh pada 1971, lalu para pengembang memindahkan file ke disk pack kedua. Distribusi kemudian menghapus kembali pembagian tersebut: jalankanls -ld /binpada Ubuntu 24.04 atau Debian 13 dan Anda mendapatkan symbolic link keusr/bin. - Pemanggilan socket. Berkeley menulisnya untuk 4.2BSD pada 1983, dan setiap network daemon masih menggunakannya.
- POSIX. Skrip
#!/bin/shyang ditulis berdasarkan standar ini dapat berjalan tanpa perubahan di Linux, FreeBSD, macOS, dan Solaris, karena standar tersebut diimplementasikan oleh semuanya.
Saat Anda menyewa virtual private server dan login, Anda mengetik pada antarmuka yang dirancang untuk mesin dengan memori 24 KB dan departemen paten yang harus dilayani. Antarmuka ini tetap bertahan karena dipublikasikan, diperdebatkan, distandardisasi, lalu diimplementasikan ulang dari awal oleh orang-orang yang tidak pernah diizinkan melihat kode sumber aslinya.
FAQ
Apakah Linux mengandung kode Unix asli?
Tidak. Linus Torvalds menulis kernel dari awal sejak 1991, dengan menargetkan antarmuka POSIX, bukan kode sumber AT&T. Warisan Unix terdapat pada desain dan antarmuka yang dipublikasikan: file, proses, pipe, dan nama system call. GNU tools yang berjalan di sekitar kernel juga ditulis dari awal sejak 1983. Kemandirian tersebut menjadi alasan litigasi AT&T terkait kode BSD sama sekali tidak berdampak pada Linux.
Kapan gugatan AT&T terhadap BSD berlangsung, dan apakah gugatan itu mematikan BSD?
USL, anak perusahaan AT&T yang memiliki Unix, menggugat BSDi pada April 1992 dan kemudian menambahkan University of California sebagai tergugat. Pada 1993, hakim menolak injunction pendahuluan karena menilai klaim hak cipta atas kode 32V yang lebih lama kemungkinan tidak sah. Novell membeli USL pada pertengahan 1993 dan menyelesaikan perkara tersebut pada Februari 1994. Tiga file dari sekitar 18,000 file dihapus, dan sekitar seventy file diberi pemberitahuan hak cipta baru. Perkara itu tidak mematikan BSD. Perkara tersebut membekukan adopsi BSD selama dua tahun ketika dunia sedang memilih Unix gratis.
Mengapa Linux mengambil alih server, bukan BSD?
Kepastian hukum merupakan salah satu alasannya. Sepanjang 1992 dan 1993, Linux tidak menghadapi gugatan, sedangkan BSD menghadapinya. Faktor lainnya adalah 386 sebagai target sejak awal, GPL yang menarik perubahan dari vendor kembali ke satu pohon kode, serta proses penggabungan yang cukup cepat untuk mempertahankan minat kontributor ketika 386BSD bercabang menjadi tiga. Keunggulan teknis bukan faktor penentu karena BSD merupakan sistem yang lebih matang pada 1994.
Apakah FreeBSD masih layak digunakan saat ini?
Ya, karena beberapa alasan konkret: ZFS yang terintegrasi dengan base system, jail sebagai model isolasi yang matang, base system yang dikembangkan sebagai satu kesatuan koheren, dan dokumentasi yang tetap akurat. Konsekuensinya adalah kebutuhan untuk menangani kompatibilitas karena sebagian besar software server pihak ketiga, container tooling, dan dukungan vendor mengasumsikan Linux. Pilih FreeBSD ketika kemampuan storage dan networking-nya sepadan dengan konsekuensi tersebut, bukan karena loyalitas terhadap lineage yang lebih lama.