Saya baru-baru ini mencoba untuk masuk ke kolaborasi open source di GitHub dan telah mengalami situasi di mana saya ingin tahu apa cara yang disukai untuk melanjutkan.
Sekitar sebulan yang lalu, saya menemukan proyek di GitHub untuk perpustakaan yang sudah saya gunakan untuk sementara waktu dan di mana saya telah menemukan (dan memperbaiki) beberapa bug.
Sebagai perintis awal ke kolaborasi GitHub, saya menemukan repo yang tampaknya memiliki volume aktivitas terbaru, memperbaiki satu bug, menambahkan tes unit, mendorong ke GitHub, dan membuat permintaan tarik. Dalam beberapa jam, pengelola repo yang saya gali telah menerima PR dan menggabungkan beberapa PR lainnya dari orang lain yang telah menunggu juga.
Didorong oleh ini, saya memperbaiki tiga bug lagi yang saya temukan, masing-masing di cabang terpisah dari repo saya sendiri, dan mengajukan masalah dan menarik permintaan untuk masing-masing secara terpisah.
Itu hanya lebih dari sebulan yang lalu, dan permintaan tarik telah duduk di sana, tak tersentuh, sejak itu. Pengguna yang repo yang saya garpu tidak tampak sangat aktif, hanya membuat 7 kontribusi total pada GitHub dalam satu tahun terakhir, dan repo itu tidak memiliki komitmen sejak permintaan tarik pertama yang saya buat.
Jadi pertanyaan saya:
Bagaimana seseorang melanjutkan dalam situasi ini? Idealnya, saya ingin menghindari membuat fragmentasi perpustakaan dengan mematikan dan membuat sejumlah besar perubahan pada repo saya sendiri yang tidak digabungkan ke repo induk. Meskipun demikian, saya ingin terus membuat perbaikan bug dan menambahkan fitur, tetapi jika saya menggabungkan semuanya ke cabang master saya dan mendasarkan semua perbaikan baru dari cabang itu, maka jika pengelola repo yang saya garpu pernah kembali, saya menang dapat memecah semua perubahan menjadi permintaan tarikan terpisah untuk setiap perbaikan fitur / bug (saya telah membaca bahwa permintaan tarikan umumnya harus menjadi satu permintaan tarikan per fitur atau perbaikan bug).
Haruskah saya menjaga satu cabang yang sejalan dengan repo asli, mendasarkan semua cabang baru saya dari yang itu, dan kemudian menjaga semua komit digabung dalam cabang master saya? Sepertinya itu akan meninggalkan saya dengan satu ton cabang dan tugas yang semakin membebani setiap kali saya perlu menggabungkan perubahan baru ke dalam cabang master saya.
Apa cara khas seseorang mendekati situasi seperti ini? Tampaknya cukup umum bahwa suatu proyek hanya akan ditinggalkan dengan kontributor asli tidak ada untuk meninjau permintaan tarik baru. Apakah ini situasi di mana seseorang harus mengambil alih kemudi dan menjalankannya? Sepertinya itu akan membuat fragmentasi jika kontributor asli pernah kembali dan ingin mengerjakan proyek lagi.