Geçenlerde GitHub’da açık kaynaklı işbirliğine girmeye çalıştım ve ilerlemenin tercih edilme şeklinin ne olduğunu merak ediyorum.
Yaklaşık bir ay önce GitHub'da bir süredir kullandığım ve birkaç hata bulduğum (ve düzelttiğim) bir kütüphane için bir proje buldum.
GitHub işbirliğine ilk adım attığımda, en yüksek aktivite hacmine sahip görünen, bir hata düzelten, birim testleri ekleyen, GitHub'a itilmiş ve çekme isteği yapan repo buldum. Birkaç saat içinde, bahsettiğim deponun sağlayıcısı, PR'ı kabul etmiş ve diğer bazı PR'lerle de beklemekte olan diğer kişilerden birleşmiştir.
Buna bağlı olarak, her biri kendi depomun ayrı bir kolunda bulduğum üç hata daha düzelttim ve her biri için ayrı ayrı bir sorun oluşturup talepte bulundum.
Bu sadece bir ay önce oldu ve çekme talepleri o zamandan beri orada dokunulmamış, orada oturuyorlardı. Repo'yu bıraktığım kullanıcı, çok aktif görünmüyor, geçen yıl GitHub’a yalnızca 7 katkı yaptı ve bu repo, yaptığım ilk çekme isteğinden bu yana hiçbir taahhütte bulunmadı.
Öyleyse benim sorum:
Bu durumda kişi nasıl ilerler? İdeal olarak, kendi depomda ana repo ile birleştirilmemiş bir sürü değişiklik yaparak, kütüphanenin parçalanmasını önlemek istemem. Bununla birlikte, hata düzeltmeleri yapmaya ve özellikler eklemeye devam etmek istiyorum, ancak ana şubeme her şeyi birleştirip bu daldaki tüm yeni düzeltmeleri temellendirirsem, o zaman çatalladığım repo sağlayıcısının geri gelmesi durumunda kazandım. Tüm değişikliklerin her özellik / hata düzeltme için ayrı çekme isteklerine bölünmesi mümkün değil (çekme isteklerinin genellikle her özellik veya hata düzeltme için bir çekme isteği olması gerektiğini okudum).
Orijinal repo ile uyumlu olan bir şubeyi tutmalı mıyım, tüm yeni şubelerimi bunlardan uzak tutmalı ve ardından tüm şubelerimi ana şubemde birleştirmeli mi? Her zaman yeni şubeleri bir araya getirmem gerektiğinde, beni bir sürü dalla ve giderek daha ağır bir işle bırakacak gibi görünüyor.
Bunun böyle bir duruma yaklaşmasının tipik yolu nedir? Yeni çekme taleplerini gözden geçirmek üzere olmayan bir projenin asıl katkıda bulunanlarla birlikte terkedilmesi oldukça yaygın görünüyor. Bu, birinin dümeni alması ve onunla koşması gereken bir durum mu? Asıl katkıda bulunanlar bir daha geri gelirlerse ve proje üzerinde tekrar çalışmak isterlerse, parçalanma yaratacak gibi görünüyor.