Solaris ke illumos: Fork yang Tetap Bertahan
Solaris membuka kode sumber pada 2005, lalu Oracle menutupnya setelah mengakuisisi Sun pada 2010. illumos menjaga ZFS dan DTrace tetap hidup hingga kini.
Apa itu Solaris dan illumos
Solaris dan illumos adalah dua cabang dari satu pohon sumber Unix. Sun Microsystems mengembangkan Solaris dan menerbitkan sebagian besar kode sumbernya pada 2005. Oracle mengakuisisi Sun pada 2010 dan berhenti menerbitkan kode sumber tersebut. Karena itu, pengembang di luar Oracle melanjutkan pengembangan kode terbuka tersebut dengan nama baru: illumos. Sistem operasinya sendiri memiliki penggunaan yang terbatas pada 2026. Namun, lapisan penyimpanan dan alat tracing yang dibangun di dalamnya tidak demikian. Itulah alasan sejarah ini layak Anda ketahui.
Jika Anda menjalankan ZFS di Linux atau FreeBSD, Anda menjalankan kode yang ditulis di Sun untuk Solaris dan tetap digunakan setelah perusahaan, lini produk, serta perselisihan lisensinya berakhir. Tulisan ini mengisahkan bagaimana hal itu terjadi, berdasarkan tanggal yang telah diperiksa.
Asal Solaris: BSD, System V, dan SVR4
Sun Microsystems didirikan pada 24 February 1982 oleh Scott McNealy, Andy Bechtolsheim, Vinod Khosla, dan Bill Joy. Sistem operasinya, SunOS, diturunkan dari BSD (Berkeley Software Distribution), yaitu lini Unix dari universitas yang dikerjakan Bill Joy sebelum Sun berdiri. Lini Unix lainnya adalah System V milik AT&T, yang dijual secara komersial. Kedua cabang tersebut merupakan pemisahan yang dijelaskan dalam pohon keluarga Unix yang berujung pada Linux, dan selama satu dekade Sun berada di sisi BSD.
Pada 1987, Sun dan AT&T mengumumkan proyek bersama untuk menggabungkan BSD, System V, dan Xenix menjadi satu release: UNIX System V Release 4, yang biasanya ditulis SVR4. Pada 4 September 1991, Sun mengumumkan bahwa SunOS 4 akan digantikan oleh sistem turunan SVR4 dengan nama pemasaran baru, Solaris 2. Solaris 2.0 dirilis pada June 1992, hanya untuk perangkat keras SPARC. Sun telah berpindah sisi dalam perpecahan Unix tersebut, dan pelanggannya harus mem-port software mereka.
Nama lama itu tidak pernah benar-benar hilang. Kernel tetap menggunakan penomoran SunOS, sehingga Solaris 2.6 menjalankan SunOS 5.6, dan Oracle Solaris 11.4 masih melaporkan dirinya sebagai SunOS 5.11. Jalankan uname -a pada mesin illumos pada 2026 dan kata pertama yang dicetak tetap SunOS, karena illumos mewarisi nama tersebut bersama kodenya.
Hal yang diperkenalkan Solaris 10 pada 2005
Solaris 10 dirilis pada 31 Januari 2005. Rilis ini penting dalam konteks ini karena semua teknologi yang bertahan dari perusahaan tersebut sudah ada dalam rilis itu atau hadir melalui salah satu pembaruannya.
DTrace ditulis di Sun oleh Bryan Cantrill, Mike Shapiro, dan Adam Leventhal, lalu pertama kali tersedia pada November 2003. DTrace menginstrumentasikan kernel yang sedang berjalan dan proses user yang sedang berjalan tanpa kompilasi ulang serta tanpa me-restart proses yang sedang Anda monitor. Probe yang belum diaktifkan tidak menimbulkan biaya karena instrumentasi hanya dipasang saat sebuah skrip memintanya. Karena itu, administrator bersedia menggunakannya pada mesin produksi. DTrace meraih penghargaan utama dalam The Wall Street Journal's 2006 Technology Innovation Awards dan penghargaan USENIX STUG (Software Tools User Group) pada 2008.
ZFS dirancang di Sun oleh Jeff Bonwick, Bill Moore, dan Matthew Ahrens, lalu diumumkan pada 14 September 2004. ZFS menggabungkan volume manager dan filesystem ke dalam satu lapisan. Hal ini memungkinkan ZFS memeriksa checksum setiap block saat dibaca dan memperbaiki block yang rusak dari salinan redundan. Penulisan menggunakan copy on write: block tidak pernah ditimpa di lokasi yang sama. Dengan demikian, crash di tengah penulisan tetap mempertahankan data lama, bukan menghasilkan filesystem yang hanya tertulis sebagian. Snapshot hampir tidak memerlukan ruang tambahan karena snapshot pada dasarnya hanya merupakan kumpulan block yang tidak disentuh oleh penulisan berikutnya. ZFS belum termasuk dalam rilis awal Solaris 10. ZFS dirilis dalam pembaruan Solaris 10 6/06 pada Juni 2006.
Zones adalah komponen ketiga. Sebuah zone menyediakan beberapa user space yang terisolasi pada satu kernel. Setiap user space memiliki root filesystem, process table, dan konfigurasi jaringan sendiri. Zones muncul dalam build beta Solaris 10 pada Februari 2004 dan dirilis bersama versi lengkapnya. FreeBSD telah mencapai konsep yang sama lebih dahulu melalui pendekatan yang berbeda, dan perbandingan antara jail dan container Docker masih menjadi cara paling jelas untuk memahami isolasi pada level kernel. Zones masih digunakan di illumos saat ini dan menjadi fondasi setidaknya satu distribusi yang dibahas di bawah.
Mengapa Sun membuka kode sumber Solaris
Sun mengajukan CDDL (Common Development and Distribution License) kepada OSI (Open Source Initiative) pada 1 December 2004, dan OSI menyetujuinya pada 14 January 2005. CDDL didasarkan pada MPL (Mozilla Public License) versi 1.1. Ketentuan copyleft-nya berlaku pada tingkat file individual: file sumber CDDL harus tetap menggunakan CDDL, tetapi binary yang dibangun dari file tersebut dapat digabungkan dengan kode yang menggunakan ketentuan lain.
DTrace menjadi yang pertama. Kode sumbernya dirilis di bawah CDDL pada 25 January 2005, di situs opensolaris.org yang baru diluncurkan, enam hari sebelum Solaris 10 sendiri dirilis. Sebagian besar kode sistem Solaris menyusul pada 14 June 2005. ZFS diintegrasikan ke trunk pengembangan utama Solaris pada 31 October 2005 dan diterima oleh pengembang OpenSolaris dalam build 27 pada 16 November 2005. OpenSolaris juga menjadi distribusi yang dapat diinstal: 2008.05 hadir pada 5 May 2008 sebagai live CD, sedangkan 2009.06 hadir pada 1 June 2009 dengan dukungan SPARC.
Pilihan lisensi tersebut masih menentukan hal yang dapat Anda jalankan saat ini. Free Software Foundation menggolongkan CDDL sebagai lisensi perangkat lunak bebas yang tidak kompatibel dengan GPL (GNU General Public License), dan ketidakcocokan ini diwarisi dari MPL 1.1. Kernel Linux menggunakan GPLv2. Karena itu, ZFS on Linux dibangun sebagai kernel module di luar source tree kernel, bukan digabungkan ke dalamnya, dan tidak terdapat di kernel mainline. Keputusan untuk menerbitkan kode di bawah lisensi terbuka apa pun adalah hal yang paling menentukan bagi bagian cerita selanjutnya, dan sejarah lisensi open source menjelaskan alasan perusahaan mengambil keputusan tersebut.
Apa yang terjadi ketika Oracle membeli Sun
Oracle mengumumkan pada 20 April 2009 bahwa perusahaan tersebut akan mengakuisisi Sun senilai US$7.4 billion, atau US$5.6 billion setelah memperhitungkan kas dan utang Sun. Transaksi tersebut selesai pada 27 January 2010.
Pada 13 August 2010, memo internal Oracle yang ditulis oleh Mike Shapiro, Bill Nesheim, dan Chris Armes diedarkan di dalam perusahaan, kemudian bocor. Memo tersebut menyatakan kebijakan baru secara langsung: "Kami tidak akan lagi mendistribusikan source code untuk keseluruhan sistem operasi Solaris secara real-time selama proses pengembangannya, setiap malam." Memo tersebut menutup kemungkinan adanya build komunitas lanjutan: "Kami tidak akan merilis distribusi biner lainnya, seperti build nightly atau bi-weekly dari biner Solaris, atau distribusi OpenSolaris 2010.05 atau yang lebih baru." Sebagai gantinya, rilis open source akan mengikuti produk yang dirilis: "Kami akan mendistribusikan pembaruan untuk kode berlisensi CDDL atau open source lainnya yang telah disetujui setelah full release sistem operasi enterprise Solaris kami."
Pada 23 August 2010, OpenSolaris Governing Board mengesahkan resolusi yang mencatat bahwa Oracle belum menunjuk liaison untuk board tersebut dan telah mengumumkan berakhirnya kemitraan pengembangan pada 13 August. Board tersebut memberikan suara untuk mengembalikan kendali komunitas kepada Oracle berdasarkan piagam yang awalnya ditulis oleh Sun. Tindakan ini membubarkan board tersebut.
Oracle Solaris 11 dirilis pada 9 November 2011. Pada 2 September 2017, Oracle memberhentikan sebagian besar tim Solaris. Oracle Solaris 11.4 dirilis pada 28 August 2018 dan masih menjadi rilis saat ini, dengan pembaruan support repository, pada July 2026. Ketika Oracle terakhir kali merevisi kebijakan lifetime support untuk 11.4, pada January 2024, Oracle mempertahankan Premier Support hingga 2031 dan memperpanjang Extended Support dari 2034 menjadi 2037. Oleh karena itu, Solaris merupakan produk komersial yang masih didukung dengan tanggal akhir yang dipublikasikan, pada rilis yang telah menjadi rilis saat ini sejak 2018.
Bagaimana illumos bermula dan mengapa disebut fork
Pada 3 August 2010, sepuluh hari sebelum memo tersebut bocor, Garrett D'Amore mengumumkan illumos. Nama ini menggabungkan illum, kata Latin untuk cahaya, dengan OS sebagai singkatan dari operating system. Proyek ini menuliskannya sebagai satu kata dengan hanya huruf pertama yang menggunakan kapital.
Sasarannya adalah OS/Net, yang biasanya ditulis ON: konsolidasi yang memuat kernel dan utilitas sistem inti. OpenSolaris tidak pernah sepenuhnya terbuka. Beberapa bagian dirilis sebagai binary tertutup yang tidak dapat dibangun ulang oleh pihak di luar Sun, termasuk kode internasionalisasi di dalam pustaka C (libc_i18n), NFS lock manager, cryptographic framework, driver seperti mpt untuk LSI host bus adapter, serta sebagian kode platform SPARC. Mengganti komponen-komponen tersebut merupakan tugas pertama proyek ini, karena sistem operasi yang tidak dapat dibangun dari source tidak dapat dipelihara.
D'Amore berhati-hati dalam menggunakan kata fork. "Kami belum menjadi fork saat ini karena cara kami melacak OS/Net," tulisnya. Ia menjelaskan repository downstream yang akan mengikuti tree Oracle dan dapat mengirimkan perubahan kembali ke upstream. Sepuluh hari kemudian, upstream berhenti memublikasikan pembaruan. illumos secara otomatis menjadi fork karena tidak ada lagi yang dapat dilacak. Core tree, illumos-gate, telah melewati 23,000 commit per October 2026 dan masih terus menerima commit baru.
Distribusi apa yang berasal dari illumos
illumos bukan sesuatu yang Anda instal. illumos adalah pohon kode inti, dan distribusi membangun sistem yang dapat digunakan di atasnya. Berikut distribusi yang masih dirilis.
- OpenIndiana diluncurkan secara resmi pada 14 September 2010 di JISC Centre, London, dan merupakan turunan yang paling dekat dengan distribusi desktop dan server OpenSolaris yang lama. OpenIndiana adalah rolling release bernama Hipster, dan snapshot 2026.04 dipublikasikan pada 5 May 2026.
- OmniOS adalah distribusi server yang kini dikelola oleh komunitasnya sebagai OmniOS CE setelah vendor asalnya berhenti mengembangkannya.
- SmartOS adalah platform hypervisor yang dibangun di atas zones. Joyent membuatnya dan mengumumkan pada April 2022 bahwa SmartOS dan Triton akan dialihkan ke MNX Solutions, efektif 1 May 2022.
- NexentaStor menggunakan basis yang sama untuk storage appliance. NexentaStor merupakan lini komersial yang menjadi asal illumos.
- Tribblix adalah distribusi kecil yang dikelola oleh Peter Tribble dan dijelaskan di bawah.
- DilOS menempatkan tooling paket Debian di atas kernel illumos.
Seperti apa instalasi sistem illumos saat ini
Tribblix adalah contoh yang berguna karena ukurannya kecil, dokumentasinya tersedia untuk publik, dan rilisnya masih berlanjut. Milestone 41 untuk x86 diterbitkan pada 5 August 2026. Lini SPARC beralih ke Milestone 35 pada 23 September 2026, yaitu rilis sintetis yang menempatkan paket-paket yang lebih baru, termasuk gcc 10, di atas sistem operasi Milestone 34; ISO instalasi SPARC yang Anda unduh tetap merupakan Milestone 34. Proyek ini mendeskripsikan dirinya sebagai gaya retro dengan komponen modern, dan tetap menggunakan format paket SVR4 yang digunakan Solaris, alih-alih beralih ke sistem paket yang lebih baru.
Instalasi dijalankan dari live image. Anda mem-boot ISO, login sebagai user jack dengan password jack, beralih menjadi root, lalu menjalankan installer pada device disk. Berikut perintah yang dicantumkan dalam dokumentasi instalasi resmi proyek:
./live_install.sh -G c1t0d0Flag -G menulis tata letak partisi EFI (extensible firmware interface), sedangkan -b memilih tata letak MBR (master boot record) legacy. Nama disk mengikuti konvensi Solaris cXtYdZ, bukan /dev/sda. Hal ini akan menjadi perbedaan pertama yang tampak asing jika Anda berasal dari Linux. Kumpulan software disebut overlay dan dapat dicantumkan pada baris yang sama:
./live_install.sh -G c1t0d0 develop desktopSetelah instalasi, tool paketnya adalah zap. Tool ini bekerja pada overlay sehingga dependensi ditangani secara otomatis:
zap refresh
zap install-overlay develop
zap update-overlay -aItulah perintah yang dipublikasikan Tribblix. Perintah tersebut dijalankan pada hardware atau hypervisor yang Anda kendalikan. Tribblix bukan sistem yang dapat Anda temukan di balik image sekali klik pada panel kontrol VPS. SmartOS adalah pengecualian di antara sistem illumos: MNX, perusahaan yang mengambil alihnya dari Joyent, menawarkan "choice of Linux, FreeBSD, or SmartOS" melalui panel kontrol cloud miliknya sendiri (diperiksa pada 12 October 2026). Di luar itu, image illumos dalam daftar provider masih jarang ditemukan. Kesenjangan tersebut merupakan gambaran yang sebenarnya tentang deployment illumos pada 2026.
Mengapa ZFS dan DTrace bertahan lebih lama daripada Solaris
ZFS meninggalkan Solaris hampir segera setelah source code-nya dipublikasikan. Pawel Jakub Dawidek mem-porting-nya ke FreeBSD, dan ZFS menjadi bagian dari sistem sejak FreeBSD 7.0 pada 2008. Pengerjaan ZFS native untuk Linux dimulai pada 2008 dan menghasilkan rilis stabil pertamanya pada 2013. Antara 2010 dan 2013, illumos menyimpan salinan referensi source code ZFS karena source tree Oracle tertutup dan setiap port lain memerlukan sumber untuk melakukan pull. Di situlah nilai konkret fork tersebut: tanpa fork itu, port-port tersebut tidak memiliki ancestor bersama untuk menjadi dasar merge.
Proyek OpenZFS diumumkan pada 17 September 2013 untuk mengoordinasikan port-port tersebut. Matt Ahrens, salah satu penulis asli ZFS, termasuk di antara pendirinya. OpenZFS 2.0 dirilis pada 30 November 2020. Catatan rilisnya menjelaskan hasilnya secara langsung: "The ZFS on Linux project has been renamed OpenZFS! Both Linux and FreeBSD are now supported from the same repository making all of the OpenZFS features available on both platforms." FreeBSD 13.0 menghapus salinan turunannya sendiri dari illumos dan beralih ke tree bersama tersebut.
Kedua lini ZFS telah berbeda pada format disk. Lini terbuka berhenti pada pool version 28, versi terakhir yang dipublikasikan Sun, lalu beralih ke named feature flags di bawah placeholder version 5000. Dengan demikian, pool mengiklankan fitur yang digunakannya, bukan satu angka versi. Oracle terus menaikkan nomor versinya sendiri dalam source code tertutup. Pool yang dibuat pada version di atas 28 di satu sisi tidak dapat diimpor di sisi lain. Jika Anda memilih tempat untuk menjalankannya, perbandingan perilaku OpenZFS pada FreeBSD dan Linux menjelaskan perbedaan aktual antara kedua host tersebut.
DTrace menempuh perjalanan yang lebih singkat. DTrace sudah menjadi fitur standar di FreeBSD pada 7.1 pada Januari 2009, dan Apple menambahkannya ke Mac OS X 10.5 Leopard. Oracle merilis kernel code DTrace di bawah GPLv2 pada Agustus 2017. Perubahan ini banyak diperhatikan pada Februari 2018 dan menghapus hambatan lisensi untuk Linux. DTrace tidak pernah di-merge ke kernel mainline. Dalam praktiknya, tracing Linux berjalan menggunakan eBPF, dan bpftrace menyediakan bahasa scripting yang sengaja dibuat mirip dengan D milik DTrace.
Pola ini adalah inti persoalannya secara umum, bukan hanya persoalan Solaris. Sun memublikasikan ZFS dan DTrace di bawah lisensi yang memungkinkan pihak lain menyimpan salinan dan terus mengembangkannya. Ketika perusahaan yang membiayai pekerjaan tersebut berhenti, pengembangannya tetap berlanjut karena code-nya sudah berada di tree dan dikelola oleh pihak lain. Bagian Solaris yang tidak pernah dibuka, termasuk binary tertutup yang harus ditulis ulang oleh illumos, ikut berhenti bersama perusahaan tersebut. Itulah perubahan yang dihasilkan oleh open source, dan mekanisme yang sama juga mendasari cara distribusi Linux diturunkan satu sama lain.
Apakah illumos sebaiknya dijalankan pada VPS?
Bagi hampir semua orang, jawabannya adalah tidak. Tidak ada bagian di atas yang merupakan rekomendasi untuk mencobanya. illumos mendukung rentang perangkat keras yang terbatas karena kumpulan drivernya terdiri atas driver yang dahulu didukung Sun serta driver yang ditulis komunitas kecil sejak saat itu. Sebagian besar penyedia VPS hanya menerbitkan image Linux dan BSD. Pengecualiannya adalah MNX, yang mengambil alih SmartOS dari Joyent dan menawarkan SmartOS bersama Linux dan FreeBSD di cloud miliknya sendiri. Di tempat lain, instalasi illumos biasanya berarti mengunggah ISO sendiri ke penyedia yang mengizinkan image kustom, lalu memeriksa apakah disk virtual dan perangkat jaringan dikenali. Perangkat lunak pihak ketiga berasal dari kumpulan paket distribusi itu sendiri atau dari compiler milik Anda.
Ada alasan yang valid untuk menjalankannya: workload Solaris yang perlu tetap aktif, deployment zones yang sudah Anda operasikan, atau minat untuk membaca source code. Distribusi yang tercantum di atas dipelihara, dan milisnya dapat menjawab pertanyaan. Namun, itu berbeda dari menjadikannya pilihan default untuk server baru.
Jika Anda datang ke sini karena ZFS, Anda tidak memerlukan illumos untuk menggunakannya. Jalankan OpenZFS pada Linux atau FreeBSD, yang sudah menyediakan paket, dokumentasi, dan deployment yang luas. Jika Anda sedang mempertimbangkan sisi BSD dari keluarga yang sama untuk server, perbandingan praktis antara Linux dan FreeBSD sebagai platform server membahas perubahan dalam pengoperasian sehari-hari. illumos adalah asal mula tool-tool tersebut, dan memahami asalnya membantu menjelaskan banyak perilakunya, termasuk mengapa zpool dan zfs terasa sama sekali berbeda dari storage stack Linux lainnya.
FAQ
Apakah illumos sama dengan OpenSolaris?
Tidak. OpenSolaris adalah proyek dan distribusi milik Sun yang kemudian diwarisi Oracle, dan Oracle menghentikannya pada 2010. illumos adalah proyek terpisah yang diumumkan pada 3 August 2010 dan dibangun dari source code inti OpenSolaris yang terakhir dipublikasikan, yaitu konsolidasi OS/Net. Tugas pertamanya adalah mengganti komponen biner tertutup yang disertakan OpenSolaris, termasuk libc_i18n, NFS lock manager, cryptographic framework, dan beberapa driver. Tidak ada code illumos yang berasal dari Oracle setelah 2010 karena Oracle berhenti memublikasikannya.
Mengapa Linux tidak dapat menyertakan ZFS dalam kernelnya?
Lisensinya tidak kompatibel. ZFS menggunakan CDDL, yang diklasifikasikan Free Software Foundation sebagai lisensi free software yang tidak kompatibel dengan GPL. Ketidakcocokan ini diwarisi CDDL dari MPL 1.1. Linux kernel menggunakan GPLv2. Akibatnya, OpenZFS on Linux didistribusikan sebagai kernel module di luar source tree, biasanya dibangun oleh DKMS untuk setiap kernel yang Anda instal, atau sebagai module package yang telah dikompilasi. Module tersebut berfungsi dengan baik, tetapi harus dibangun ulang untuk setiap kernel baru. Karena itu, module dapat tertinggal beberapa hari atau minggu dari kernel release terbaru.
Apakah Oracle Solaris masih didukung?
Ya. Oracle Solaris 11.4 dirilis pada 28 August 2018 dan masih menjadi release terbaru yang menerima support repository updates pada July 2026. Berdasarkan kebijakan lifetime support Oracle, yang terakhir direvisi untuk 11.4 pada January 2024, Premier Support berlangsung hingga 2031 dan Extended Support hingga 2037. Oracle memberhentikan sebagian besar tim Solaris pada 2 September 2017. Sejak saat itu, 11.4 menerima support repository updates, bukan major version baru. Source code lengkapnya tidak dipublikasikan seperti ketika OpenSolaris masih memublikasikannya.
Dapatkah saya menginstal illumos pada VPS?
Terkadang, tetapi jarang melalui daftar image milik provider. MNX, yang memelihara SmartOS, menyediakan SmartOS melalui cloud control panel miliknya sendiri. Di tempat lain, Anda umumnya memerlukan provider yang memungkinkan Anda memasang custom ISO dan menggunakan console. Setelah itu, pastikan virtual disk dan network driver dalam illumos tree dapat mengenali device hypervisor. OpenIndiana dan Tribblix biasanya menjadi titik awal untuk instalasi general purpose. SmartOS dirancang sebagai hypervisor host, bukan sebagai guest yang Anda instal sendiri. Lakukan pengujian pada local virtual machine sebelum membayar layanan apa pun.
Apakah DTrace layak dipelajari jika saya hanya menggunakan Linux?
Modelnya tetap dapat diterapkan, meskipun tool-nya sebagian besar tidak. Oracle merilis DTrace kernel code di bawah GPLv2 pada August 2017 dan memelihara port untuk Oracle Linux. Namun, port tersebut tidak pernah digabungkan ke mainline kernel. Dalam praktiknya, tracing pada Linux menggunakan eBPF. Bahasa yang digunakan bpftrace dirancang agar menyerupai D milik DTrace. Karena itu, probes, predicates, dan aggregations memiliki arti yang sama pada keduanya. Mempelajari cara berpikir DTrace membuat script bpftrace dapat dibaca sejak percobaan pertama.