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

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.