1 puan yazan GN⁺ 8 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Rust linter'ı Clippy, son birkaç ayda pull request incelemelerinde darboğaz yaşadığı için, katkıcıların önce birbirlerinin değişikliklerine göz attığı ortak bir inceleme süreci başlatıyor
  • Bakım işleri için maddi destek alan hiçbir Clippy ekip üyesi olmadığından, inceleme ve yönetim yükü bakımcıların boş zamanına yığılıyor ve tükenmişlik riski artıyor
  • Yeni süreçte bir katkıcı pull request açtığında @rustbot, önce henüz inceleme almamış diğer pull request'lere bakılmasını öneriyor
  • Başka katkıcıların pull request'lerini inceleyenler secret list'e ekleniyor ve ardından kendi pull request'leri ekip inceleyicileri tarafından önceliklendiriliyor
  • Clippy ekibi, Rust Foundation Maintainers Fund ile topluluk katılımının bakımcıların yükünü azaltıp projenin durumunu iyileştirmesine yardımcı olmasını umuyor

Clippy'nin yaşadığı inceleme darboğazı

  • Clippy, çok sayıda katkıcının özellik ve hata düzeltmelerini pull request olarak gönderdiği bir Rust linter projesi
  • Son birkaç ayda inceleme kapasitesi yetersiz kaldığı için pull request işleyişinde darboğaz oluştu
  • Diğer bazı Rust ekiplerinden farklı olarak, şu anda Clippy ekibinde Clippy çalışmaları için maddi destek alan kimse yok
    • Yarı zamanlı ölçekte bile destek alan kimse bulunmuyor
    • Bakım yükü bakımcıların boş zamanına kalıyor
    • Bu yapı tükenmişliğe yol açabiliyor
  • Ekip, yeni oluşturulan Rust Foundation Maintainers Fund'ın Clippy bakımcıları için finansman sağlamaya yardımcı olmasını umuyor

Katkıcıların birbirini inceleme süreci

  • Yeni sürecin amacı, katkıcıların birbirine yardım ederek pull request'lerin daha hızlı incelenip birleştirilmesini sağlamak
  • Bir katkıcı pull request açtığında, akış önce başka bir katkıcının pull request'ine göz atılması yönünde ilerliyor
    • Her katkıcı en az bir pull request inceliyor
    • Bu yapı, başkalarının katkılarının uzun süre sahipsiz kalmamasını amaçlıyor
  • @rustbot, yeni pull request açan kişiyi başka pull request'lere bakması için yönlendiriyor
    • Mümkünse henüz hiç inceleme almamış pull request'ler öncelikli hedef oluyor
  • İncelemesini tamamlayan katkıcılar özel bir secret list'e ekleniyor
    • Sonrasında kendi pull request'leri ekip inceleyicileri tarafından öncelikli ele alınıyor
  • Bu yaklaşım, Bevy projesindeki Open Code Review sisteminden ilham alıyor
  • Clippy, daha önce de projenin sağlığını iyileştirmek için güncellemeler yapmıştı
    • 2025'teki Feature Freeze başarılı olmuştu
    • Bu süreçte ekip; bilgi, güven ve Rust topluluğunun Clippy ile doğru çalışma biçimlerine önem verdiğine dair güven kazandı
  • Clippy ekibi, topluluğun yardımıyla Clippy'nin daha güçlü ve daha sağlıklı hâle gelebileceğini düşünüyor

