Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Açık kaynak pratikleri

Açık kaynak pratikleri

Webend Ankara 26.05.2018

Avatar for Eser Ozvataf

Eser Ozvataf

May 25, 2018
Tweet

More Decks by Eser Ozvataf

Other Decks in Programming

Transcript

  1. HAKKIMDA ESER ÖZVATAF ▸ Kurumsal Mimari @ KoçSistem ▸ Açık

    Kaynak Gönüllüsü ▸ Halen Lisansüstü Öğrencisi /eserozvataf /eserozvataf
  2. NASIL BAŞLADIM? AÇIK KAYNAK KATILIMCILIĞIMIN EVRELERİ ▸ Kod paylaşımı için

    üniversitedeki çalışmalarımı GitHub üzerinde paylaştım. ▸ Tekrar kullanılabilen (reusable) kod parçalarını arşivleme amacıyla kütüphaneler haline getirerek paylaştım. ▸ Deneysel (Proof of Concept) projeler bunların yanına eklendi. ▸ Kullandığım başka kütüphaneleri takip edip, issue’larına yazmaya başladım. ▸ Diğer projelere kod katkısı yapmaya başladım. ▸ Kendim projeler geliştirmeye çalıştım.
  3. AÇIK KAYNAK PRATİKLERİ BİLİMSEL METODA YAKINLIK ▸ Birçok anlamda bilimle

    benzeşmesi ▸ Şeffaftır, herkes tarafından kullanılabilir ve gözlemlenebilir. ▸ Kişisel/kurumsal çıkarlar ana hedef değil, ancak yan faydadır. ▸ Deneyselliği sever, farklı yaklaşımların da sonuçlarını görmek için cesaretlidir. ▸ Tutkulu, özverili, projeye inanan katılımcılarını kendi bulur.
  4. AÇIK KAYNAK PRATİKLERİ HERKESİN KATILIMCI OLARAK DAHİL EDİLEBİLİRLİĞİ ▸ Kaynakların

    erişime açıklığı ▸ Kaynağın üzerinden takip edilebilir yaklaşımlar/akışlar ▸ Debug > Fork Et > Düzelt > PR akışı ▸ Nasıl katkıda bulunulacağına yönlendirmeler ▸ Katkı standartlarının kontrolünü sağlayan akışlar (CI)
  5. AÇIK KAYNAK PRATİKLERİ ÜRÜN, YAZILIM VE YAZILIMCI NİTELİĞİNİ YÜKSELTMESİ ▸

    Takım çalışması için sürüm yönetim sistemlerini omurga olarak kullanımı ▸ Branching model benimseme zorunluluğu ▸ CI/CD’nin Pull Request seviyesine çekilmesi ▸ Test’in ve dokümantasyonun neredeyse kutsallaştırılması ▸ Roadmap/Release Cycle’ların belirginliği ▸ UNIX felsefesi ile tekrar kullanılabilir (reusable) bileşen üretimi
  6. AÇIK KAYNAK PRATİKLERİ KNOW-HOW PAYLAŞIMI VE GERİBİLDİRİMLERİN SAĞLANMASI ▸ “Katkı

    yalnızca kod seviyesinde değildir” anlayışı ▸ Issue Management üzerinden bazen kod bazen ürün seviyesinde geri bildirimler, katılımcılar ve paydaşlarla iletişim imkanı ▸ Scrum’da PBI refinement’a daha az gereksinim ▸ Tüm bug, karar, soru ve PR’lar issue management üzerinden ilerlenmesi nedeniyle yaşayan bir knowledge base’in oluşması
  7. KURUMLARA UYARLANMASI 0/1 DEĞİL, POLARİZASYON Açık Kaynak Geliştirme Kapalı Geliştirme

    ^ Herkese Açıklık Kurum İçi Açıklık Yalnızca Sorumlu Kişi
  8. KURUMLARA UYARLANMASI SCRUM KULLANAN ÖRNEK BİR MODEL Product Backlog Sprint

    Board Development Documentation Testing CI / CD Review Release Issue Board Issue Review
  9. KURUMLARA UYARLANMASI SOMUT KAZANIMLAR ▸ Herkesin ulaşabileceği bir proje envanteri

    oluşuyor. ▸ Geliştirici, ürün/proje yöneticisi, kullanıcı iletişimini güçlendiriyor. Ortak yazılım kültürünün oluşması sağlanıyor. ▸ Koda erişimi olan herkes kendi sorumluluk alanlarının dışında da katkıda bulunabiliyor. Utilizasyon ve cross functioning artıyor. ▸ Kurumsal hafıza (knowledge base) oluşuyor. Hangi karar neden alınmış, ne gibi çözümlere sahibiz soruları yanıtsız kalmıyor. ▸ Geribildirimler, gözden geçirmeler, code reviewlar mümkün hale geliyor.