Dalam jawaban Apa retort kanonik untuk "itu open source, kirim tambalan"? , banyak orang menyuarakan pendapat bahwa hanya meminta orang untuk mengirimkan tambalan adalah arogan dan kasar.
Tetapi bagi saya tampaknya sebagai pengembang pada proyek open source apa pun, Anda akan melihat lebih banyak permintaan fitur pada milis daripada yang dapat Anda terapkan. Jadi ketika seorang pengguna berkata, "Saya ingin melihat fitur X", kebenaran dari masalah ini biasanya bahwa peluangnya untuk diimplementasikan sangat tipis kecuali mereka mengirimkan tambalan sendiri. Juga, terkadang sedikit dorongan mungkin yang diperlukan untuk mengubah pengguna menjadi kontributor.
Di sisi lain, Anda tidak ingin menakut-nakuti (calon) kontributor dengan mengatakan tidak sopan.
Jadi, bagaimana Anda mengatakan "silakan kirim tambalan alih-alih meminta fitur" dengan ramah?
Perbarui: Terima kasih untuk semua saran! Saya melihat kebanyakan dari mereka membutuhkan penjelasan yang cukup panjang. Tapi karena saya lebih suka menghindari (a) menjelaskan hal yang sama setiap hari (hanya butuh terlalu banyak waktu), atau (b) menggunakan snippet yang saya tempelkan ke email (itu menjadi sangat cepat dan cepat), saya bertanya-tanya: Apakah Adakah yang menulis ini di dokumen yang bisa saya tautkan?
(Hal-hal khusus proyek seperti cara menulis tes, mengkompilasi kode, dan mengirimkan tambalan masih perlu didokumentasikan tentu saja, tapi saya pikir masalah teknis tersebut harus masuk ke CONTRIBUTING.txt.)
sumber
Jawaban:
Kamu tidak.
Sejauh yang saya alami, kontributor kontributor adalah orang-orang yang bermain-main, dan tidak akan mengirimkan permintaan fitur hanya dengan memintanya. Mereka biasanya akan memintanya dengan beberapa tingkat partisipasi sudah:
Coder yang mengirimkan permintaan fitur biasanya melakukannya karena suatu alasan. Beberapa di antaranya termasuk (dan saya tahu fakta bahwa dua yang terakhir terjadi di WordPress, misalnya):
Biasanya, permintaan fitur akan datang dari pengguna akhir yang tidak dapat berkontribusi tambalan meskipun mereka menginginkannya. Apalagi saat diserahkan di luar sistem tiket.
Saya pikir prioritas Anda yang paling penting adalah tidak menunda potensi / kontributor yang ada, daripada mencoba untuk secara aktif merekrut kontributor baru. Ini sangat penting, dan saya mengatakan ini dari pengalaman. Saya punya cara aneh untuk mengambil basis kode baru, yang melibatkan membaca kode secara sepintas untuk mendapatkan beberapa tingkat pemahaman tentang itu, melompat ke sistem tiket, dan memperbaiki bug yang terlihat mudah untuk mempelajari internal secara mendalam (dan pengarsipan yang baru saat saya uji). Selama bertahun-tahun saya telah membanjiri beberapa proyek dengan puluhan tiket dan tambalan. Seringkali tiket-tiket ini tidak mendapat perhatian tepat waktu (bahkan pengakuan, misalnya, teruskan!) - termasuk ketika mereka datang dengan langkah-langkah mendiagnosis dan unit test yang terdokumentasi.
sumber
Singkatnya, Anda menjelaskan bahwa Anda tidak memiliki waktu tanpa batas untuk melakukan pekerjaan mereka secara gratis. (Anda dapat melewati bagian 'gratis'), dan mereka dapat berkontribusi kapan saja, bukan proyek "Anda", proyek semua orang.
jadi Anda berkata "Kami benar-benar minta maaf, itu ide yang bagus tapi kami terlalu sibuk dengan semua pekerjaan lain yang terjadi, kami akan menambahkannya ke daftar, tetapi jika Anda benar-benar ingin memasukkan ini, dan Anda ingin membantu kami dengan berkontribusi pada proyek maka itu akan luar biasa.kami memiliki beberapa dokumentasi untuk membantu orang-orang membuat perubahan pada proyek, mereka ada di sini, jadi jika Anda memiliki keterampilan dan waktu dan ingin membantu kami, maka silakan pergi dan kirim kami tambalan dengan perubahan Anda. Kami mungkin harus membuat beberapa mod untuk itu ketika kami mendapatkannya sehingga cocok dengan standar proyek, tetapi Anda akan melakukan kami bantuan besar dengan setidaknya memberi kami dukungan untuk pekerjaan ini dan kami akan senang Anda karena membantu kami ".
Tentu saja, begitu Anda mulai meminta tambalan, Anda tidak akan pernah, membiarkannya tergeletak di sistem tiket terlalu lama, jika Anda mendapat banyak, Anda akan mengintegrasikannya lebih dari melakukan pekerjaan yang dulu Anda lakukan. Anda mungkin tidak suka itu, tetapi itu perlu jika Anda ingin tambalan terus datang.
sumber
Tetap sopan, dan jelaskan situasinya dengan jelas. Bagaimana dengan sesuatu seperti:
Lihat, Anda tidak bisa hanya mengatakan, "Mengapa Anda mengganggu saya dengan permintaan Anda? Saya di sini tidak bekerja untuk Anda secara gratis; jika Anda menginginkan fitur ini, pergi dan terapkan sendiri". Orang tersebut mungkin bukan pengembang, mungkin tidak tahu bahasa yang digunakan untuk mengembangkan produk, dll.
Jadi, alih-alih bersikap kasar, Anda mungkin menyarankan untuk berpartisipasi dalam proyek ini, dan juga menjelaskan mengapa Anda mungkin tidak dapat mengimplementasikan fitur itu sendiri.
Cara lain untuk tidak bersikap kasar adalah dengan tidak perlu mengatakan apa-apa. Jika Anda memiliki situs web di mana pengguna aplikasi Anda dapat menyarankan fitur baru dan melaporkan bug, Anda mungkin ingin mengurutkan item berdasarkan prioritas mereka: misalnya jika suatu fitur diminta oleh 10.000 pengguna, dan satu lagi diminta hanya oleh 10 , ada kemungkinan bahwa yang pertama akan diimplementasikan terlebih dahulu.
Di situs web semacam itu, Anda selalu dapat memberikan saran "implementasikan sendiri" untuk fitur-fitur yang, setelah beberapa hari atau minggu, belum menerima cukup upvotes dari pengguna lain.
sumber
Sungguh, apakah itu sangat sulit?
sumber
Nah, alih-alih hanya mengatakan "kirim tambalan", Anda harus sedikit lebih rumit.
sumber
Inilah yang biasanya saya katakan ...
sumber
Selain cara-cara yang bagus untuk mengatakan "Kirim tambalan", juga menyediakan dokumentasi yang berorientasi pada pengembang sehingga orang lain yang benar-benar ingin fitur tersebut dapat mempercepat proyek Anda dengan mudah. Banyak proyek yang tidak ramah bagi pengembang dan membutuhkan berhari-hari minimal membaca ribuan baris kode dan berton-ton kasus uji kecil yang muncul di berbagai bagian sistem untuk memperbaikinya.
Jika Anda memberikan bantuan kepada pengembang yang mungkin, mereka akan lebih dari bersedia untuk memberikan bantuan. Ini berarti dokumentasi kode yang baik, halaman wiki yang bagus menjelaskan alur (atau diagram UML / papan tulis yang baik), dan cara mudah untuk mendapatkan tambalan yang diterima.
sumber
Saya sangat suka cara github mendorong orang lain untuk membayar proyek. Beberapa versi dari proyek yang sama dapat ada di bawah akun pengguna yang berbeda. Jika Anda tidak menyukai arahan yang saya ambil dari proyek ini, tolong tolong. Anda dapat dengan mudah mengirimkan permintaan tarik tetapi tidak terjebak menunggu saya menerimanya.
Jadi jawaban saya sering, cukup pertahankan.
sumber