Sederhananya, untuk sebagian besar sejarah *nix, tidak ada pilihan lain. Program didistribusikan sebagai tarbal sumber dan satu-satunya cara Anda menggunakannya adalah dengan mengkompilasi dari sumber. Jadi itu bukan mentalitas sebagai kejahatan yang diperlukan.
Yang mengatakan, ada alasan yang sangat bagus untuk mengkompilasi sendiri karena mereka kemudian akan dikompilasi khusus untuk perangkat keras Anda, Anda dapat memilih opsi apa yang akan diaktifkan atau tidak dan oleh karena itu Anda dapat berakhir dengan eksekusi yang disetel dengan baik, seperti yang Anda suka . Namun, itu jelas hanya sesuatu yang masuk akal bagi pengguna ahli dan bukan untuk orang yang hanya ingin mesin yang berfungsi untuk membaca email mereka.
Sekarang, di dunia Linux, semua distribusi utama telah pindah dari ini bertahun-tahun yang lalu. Anda sangat, sangat jarang perlu mengompilasi apa pun sendiri akhir-akhir ini kecuali Anda menggunakan distribusi yang dirancang khusus untuk orang yang suka melakukan ini seperti Gentoo. Namun, untuk sebagian besar distribusi, rata-rata pengguna Anda tidak perlu mengkompilasi apa pun karena hampir semua yang mereka perlukan ada dan dikompilasi dalam repositori distribusi mereka.
Jadi mentalitas CIY ini sebagaimana Anda menyebutnya pada dasarnya telah menghilang. Itu mungkin masih hidup dan menendang di dunia UNIX, saya tidak punya pengalaman di sana, tetapi di Linux, jika Anda menggunakan distribusi populer dengan repositori yang layak, Anda hampir tidak perlu mengkompilasi apa pun sendiri.
Ada beberapa penyebab mentalitas tersebut, mulai dari pengguna akhir, pengelola distribusi, dan pemasok kode/pengembang/grup proyek, dan masing-masing dari mereka benar-benar valid.
Aspek Open Source
Ada beberapa yang senang mengetahui bahwa mereka menggunakan perangkat lunak Gratis, dan memvalidasinya dengan memilih untuk mengkompilasi dari sumber. Di sinilah hal-hal seperti Linux From Scratch project/howto/guide/book masuk.
Aspek pengoptimalan dan opsi
Ingin mengkompilasi hal-hal dengan pengoptimalan khusus untuk arsitektur CPU khusus Anda? Mungkin ada opsi waktu kompilasi (atau tambalan untuk membuatnya) untuk mengaktifkan atau menonaktifkan fitur tertentu yang Anda perlukan. Contohnya adalah menambal postfix agar memiliki kemampuan untuk mengelola kuota, atau menggunakan distribusi seperti Gentoo di mana Anda dapat memilih untuk tidak menggunakan systemd, atau Anda memilih secara khusus untuk mendukung ogg/theora/vorbis/apa pun dan BUKAN mp3 karena masalah lisensi atau apa pun.
Aspek Arsitektur CPU
Apakah tempat kerja Anda menggunakan mesin non-x86/amd64 kelas atas? Paket yang Anda butuhkan/inginkan mungkin tidak tersedia dalam bentuk pra-kompilasi untuk arsitektur CPU Anda, apalagi distribusi apa pun yang Anda jalankan. Memang, sebagian besar tempat yang menjalankan perangkat keras semacam ini juga mendapat dukungan dari IBM, dll. Namun, bagaimana jika Anda mengambilnya dari obral surplus, menggali iMac lama dengan prosesor PPC, dll?
Aspek Distribusi
Distribusi "keluarga" - yaitu, Debian dengan Ubuntu, Mint, dkk dan RedHat dengan CentOS, Whitebox, Fedora, dkk - semuanya menggunakan format paket yang berbeda. Dan setiap versi dikirimkan dengan versi perpustakaan yang berbeda, dll. Bahkan untuk skrip shell file tunggal yang sederhana, menyiapkan file .deb Debian yang tepat membutuhkan waktu dan usaha. Jika Anda menulis beberapa perangkat lunak untuk menghilangkan rasa gatal, dan ingin membuatnya Gratis dan mempostingnya di gitlab, server web Anda sendiri, apa pun, apakah Anda lebih suka memposting file sumber .tar.gz generik dengan instruksi untuk membuat atau lebih suka mengemas versi untuk 2 versi Debian (stable dan testing, mungkin oldstable), beberapa versi Redhat dan Fedora sebagai RPM, TGZ untuk Slackware, profil ebuild untuk Gentoo, dll. dll. dll.
Seperti yang dikatakan @terdon, saat ini kebutuhan untuk mengompilasi sangat sedikit, terutama untuk pengguna rumahan.
Di masa lalu, di dunia Unix, saya sangat bergantung pada kompilasi sumber, misalnya saat saya mengelola sistem Solaris, AIX, Ultrix, Digital Ultrix, dan HP/UX yang terkadang tidak lagi dikelola oleh vendor, atau implementasi mana layanan umum jauh di belakang apa yang biasa digunakan oleh Unix lainnya, termasuk Linux.
Masih ada kebutuhan asli untuk mengkompilasi hal-hal saat ini, baik untuk mendapatkan perangkat lunak yang lebih tidak jelas atau usang yang tidak ada dalam repositori, atau menggunakan versi paket yang lebih baru yang Anda tidak memiliki binari yang kompatibel, atau ketika Anda ingin menambahkan fungsionalitas ekstra atau jarang, jika Anda dapat menulis tambalan atau modul untuknya.
Saya juga harus mengkompilasi perangkat lunak dengan tangan saat melakukan rekayasa ulang sistem untuk porting ke Debian dan/atau versi baru Debian yang memiliki kerangka kerja yang tidak lagi didukung oleh OS.
Misalnya, di masa lalu saya harus mengkompilasi dengan tangan daemon DHCP untuk mendapatkan dukungan (saat itu baru-baru ini) perubahan Windows pada protokol, atau untuk mendukung tambalan khusus untuk penyediaan di dunia Telecom.
Saya masih menyimpan deb repositori lokal saya untuk versi FreeRadius yang dikompilasi sendiri dari repo dev git, karena ada serangkaian versi stabil yang memiliki bug (serius) di Debian, dan biasanya .deb yang sesuai untuk Debian/Ubuntu belum cukup untuk kebutuhan kita.
Dan tak perlu dikatakan bahwa sering kali kita juga harus menjalankan/atau mengkompilasi hal-hal yang kita tulis sendiri.
Menginstal dependensi saat ini tidak sesulit di masa lalu, dan beberapa perangkat lunak bahkan memiliki file aturan khusus untuk beberapa distribusi Linux umum yang menamai dependensi untuk dikompilasi dan melakukan pekerjaan berat untuk membuat file paket dengan daftar dependensi bawaan. Menginstal paket semacam itu dari repositori lokal tidak jauh berbeda dengan menginstal paket yang sama dari repositori resmi.