Karena GNU/Linux adalah kernel dan pemakai sistem operasi memerlukan kelengkapan dari saat instalasi, pemeliharaan sistem, sampai dengan manajemen paket perangkat lunak, maka peran distribusi (atau distro) menjadi ikut penting. Hal-hal yang menjadi pertimbangan dalam pemilihan distribusi adalah: kemudahan bagi pengguna (user-friendly), paket perangkat lunak standar dan tambahan yang diikutkan, dan pengelolaan dependensi antar-paket. Selain itu, yang mulai dijadikan pertimbangan adalah adaptasi sistem terhadap kondisi perangkat keras dan perubahan versi paket perangkat lunak.
Intinya begini: sebuah sistem operasi dianggap dapat mengakomodasi dengan optimal kondisi perangkat keras yang tersedia adalah dengan jalan dibangun di atas mesin itu sendiri. Sedangkan dari sisi lain: perubahan versi paket perangkat lunak di lingkungan Open Source sangat beragam, tergantung pengembang masing-masing, dan dianggap terlalu lambat apabila pemakai menyandarkan pembaruan (upgrade) paket tersebut dengan menunggu versi berikut sebuah distribusi — seperti telah berlangsung selama ini. Alhasil, melakukan kompilasi terhadap kode sumber untuk mengatasi kedua persoalan di atas dianggap cara mendapatkan distribusi yang optimal terhadap lingkungan tempat sistem operasi bekerja (adaptif) dan sekaligus mengejar perubahan versi paket perangkat lunak.
Gentoo merupakan distribusi yang
mengawali pendekatan seperti di
atas dan saat ini sudah termasuk sebagai distribusi utama (major
distribution) Linux. Beberapa distribusi baru, seperti
SourceMage GNU/Linux juga
mengikuti pendekatan ini. Dengan demikian, yang mereka sediakan
adalah manajemen pengelolaan paket perangkat lunak di dalam
distribusi tersebut dengan menggunakan acuan pohon sumber kode
(source code tree) dan dilakukan kompilasi di setiap
instalasi dan perubahan biner. Secara singkat hal ini dikenal dengan
istilah from source, sekalipun di filosofi
Gentoo disebutkan bahwa yang lebih fundamental bukan persoalan
kompilasi sumber tersebut, melainkan, merancang sebuah teknologi
yang memungkinkan kami dan orang lain mengerjakan sesuatu yang
mereka inginkan, tanpa batasan.
Apabila saudara termasuk kelompok yang menyukai perubahan versi dengan cepat, mengikuti produk terbaru, maka keuntungan “kompilasi langsung dari sumbernya” ini cocok. Sedangkan fungsi adaptif terhadap kondisi komputer, tetap saja yang perlu diperhatikan adalah ketersediaan dukungan terhadap perangkat keras baru tersebut. Dengan kata lain, seandainya kompilasi dari sumber juga belum mengenali perangkat keras baru, dan akhirnya terpaksa dipilihkan modul untuk perangkat keras standar, maka teknik kompilasi tersebut tidak bermanfaat banyak.
Ongkos dari semua itu adalah sumber daya yang digunakan untuk melakukan kompilasi. Masih banyak di antara kita yang memiliki komputer dengan spek minimalis karena anggaran yang terbatas. Perangkat keras tersebut sudah layak untuk menjalankan GNU/Linux, namun bukan untuk melakukan kompilasi modul yang tentu menyita sumber daya lebih besar. Bagi pemakai yang baru mencoba atau memakai Linux, gambaran “melakukan kompilasi sendiri” secara psikologis masih “menakutkan”. Banyak istilah pengembangan (development) yang masih sulit dimengerti.
Seperti halnya membeli makanan yang hangat, fresh from the oven, kita memperoleh rasa dan aroma yang lebih nikmat, akan tetapi bagaimana jika memasaknya di dapur rumah kita dan koki yang meramu juga kita sendiri?
Saya mau cerita saja… Kalau urusan setup server.. saya memang kurang rapi. Biasanya saya install dengan distro seadanya (sesuai yang dimiliki pemilik server).. kemudian untuk tiap service yang diinginkan saya pake source tarball terbaru.. kompile… gitu… rasanya kalo udah jalan lebih mantap …. Utk source yg berbasis automake ( yg ada configure-nya ) biasanya ada deteksi prosesor.. nah dugaan saya hasilnya tentu lebih baik daripada yang dikompile untuk prosesor secara umum. Mungkin ada keunggulan yang bisa dimanfaatkan oleh kompiler? Mungkin mas amal lebih tau.. :D
Salah seorang pemakai Gentoo menuliskan catatan sebagai berikut: “Compiling everything from Source is cool, but on the other hand does not bring that much of a performance improvement and certainly takes time, even more if ebuilds marked for production use are strictly broken and do not compile.” — http://www.gnegg.ch/archives/000006.html
Saya sendiri belum pernah membandingkan dan terus terang sedikit penasaran, soalnya saya menggunakan AMD yang konon punya optimasi kode tersendiri, sedangkan distribusi yang saya gunakan berbasis i386 (Intel). Namun untuk melakukan eksplorasi, saya perlu berpikir lebih jauh, karena komputer hanya satu buah dan dipakai untuk operasional, jadi tidak boleh distop. Semenjak menggunakan Debian, saya lebih suka menggunakan dependensi modul yang sudah mereka atur dan hampir tidak pernah lagi melakukan kompilasi sendiri. Bahkan pada saat mau pasang Yahoo! Messenger dan terjadi persoalan dependensi salah satu “library”, saya memilih tidak usah memasang Y!M di Linux.
Keuntungan melakukan kompilasi sendiri (dari tarball) yang saya rasakan adalah apabila ketidaksesuaian modul yang dipakai sudah cukup rumit dan perlu satu “mengalah”. Misalnya, paket A yang hendak diinstal perlu paket B, dan beruntun B perlu C, dst. Sedangkan versi B dan C dst. sudah ketinggalan jaman di komputer kita, jadi lebih baik A mengalah dengan cara dikompilasi dari sumber dan kemudian biar proses kompilasi itu yang menyambungkan modul-modul tsb. Trik itu sempat saya gunakan di awal-awal menggunakan Linux, pada saat “terpaksa” bertahan dengan terminal 486 dan mau “upgrade” distribusi sudah terlalu repot.
Alasan lain tidak terburu-buru melakukan kompilasi sendiri: saya termasuk minimalis, agak malas menaikkan versi perangkat lunak apabila tidak benar-benar diperlukan. Apache, misalnya, saya masih pakai versi 1.3.x.