Biliyorsunuz GitHub aldı başını gidiyor açık kaynak kodlu camiada ve bu çılgınca gidişte yeni başlıyanlar tökezliyorlar; aynı benim de en başta olduğum gibi. İlk yaptığım katkılarımın hepsi ya timeout ya da “bu demek istediğim şey değildi ki” diyip kapatılan hatalardı veya benim hatam olarak katkıda bulunma rehberlerini okumamamdan ibaretti.

Peki ben 3 senede neler öğrendim GitHub’dan?

Katkıda bulunmak == Sanat

Sanatçının yaptığı çalışmalardan önce bir tür düşünce eylemini uygular ve bunun aynısını kod yazmak içinde söyliyebiliriz. Yani bu da demek oluyor ki yaptığınız çalışma her halükarda bir açıklaması gerekiyor aksi takdirde karşı taraf sizin gibi empati yapamaz. Kısaca her PR, Issue, review bir description veya comment ile süslenmesi gerekiyor.

Issue != Soru

Şunuda unutmamak gerek; eğer yeni başladıysanız korkmadan birde StackOverflow hesabı açın bu durumu yaşamamak için. Repositoryde eğer ki yazıyorsa “sorularınızı da sorabilirsiniz” sorun ama doğru orantıda bunun mantıklı birşey olmadığını söylemek istiyorum. Özellikle büyük projelerde direkt olarak Issue nın kapanmasıdır.

Sorun

Bir katkıya başlamadan önce (yani PR); sorun! Sormazsanız ne mi olur? Birisi ile birlikte aynı feature için çalışıyor olabilirsiniz ve o kişi sizden önce bu PR’ı yayınlarsa çok morel bozucu olabilir. Bu durumu yaşamamak için önce Issue açın ve sorun. Aynı durum Issue’yu açtıktan sonra PR kısmında uygulayın eğer o projede Review ekibi varsa sorun. Doğru bir kod standartı yakalamışmısınız, eksik bir yanı var mı, açıklama ne durumda veya CI testinden geçtimi. Sonrasında yazmayın “Bu benim PC’de çalışıyordu yeah”.

Saygı

Yani ben burada insanın insana olan saygısından bahsetmiyor olucağım. Benim burada kişinin verdiği emeğe saygıdan bahsediyorum. Repository’nize gelen bir PR hoşunuza gitmedi veya o feature herhangi bir neden ile implement etmek istemiyorsunuz. Olağan bir durumdur. Bu tip durumlarda karşı tarafa teşekkür edin emeğinden dolayı ve o kişi tekrar teşvik edici şeyler söyleyin “elimizde şöyle bir Issue var almak ister misiniz?” veya “Proje tablomuzda şu feature üzerinde çalışıyoruz katılmak ister misiniz?”. Neden mi teşvik edin? Az önce o kişi sizin Repository’e bir PR attı! Bence bu yeterli bir neden. Sizin Repository ile ilgileniyor.

Son söz

Elbette yazdığım şeyleri kod Repo’larında CODE_OF_CONDUCT, CONTRIBUTING.md gibi açıklama dosyalarında daha detaylı ve o Repo’ya spesifik olarak hazırlanmış olarak bulabilirisiniz.

Mutlu, katkıda bulunmalı kodlamalar!