1 yorum

 
GN⁺ 8 시간 전
Lobste.rs yorumları
  • Açıkçası bu duyurudan çok, yazıda bağlantısı verilen Bevy’nin açık inceleme süreci daha ilginç geldi. Daha önce burada da paylaşılmış ama pek tartışılmamış bir yazı; gerçekten düşünceli ve akıllıca bir yaklaşım olduğunu düşünüyorum.
    İyi çalışmasına sevindim; şaşırmadım da. Clippy’nin de benzer sonuçlar almasını umarım.

    • O yazıyı paylaşan bendim. Eskiden Bevy oyun motoruna epey aktif katkı veriyordum ve inceleme sürecini de oldukça beğeniyordum.
      Bu sistem küçük ve kademeli PR’ları teşvik ediyor; çünkü herkes, hatta ilk kez katkı verenler bile bunları çok daha kolay inceleyebiliyor. Büyük PR’ların birleştirilmesi çok daha uzun sürüyordu ve bence doğrusu da bu. Çünkü incelemeleri daha zor ve kod hakkında belli bir düzeyde anlayış gerektiriyor. Genelde çok sayıda büyük özellik içeren PR’ları, bakımcılar ya da o alandaki uzmanlar sonuna kadar ilerletiyordu.
      O yazıyı beğendiyseniz aynı yazarın Bevy bakımıyla ilgili Triage-by-controversy and community review ve The Tyranny of Nits yazılarını da beğenebilirsiniz.
    • Bevy’ye hiç katkıda bulunmadım ama onların çalışma grupları yapısı, benimsenmesinden bu yana iyi sonuçlar vermiş gibi görünüyor.
  • Katkıda bulunduğum açık kaynak projelerde PR incelemelerine çok yardımcı olmamamın nedenlerinden biri, neredeyse hiç uzmanlığım olmadığı için bunu yapmaya hakkım olup olmadığından emin olamamam.
    Clippy ve Bevy’nin süreçleri, daha az deneyimli inceleyicilerin de meşru biçimde katılabilmesini sağlıyor; bence oldukça iyi bir yöntem.

  • Başlığa bakınca beklediğim şeyden biraz farklı çıktı.

  • Birkaç hesap açıp birden fazla hesapla PR göndererek kolayca kötüye kullanılabilir gibi görünüyor.
    Böyle yaparak ne elde edileceğinden pek emin değilim ama havalı katkıcıların gizli listesine girmek bile başlı başına bir teşvik olabilir.

    • Bu yönteme ilham veren Bevy’nin inceleme sürecinde inceleme takası çok yaygın. Ben ve başka bir katkıcı birbirimizin pull request’lerini inceliyoruz; sonuçta ikimizinki de daha hızlı birleştiriliyor.
      Katkıcılar aynı proje üzerinde çalışırken en iyi şekilde işliyordu ama alakasız işlerde de bunun yapıldığını gördüm. Clippy’nin de benzer bir pratik oluşturmasını umarım. İnceleme takası, işlerin daha hızlı birleştirilmesini sağlıyor ve işbirlikçi bir topluluk geliştiriyor.
      Yine de bu blog yazısında inceleme mekanizmasını tanıtan paragraf iyileştirilebilir. Şu hâliyle “başka bir PR’a üstünkörü bakarsan senin PR’ını daha hızlı birleştiririz” gibi okunuyor; amaçlanan mesajın bu olmadığını düşünüyorum. Bunun yerine başka bir işbirlikçiyle birlikte çalışmaya odaklanmalı. İnsanları Clippy’nin Zulip kanalına gidip inceleme takası önermeye ve aynı proje üzerinde birlikte çalışmaya yönlendirirseniz, sistemi kötüye kullanmayı teşvik etmeden daha sağlıklı bir topluluk oluşturabilirsiniz.
    • Ben de benzer düşündüm. Kötü niyetli bir katılımcı yan hesaplarla sahte özellikler oluşturup, ana hesabındaki gerçek işe gerçek bakımcı ilgisi çekebilir.
      İkisi de şu yöntemlerle oldukça kolay önlenebilir gibi görünüyor: inceleme eşlerini rastgele belirleyip aynı kişinin işini tekrar tekrar incelemeyi engellemek ve yalnızca sonunda birleştirilen PR’lara yapılan incelemeleri hesaba katmak.
  • Başkalarının PR ve issue incelemelerine yardım etmeye yönelik bir hizmet olarak https://www.CodeTriage.com adresini işletiyorum.