Bug Berusia 20 Tahun di Enlightenment E16 Akhirnya Diperbaiki oleh Pengembang Muda
Baca dalam 60 detik
- Seorang pengembang muda bernama Kamila Szewczyk berhasil memperbaiki bug kritis berusia 20 tahun di window manager Linux klasik, Enlightenment E16.
- Bug tersebut menyebabkan desktop membeku saat mencoba memproses nama file yang terlalu panjang karena adanya kesalahan pada algoritma pemotongan judul jendela.
- Szewczyk menggunakan temuan ini untuk mengkritik industri perangkat lunak modern yang terus menambah fitur baru dan dianggap sering mengabaikan stabilitas dasar sistem.

Seorang pengembang perangkat lunak berusia 21 tahun, Kamila Szewczyk, berhasil menemukan dan memperbaiki celah kerusakan (bug) yang telah mendekam selama dua dekade di dalam Enlightenment E16, sebuah window manager Linux klasik yang pertama kali diperkenalkan pada tahun 1999.
Fakta Kunci Perbaikan Bug E16:
- Penemuan Tidak Sengaja: Szewczyk menemukan bug ini saat sedang menyusun materi kuliah di Universitas Saarland, Jerman. Desktop miliknya membeku (freeze) setiap kali ia membuka file PDF dengan nama yang sangat panjang menggunakan aplikasi Atril.
- Penyebab Masalah: Masalah terletak pada algoritma pemotongan judul jendela (window-title truncation) E16 yang tidak memiliki batas iterasi, menyebabkan pencarian titik potong judul berjalan tanpa henti dan mengunci sistem.
- Solusi Teknis: Szewczyk merilis tambalan (patch) yang membatasi iterasi hingga 32 kali, mencegah tumpang tindih judul yang merusak, serta melindungi sistem dari kesalahan pembagian dengan nol (divide-by-zero).
Enlightenment E16 merupakan cabang DR16 dari proyek Enlightenment yang dikenal memiliki komunitas kecil namun sangat berdedikasi. Bagi Szewczyk, perangkat lunak lama seperti E16 justru lebih unggul karena dianggap sebagai "perangkat lunak yang sudah selesai" dibandingkan dengan lingkungan desktop modern yang terus-menerus merilis fitur baru namun membawa ketidakstabilan.
"Kita sepertinya sedikit kehilangan arah. Kita tidak cukup antusias untuk mengakui bahwa sebuah perangkat lunak bisa dianggap lebih atau kurang selesai pada titik tertentu," ujar Szewczyk, mengkritik filosofi pengembangan perangkat lunak modern yang seringkali memaksakan fitur yang tidak perlu.
Pelajaran dari Perangkat Lunak "Kuno"
Temuan ini menyoroti bahwa meskipun perangkat lunak lawas dianggap ketinggalan zaman, kode yang dirawat oleh pengembang kompeten cenderung memiliki jumlah bug yang terus berkurang secara konsisten. Berikut perbandingannya menurut pandangan Szewczyk:
| Aspek Perangkat Lunak | Filosofi E16 (Klasik) | Filosofi Desktop Modern |
|---|---|---|
| Fokus Pembaruan | Fokus utama pada perbaikan bug dan stabilitas jangka panjang. | Sering merilis fitur baru yang berisiko membawa ketidakstabilan. |
| Keamanan | Jumlah bug terus menurun seiring waktu (monotonik). | Jutaan baris kode baru berpotensi menyimpan bug yang belum ditemukan. |
| Saran Penggunaan | Gunakan perangkat lunak yang fungsionalitasnya sudah matang. | Disarankan tetap pada rilis dukungan panjang (ESR/LTS). |
Bug ini, jika ditemukan di lingkungan desktop modern, dapat dikategorikan sebagai celah Denial of Service (DoS) yang sangat mengganggu meskipun tidak merusak data. Szewczyk meyakini bahwa masih banyak bug serupa yang bersembunyi di balik jutaan baris kode sistem operasi modern saat ini.



