Sejujurnya, saya sedih melihat perkembangan GNU/Linux saat ini. SABDL mengumumkan bahwa Ubuntu akan pindah dari Upstart ke SystemD. Hal ini mengingat keputusan Debian yang memutuskan untuk pindah dari SystemV ke SystemD.

Bug#727708: init system other points, and conclusionWe seem to be at the point of the process where at least those of us who did early investigation are stating conclusions. I think I have enough information to state mine, so will attempt to do so here.
via Debian

Tulisan Russ Allbery memberikan pemaparan jelas mengenai alasan pemilihan ini. Dari tiga kandidat pengganti SystemV (OpenRC, Upstart, Systemd), SystemD menang di atas segalanya. Integrasi yang ketat dengan kernel Linux adalah salah satu alasannya.

Gentoo Forums :: View topic – The Politics of systemdepisode #299) was giving some of his reasons why having Debian choose to go with systemd was a good thing for Linux. Personally, I felt that all of the reasons he gave were pretty weak and did not require systemd (they included mainly cgroups & socket activation).
via Gentoo

Sebagai pengguna Gentoo dan pengguna sistem GNU/Linux yang lama, saya juga merasakan sentimen yang sama dengan pengguna Gentoo yang lain. SystemD memaksakan kehendak untuk menggantikan semua hal. Dalam beberapa tahun ini, akan ada banyak sistem yang takkan jalan tanpa SystemD.

Ini lebih kecenderungan politik dan sungguh bertentangan dengan falsafah UNIX. UNIX memperkenalkan disain yang modular. Ada lapisan-lapisan yang bekerja dengan lapisannya sendiri. Satu aplikasi berjalan untuk menunaikan tugas spesifik saja dan ia mengerjakan tugas tersebut dengan sangat baik.

Untuk mengerti falsafah ini, kita mesti mengerti politik divide et impera yang dianut VOC dulu. Saya dulu mengerti tentang falsafah ini ketika belajar Pemrograman Fungsional dengan matematika Lambda-nya. Waktu itu saya belajar Haskell.

Inti dari falsafah ini sebagai berikut: sebuah masalah dipecah-pecah menjadi banyak permasalahan yang kecil. Masalah yang kecil tersebut kemudian dipecah kembali. Hal ini dilakukan hingga unit terkecil masalah tersebut sudah mencapai titik yang dapat diselesaikan langsung.

Itu sebabnya, di dalam UNIX (dan sistem-sistem yang menirunya), ada banyak aplikasi perkakas kecil yang bisa membaca pipa aplikasi dan meneruskan keluarannya ke pipa perintah selanjutnya. Jadi, setiap aplikasi kecil tersebut saling terisolasi.

Fungsionalitas yang terisolasi ini membuat uji unit lebih mudah. Faktor ketergantungan pihak eksternal pun minim. Untuk mencari tahu kesalahan ada di mana, isolasi ini membuat kita bisa mendeteksi di mana letak kesalahan yang menyebabkan proses terhenti.

Tentu, zaman sudah berganti. Mungkin banyak orang yang sudah tak paham lagi tentang isolasi masalah. Mereka pikir sebuah aplikasi pada suatu lapisan harus tahu lapisan di atasnya atau di bawahnya.

Contohnya, saya melihat banyak orang yang melakukan optimasi jaringan bahkan sampai berusaha menggabungkan lapisan 3 dan 4, misalnya. Ini demi pengaplikasian jaringan paket berbasis konten. Kompleksitas pun bertambah.

Disain yang seperti ini akan rawan galat. Galat ini tak dapat ditelusuri dengan mudah karena banyak faktor yang mempengaruhi. Akhirnya, galat ini yang mungkin mendekatkan kita kepada Tuhan YME.

SystemD pun nampaknya akan menggantikan banyak hal. Ia telah menggantikan UDEV dan beberapa skrip non-init. BlankOn 9 Suroboyo pun sudah terkena dampaknya. Sudah lama terindikasi memang bahwa mau tak mau dunia harus mengadopsi SystemD!

Saya hanya memprediksi, seperti halnya Linus yang menyesali keputusannya membuat kernel monolitik, suatu saat perancang sistem GNU/Linux akan menyesali keputusan saat ini. SystemD akan berkembang menjadi bloated seperti Windows.

Disainnya yang monolitik hendak menggantikan banyak fungsi membuat ia menjadi kompleks. Separasi yang tidak jelas menjadikan disain menjadi amburadul. Sistem yang kompleks sungguh rawan ketergantungan antar komponen-komponennya sendiri.

Bila saatnya itu tiba, maka akan sulit rasanya mematikan sebuah fitur yang tak perlu. Bisa jadi fitur tersebut menjadi sebuah ketergantungan siklik dengan fungsi yang lain. Ah, malam ini panjang dan menyedihkan. 🙁

Met Valentin bagi yang merayakan.