- Linux çekirdeği içinde Rust entegrasyonu çalışması deney aşamasını tamamladı ve resmî bir bileşen olarak kabul edildi
- Yıllık Maintainers Summit toplantısında geliştiriciler, Rust desteğini kalıcı bir özellik olarak benimsemek konusunda uzlaştı
- Buna göre çekirdek içindeki Rust ile ilgili kodlardan
experimentaletiketi kaldırılacak - LWN editörü, “deney bitti ve başarılıydı” diyerek Rust for Linux ekibinin başarısına değindi
- Bu gelişme, çekirdek geliştirme dilinin genişlemesi ve güvenlik ile modernleşme yönünde önemli bir dönüm noktası olarak değerlendiriliyor
Çekirdekteki Rust deneyinin sona ermesi ve resmî olarak benimsenmesi
- Yıllık Maintainers Summit toplantısında çekirdek içindeki Rust desteği ele alındı ve katılan geliştiriciler Rust'ın artık deneysel bir özellik olmadığı konusunda uzlaştı
- Rust artık çekirdeğin temel bir parçası hâline geldi
- Buna bağlı olarak ilgili kodlardaki
experimentalişareti kaldırılacak
- LWN editörü gönderisinde “deney bitti ve başarılıydı” ifadesini açıkça kullandı
- Rust for Linux ekibinin emeğine yönelik bir kutlama mesajı da paylaştı
Topluluğun tepkisi
- Yazının başlığı geçici olarak yanlış anlaşılınca, bazı okurlar bunun Rust'ın kaldırıldığı anlamına geldiğini sanarak tepki verdi
- Birçok yorumda “bir an kandım”, “duygusal bir hız treniydi” gibi ifadeler yer aldı
- Bazı kullanıcılar, Phoronix başlık stiline değinerek esprili yorumlar yaptı
- Phoronix'in benchmark çalışmaları ve açık kaynak ekosistemi güncellemelerinin faydalı olduğu değerlendirmesi de paylaşıldı
- Diğer yorumlarda Microsoft'un Windows çekirdeğine de Rust getirmekte olduğu belirtildi
- Bazı bileşenlerin şimdiden Rust ile yazıldığı ve sevkiyat aşamasındaki sürümlere dahil edildiği yönünde görüşler aktarıldı
Rust benimsenmesinin anlamı
- Çekirdek içindeki Rust desteğinin resmî ve kalıcı bir özelliğe dönüşmesiyle,
bellek güvenliğinin güçlendirilmesi ve modern bir dilin benimsenmesi çekirdek geliştirmenin kalıcı bir parçası hâline geliyor - Rust'ın hem çekirdekte hem de Windows tarafında benimsenmesi, sistem programlama dillerindeki kuşak değişimi eğilimini daha görünür kılıyor
- Topluluk bu kararı başarılı bir deneyin tamamlanması olarak görüyor ve gelecekte Rust tabanlı çekirdek modüllerinin daha da genişlemesini bekliyor
3 yorum
Öyle deniyorsa, birkaç maintainer da ayrılmadı mı?
Koreceyle ilgili yalnızca tek bir kitap yayımlanmış, ancak ne yazık ki Linux çekirdeğinde Rust kullanım biçimi birkaç kez breaking change yaşadığı için güncel çekirdeklerle artık hiç uyumlu değil. GitHub vb. üzerinden tamamlanabilirse gerçekten çok iyi olur.
Hacker News yorumları
Rust desteği son 2 yılda gerçekten çok gelişti
Artık neredeyse boilerplate olmadan kernel modülü yazılabilecek noktada
“experimental” etiketinin kaldırılması bence büyük bir kilometre taşı
Bundan sonraki asıl dönüm noktası, dağıtımların Rust desteği varsayılan olarak etkinleştirilmiş kernel’ler sunması olacak gibi görünüyor
Örneğin NixOS ve Arch, Rust ile yazılmış QR kodlu kernel panic ekranını etkinleştiriyor
Fedora’nın da muhtemelen desteklediğini biliyorum
CONFIG_RUST=yile derlendiğini biliyorumKernel’in Rust user space’i desteklemesi değil, sadece bazı kernel kodlarının rustc ile derlenmesi anlamına geldiğini düşünüyorum
Uzun süren direncin ardından Linux kernel’de Rust’ın resmen benimsendiğini görmek duygulandırıcı
Rust for Linux ekibini alkışlıyorum
Acaba bu olay projenin ilk domino taşı mıydı
Rust for Linux’un ortak maintainer’ı Alex Gaynor resmen ayrılmış
Şimdi geriye tek resmî maintainer olarak Miguel Ojeda kalmış, ayrıca birkaç code reviewer var
“experimental” etiketinin kaldırılması, tüm maintainer’ların Rust kodunu bozmamasının artık zorunlu olduğu anlamına mı geliyor diye merak ediyorum
Geliştiricilere, Rust tabanlı sürücülere yatırım yapabilecekleri yönünde güven veriyor
Kurallar yine aynı; Rust build’ini bozan kod Linus’a gönderilemez
Yani bir maintainer iç Rust kodunu bozarsa bu kural ihlali sayılmaz
Rust’ın desteklemediği mimariler artık terk mi ediliyor diye merak ediyorum
Kernel’in çekirdek kısımlarının hâlâ C ile yazılması gerekiyor
Yazının başlığının “The (successful) end of the kernel Rust experiment” olarak düzeltildiği söyleniyor
Bunun nedeni, topluluğun ilk başlığın abartılı olduğuna dair geri bildirimiymiş
Hacker News yönergelerine göre
“orijinal başlığı yalnızca yanıltıcıysa değiştirin” deniyor
Çünkü başarısız deneyler sonlanmaz
“Bu büyük bir olay mı?” sorusuna
Eğer Linux kernel sürücülerinde yön Rust’a doğruysa, FreeBSD gibi BSD ailesinin de aynı oksidasyonu yaşayıp yaşamayacağı merak ediliyor
Yoksa direnç ve ayrışma mı olacak, izlemeye değer
Yeni denemelere açık bir yaklaşım var
Buna rağmen Rust’ın bellek güvenliği ve ifade gücü sayesinde bu zorluğa değdiği düşünülüyor
Şu anda kernel içinde Rust ile yazılmış hangi parçaların olduğu merak ediliyor
Ayrıntı için Phoronix yazısına bakılabilir
Kernel’deki Rust kodunda ne kadar unsafe bulunduğu merak ediliyor
Eskiden unsafe’in fazla zahmetli olduğuna dair çok şikâyet vardı
Sürücü geliştiricilerinin neredeyse hiç unsafe kullanması gerekmiyor
Kodun büyük kısmı güvenli Rust ile yazılıyor
Örneğin pwm_th1520.rs
SendveSyncdesteği için yalnızca tek satırlık bir unsafe içeriyor