Github ile Açık Kaynak Projelere Katkıda Bulunmak

Ceren
3 min readAug 11, 2020

--

Açık Kaynak Nedir?

Bir yazılımın tüm kaynaklarının anlaşılabilir bir şekilde herkesle paylaşılır olması hali açık kaynak yazılımı oluşturur. Örneğin bizim bir projemiz var. Projemize ait kodların okunabilir bir şekilde Github üzerinde herkesle paylaşır olması bunu açık kaynak yapar.

Github yerine kullanılabilecek Bitbucket, Beanstalk, SourceForge gibi başka platformlarda bulunmakta…

Kursun Amacı Nedir?

Açık kaynak ve Github kullanımına dair araştırma yaparken aklımda bir çok sorunun belirdiğini farkettim. Bu sorular üzerine ise derli toplu bir kaynak bulamadım. Bunu farkettiğimde başlangıç seviyesi birine en kısa sürede karşımdakini sıkmadan ve kafasını karıştırmadan bunları nasıl anlatabileceğimi düşündüm. Tabiki bu konuda aklıma ilk gelen yer Udemy oldu.

Udemy ’de bir kurs hazırladım. Bu kursta Github üzerinde proje yönetimine dair ihtiyaç olan temel şeyleri bir araya toplayarak öğrencilere aktarmayı hedefledim.

Doğru Projeyi Bulmak…

Github kullanmanın bir çok sebebi olabilir. Dosya depolama, proje yönetimi, görev takibi, herhangi bir kod parçacığını paylaşmak, projelere katkıda bulunmak ve aktif geliştirme yapmak…

Öncelikle ne için buradayız bunu belirlemeliyiz. Kendinizi geliştirmek için bir proje arıyorsanız ilgilendiğiniz konulardaki projelere ulaşmak için anahtar kelimeleri kullanmalısınız.

Yetkinlik alanınız nedir bunu iyi analiz etmeniz gerekir. Bununla birlikte geliştirmek istediğimiz yönler neler bunları tesbit etmelisiniz.

Proje Yönetimi

Hayatımda her zaman bir şey yapmadan önce oturup yaparken neler yaşayacağımı düşünürüm. Eksilerini artılarını önüme koyar tartarım. Bu alışkanlığımdan olsa gerek yapacağım her geliştirme için bir analiz yaparım.

Analizimden mutlaka deli sorular çıkar. Bu soruların cevaplarını netleştiririm ve çıktı olacak şeye dair yapacağım çalışmanın en doğru yöntemlerini, güncel teknoloji seçeneklerimi değerlendiririm.

Ve sonunda bir şeyler yapmaya başlarım…

İşte bu süreçte o kadar çok şey geçiyor ki aklınızdan bunları bir yere yazma ve takip etme ihtiyacı hissediyorsunuz. Bunun için Github ‘ta Project sekmesi altından bir proje yönetim şablonu oluştururum ve o projeye ait tüm soru işaretlerini, geliştirme süreçlerini buradan takip ederim.

Proje yönetimi, analiz, tasarım ve geliştirme sürecinin netleştirilmesi bir yazılım geliştiricinin her zaman önceliği olmalıdır.

Github Kavramları

Repository = Depolama alanı = Proje dosyalarınızın saklandığı alan

Pull Request = İstek Göndermek = Projede ben bir değişiklik yaptım, bu değişikliği kabul eder misin?

Issues = Konu = Projeyle ilgili iyileştirme fikri göndermek, hata bildirimi göndermek için kullanılan geliştirme konularının konuşulduğu alan

Push = İttirmek = Yapılan değişikliği ana geliştirme dalına göndermek

Pull = İndirmek = Projeye ait değişiklikleri indirmek

Clone = Kopyalamak = Projeyi indirmek olarak algılanabilir.

Fork = Yol diyelim = Ana projeden ayrı bir yola çıkmak

Branch = Dal = Ayrı bir yola çıkmak demiştik. Bu da o yolun bir alt bölümü

Proje Kopyalama ve Geliştirme Süreci

Geliştirme yapabileceğimiz bir proje bulduktan sonra:

  • Profiline Forkla
  • Bilgisayarına indir.

git clone projeLinki

  • Yeni bir branch oluştur.

git checkout -b branchAdin

  • Projeni kur. Çalıştır. Değişikliklerini yap.
  • Değişiklik yaptığın dosyaları listele.

git status

  • Değişiklik yaptığın dosyaları branch içerisine ekle.

git add dosyaYolu

  • Değişiklikleri kaydet.

git commit –m “değişiklik mesajını yaz.”

  • Değişiklikleri github projene gönder.

git push -u origin “branch adın”

  • Github profiline git. Compare And Pull Request butonu ile ana projeye değişiklik yapma isteği gönder.

Açık Kaynağın Gücü

Bugün nasıl sosyal medyaya yüklenen bir haber, video, görsel hızla Dünya’nın diğer ucundaki birine dokunabiliyorsa, açık kaynakta böyle bir şey…

Bitcoin ‘in nasıl geliştirildiği ve piyasa çıktığıyla ilgili şu makaleyi incelemenizi isterim.

Kısaca;

“9 Kasım 2008 tarihinde Bitcoin projesi, açık kaynak kodlu projelerin kayıt edilerek yüklendiği ve diğer kullanıcılara sunulduğu SourgeForge.net isimli siteye kaydedilmiştir.”

Gördüğünüz gibi bir site üzerinden yayınlanan açık kaynak kodlar üzerinden sen, ben, o geliştirme yaparak bugün ki Bitcoin oluştu…

--

--

Ceren