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. Webend Ankara

    26.05.2018
    Açık kaynak pratikleri
    Eser Özvataf

    View Slide

  2. HAKKIMDA
    ESER ÖZVATAF
    ▸ Kurumsal Mimari @ KoçSistem
    ▸ Açık Kaynak Gönüllüsü
    ▸ Halen Lisansüstü Öğrencisi
    /eserozvataf
    /eserozvataf

    View Slide

  3. HAKKIMDA

    View Slide

  4. HAKKIMDA
    acikkaynak.info

    View Slide

  5. ‣ NASIL BAŞLADIM?
    ‣ AÇIK KAYNAK
    PRATİKLERİ
    ‣ KURUMLARA
    UYARLANMASI
    Bugün bahsedeceklerim:

    View Slide

  6. 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.

    View Slide

  7. NASIL BAŞLADIM?

    View Slide

  8. NASIL BİR EKOSİSTEM? BURADA NELER NORM?
    AÇIK KAYNAK PRATİKLERİ

    View Slide

  9. AÇIK KAYNAK PRATİKLERİ
    15-20 YIL ÖNCE…
    GNU / Linux Apache

    View Slide

  10. AÇIK KAYNAK PRATİKLERİ
    BUGÜN…

    View Slide

  11. AÇIK KAYNAK PRATİKLERİ
    HATTA…

    View Slide

  12. 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.

    View Slide

  13. 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)

    View Slide

  14. 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

    View Slide

  15. 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ı

    View Slide

  16. KURUMLARA UYARLANMASI
    BUNLAR KAPALI GELİŞTİRMEDE KULLANILABİLİR Mİ?

    View Slide

  17. 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

    View Slide

  18. KURUMLARA UYARLANMASI
    BUGÜN BAŞLAMAK İÇİN ÖNERİ

    View Slide

  19. KURUMLARA UYARLANMASI
    SCRUM KULLANAN ÖRNEK BİR MODEL
    Product Backlog
    Sprint Board
    Development
    Documentation
    Testing
    CI / CD
    Review
    Release
    Issue Board
    Issue Review

    View Slide

  20. 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.

    View Slide

  21. KURUMLARA UYARLANMASI
    ▸ Sorular?
    /eserozvataf
    /eserozvataf
    SON OLARAK…

    View Slide

  22. TEŞEKKÜRLER

    View Slide