Haruskah ketergantungan dimasukkan dalam repositori?
Saya pikir dependensi harus selalu dimasukkan dalam repositori selama termasuk mereka tidak melanggar ketentuan penggunaan. Beberapa hal lebih menyebalkan daripada harus menemukan versi yang tepat dari dependensi yang tepat secara manual sebelum Anda bisa membuatnya. Tentu, ini mudah ketika Anda memiliki alat otomatis untuk melakukan ini untuk Anda, yang dapat menemukan dan mengunduh dependensi yang tepat, tetapi bagaimana jika Anda tidak terhubung ke web saat ini atau server sedang down atau proyek dependensi telah sepenuhnya dihentikan dan dimatikan? Selalu sertakan dependensi jika memungkinkan.
Haruskah ketergantungan dibangun dari dalam skrip build yang sama dengan sisa proyek, atau dari skrip build terpisah?
Kecuali ada alasan bagus untuk mengkompilasi dari sumber, gunakan versi yang sudah dikompilasi.
Dan mengapa tidak memberikan opsi dalam skrip build? Peralihan sederhana untuk memilih apakah dependensi juga harus dikompilasi atau tidak. Jika pengguna memilih untuk mengkompilasi dependensi juga, maka cukup panggil skrip build mereka sendiri dari skrip build produk Anda. Jadi pengguna dapat menjalankan skrip build dependcies secara manual atau memilih untuk membuat build lengkap dari segalanya. Tapi saya hanya akan memberikan dependensi sebagai binari jika tidak ada alasan yang baik untuk mengkompilasi mereka dari sumber. Saya pikir di dunia Open Source, beberapa lisensi mengharuskan Anda untuk mendistribusikan sumber bersama dengan produk Anda, tetapi itu tidak berarti Anda tidak dapat mengkompilasinya.
Singkatnya: Berikan paket kerja mandiri yang utuh jika memungkinkan. Ini akan memberikan kenyamanan paling bagi pengguna Anda.