2 puan yazan GN⁺ 2025-06-07 | 1 yorum | WhatsApp'ta paylaş
  • Amazon sponsorluğunda 1 yıl boyunca FreeBSD release engineering ve FreeBSD/EC2 geliştirmesi yürütüldü
  • Sürüm yönetimi ile EC2 odaklı iyileştirmeler birlikte ele alındı ve aylık ortalama 50 saat çalışma yapıldı
  • Graviton instance güç yönetimi, hotplug desteği, açılış performansı iyileştirmeleri gibi önemli özellik sorunları ve kalite iyileştirmeleri başarıyla tamamlandı
  • AMI türleri genişletildi ve build otomasyonu sayesinde FreeBSD AMI dağıtımının çeşitliliği ve verimliliği artırıldı
  • Sponsorluk sona erdikten sonra geliştirme hızında yavaşlama ve bazı özellik çalışmalarında duraksama bekleniyor

FreeBSD geliştirme sponsorluğunda 1 yılın değerlendirmesi

# Başlangıç arka planı ve sponsorluk süreci

  • FreeBSD/EC2 platformu 2010'dan beri yönetiliyordu ve Kasım 2023'ten itibaren FreeBSD release engineering lideri rolü de üstlenildi
  • Antithesis, Patreon gibi kaynaklardan küçük ölçekli destek alınıyordu ancak release engineering işleri FreeBSD/EC2 geliştirmesine ayrılan zamanı ciddi biçimde azaltmaya başlamıştı
  • Amazon ile EC2 çalışmaları için sponsorluk görüşmeleri birkaç yıldır sürüyordu; Nisan 2024'te bütçeden sorumlu kişiyle bağlantı kuruldu ve 1 yıllık sponsorluk alındı
  • Sponsorluk GitHub Sponsors üzerinden yürütüldü; Amazon'un hedeflediği süre ile gerçek ödeme zamanı farklı olabilir

# Sponsorluk ve çalışma zamanı dağılımı

  • Amazon'un talebiyle her ay 40 saat FreeBSD release engineering ve EC2 geliştirmesi için zaman ayrılması taahhüt edildi
  • Pratikte ayda yaklaşık 50 saat harcandı; bunun 20 saati EC2 sorunlarına, 20 saati release işlerine, 10 saati ise diğer mühendislik çalışmalarına ayrıldı
  • Aylara göre çalışma süresi önemli ölçüde değişti

# FreeBSD sürüm yönetimi

  • FreeBSD'nin üç aylık sürüm takvimi devreye alınıp yönetilerek 1 yıl içinde 4 sürüm çıkarıldı: FreeBSD 13.4 (2024.9), 14.2 (2024.12), 13.5 (2025.3), 14.3 (2025.6 bekleniyor)
  • Her sürümde geliştiricilere kod dondurma tarihlerini hatırlatma, merge taleplerini onaylama ve koordine etme, imaj build etme ve test etme, duyuru metinleri yazma ve çeşitli sürüm build hatalarını düzeltme işleri yer aldı
  • Release engineering için gereken süre çeyrek başına 33.5 ila 79 saat arasında değişti; süreç ilerledikçe istikrar arttığından iş yükü azalma eğilimi gösterdi

# Başlıca EC2 özellik iyileştirmeleri ve kalite artışı

Graviton instance güç sürücüsü, hotplug desteği

  • Graviton instance'larda EC2 API'nin normal kapanış sinyalinin FreeBSD tarafından algılanamaması sorunu çözüldü

    • ACPI _AEI nesnesi kullanılarak GPIO tabanlı "power button" sinyali ile sürücü mantığı birbirine bağlandı
    • EC2'nin sağladığı ACPI tablolarındaki Pull Up bayrağı uyumsuzluğu nedeniyle cihazın devre dışı kalması sorunu, FreeBSD/EC2 AMI'lerine ACPI_Q_AEI_NOPULL ayarı eklenerek aşıldı
  • EC2 Graviton ve x86 instance'larındaki aygıt hotplug (özellikle hot-unplug) sorunları kapsamlı biçimde teşhis edilip düzeltildi

    • IRQ sızıntıları, PCI güç durumu ile OS sinyalleri arasındaki uyumsuzluklar, "hayalet" PCI aygıtları gibi farklı hata türleri ele alındı
    • Geçici çözüm olarak ACPI quirk'leri uygulandı (ör. ACPI_Q_CLEAR_PME_ON_DETACH, ACPI_Q_DELAY_BEFORE_EJECT_RESCAN); EC2 tarafındaki hataların ise ayrıca düzeltilmesi planlanıyor

Hotplug test otomasyonu ve kalite iyileştirmesi

  • EC2 ortamında EBS volume'lerini tekrar tekrar bağlayıp ayıran bir betik geliştirildi ve 300 ardışık test ile kararlılık doğrulandı
  • Fiziksel sistemlerde anlamlı olan PCIe hotplug için gereksiz 5 saniyelik gecikme, EC2'de 0 saniyeye indirilerek kalite artırıldı

Açılış performansı iyileştirmeleri

  • FreeBSD/EC2 açılış hızı sorunları veri toplama ve analizle sistematik olarak iyileştirildi
  • 2024 başında root disk kapasitesinin artırılmasıyla açılışın 3 kat yavaşlaması, Graviton2 instance'larda kernel entropy seeding gecikmesi, ZFS açılış süresindeki artış ve IMDSv2 ile ilgili IPv6 desteği sorunu adım adım çözüldü
  • Dosya sistemi bazlı açılış performansı farkları, verimsiz entropy temini, ağ başlatma gecikmeleri gibi birçok alanda optimizasyon yapıldı

# FreeBSD AMI çeşitliliğinin artırılması ve build/dağıtım otomasyonu

  • Mevcut base ve cloud-init AMI'lerine ek olarak small AMI (gereksiz debugging/test kodu ve araçları kaldırılmış, 1GB boyutunda) ve builder AMI (kullanıcının özelleştirmesi için builder) eklendi
  • 4 AMI türü * 2 dosya sistemi (UFS/ZFS) * 2 mimari (amd64/arm64) * 3 sürüm (13, 14, 15) ile imaj kombinasyonları büyüyünce, eski imajların otomatik silinmesi ve süreçlerin betiklerle otomatikleştirilmesi yapıldı; 336TB EBS snapshot temizlendi

# Genel mühendislik iyileştirmeleri

  • FreeBSD AMI/release build süreçlerinin paralelleştirilmesi ile toplam build süresi yaklaşık 22 saatten 13 saate indirildi ve daha fazla AMI türü eklemek için alan açıldı
  • EC2 instance tabanlı otomatik testler ve diffoscope karşılaştırmalarıyla build reproducibility (reproducible build) sorunları teşhis edilip çözülmeye başlandı
  • ENA sürücüsü yama incelemeleri, OCI container build etme ve registry'ye yükleme, AWS ile ilgili araç iyileştirmeleri, güvenlik sorunu raporları gibi çeşitli küçük işler de paralel yürütüldü

# Gelecek görünümü ve sınırlamalar

  • FreeBSD release engineering ve EC2 platform bakım rolleri sürecek ancak önceye kıyasla ayrılabilecek zamanın azalması bekleniyor
  • FreeBSD 15.0 (Aralık 2024), 14.4/15.1/14.5/15.2 (2026) sürümleri planlandığı gibi ilerleyecek; ancak özellik ekleme ve hata düzeltme hızının düşmesi muhtemel
  • Otomatik dosya sistemi genişletme, çoklu NIC ve hotplug otomasyonu, önceden yamalanmış AMI dağıtımı, EC2 kullanıcı web aracı, FreeBSD/Firecracker desteği gibi tamamlanmamış işlerde uzun vadeli durgunluk bekleniyor

# Kapanış

  • Amazon'un bu sponsorluğu, açık kaynak geliştiricileri için son derece nadir bir fırsat oldu; geçen dönemdeki sonuçlardan gurur ve minnettarlık duyuluyor

1 yorum

 
GN⁺ 2025-06-07
Hacker News görüşleri
  • Bugün ziglang.org indirme sayfasına FreeBSD'nin eklendiği haberi paylaşıldı; artık FreeBSD kullanıcıları CI'da otomatik olarak derlenen master branch build'lerini kolayca alabiliyor
    FreeBSD artık resmi olarak çapraz derleme hedefi olarak tamamen destekleniyor; Linux'a benzer şekilde zig cc -o hello hello.c -target riscv64-freebsd gibi FreeBSD'yi hedefleyerek derleme yapılabiliyor
    C/C++ bağımlılıkları varsa bunları zig build sistemiyle kolayca içe alıp derlemek mümkün; bu sayede epey karmaşık projeler bile FreeBSD için rahatça çapraz derlenebiliyor
    Bunun sonucunda daha fazla projenin CI'ına FreeBSD desteği ve testleri eklemesi umuluyor

    • Zig'in çapraz derleme özelliklerinin gerçekten harika olduğu ve FreeBSD'nin desteklenen hedeflere eklenmesinin sevindirici olduğu söyleniyor
  • Okurken ilginç birçok kısım vardı
    2024'ün ilk haftasından itibaren FreeBSD boot sürecinin bir anda 3 kat yavaşladığı bir olay var; commit'leri izlemeye devam ettikten sonra sebebin root disk boyutunun 5GB'den 6GB'ye çıkması olduğu anlaşılmış
    Amazon'daki bir tanıdığına sorulduğunda, cevap adeta sihir gibiydi: “Tam olarak bilmiyorum ama bunu bilmesen daha iyi olabilir” tarzındaydı
    Daha da önemlisi, root disk boyutu 8GB'ye çıkarılınca performans eski seviyesine geri dönmüş

    • Böyle hikâyeleri duyunca artık bunun sebebini gerçekten öğrenmek istiyor insan

    • Bu tür bir sorunu bulmak için commit bisect yapmanın gerçekte ne kadar sürdüğünü merak ediyorum
      Her seferinde image oluşturup VM'i yeniden mi başlattılar diye düşünmeden edemiyorum

    • S3'ün orijinal nesne boyutu sınırının 5GB olduğunu anlatan 2006 tarihli kendi blog yazısından bahsediliyor
      https://aws.amazon.com/blogs/aws/amazon_s3/
      Bunun FreeBSD performansındaki yavaşlamayla doğrudan ilişkili olup olmadığı bilinmiyor

  • Dizüstü bilgisayar desteği konusunda da çok iş yapılıyor
    BSD Foundation'ın S0ix Sleep State uygulaması gibi çeşitli özelliklere odaklanmak için $750,000 yatırım yaptığını okudum
    İlgili projelere https://github.com/FreeBSDFoundation/proj-laptop adresinden bakılabilir

    • Gerçekten aynı anda çok fazla iş yapılıyor, ama kendisi paylaşırken yalnızca doğrudan üzerinde çalıştığı bölümleri yazmış
  • Amazon'un daha fazla destek ve katkı vermesi beklenirdi, ama gerçekte durum FreeBSD'ye asgari destek vermekle sınırlı görünüyor
    Amazon, FreeBSD sponsor listesinde bile yok; Google geçen yıl yalnızca $9K bağışlamış, Apple ile Meta/Facebook da listede yer almıyor
    Buna karşılık Microsoft'un listede olması övgüyü hak ediyor
    Bu büyük şirketlerin FreeBSD ve OpenBSD sayesinde bu kadar fayda görüp her yıl otomatik olarak bağış yapmaması şaşırtıcı
    Sponsor bilgilerine https://freebsdfoundation.org/our-donors/donors/?donationYear=2024 adresinden bakılabilir

    • Amazon'un FreeBSD'yi daha fazla desteklemesini isteme fikrine katılıyorum
      Ama FreeBSD Foundation bağışçı listesinde yer almaması hiç destek vermediği anlamına gelmiyor
      Benim aldığım geliştirme bütçesi de vakıf üzerinden gelmedi ve gerçekte vakfın desteklediği geliştirme toplam kurumsal desteğin ancak yaklaşık %10'unu oluşturuyor
      Vakıf destekli geliştirme, doğrudan FreeBSD'nin kendisine yönelik işlere odaklanabildiği için önemli, ama toplam içinde azınlıkta kalıyor

    • Yalnızca bu yorumla tüm tabloyu görmenin mümkün olmadığı belirtiliyor
      Bu sadece vakfa yıllara göre yapılan bağışların bir anlık görüntüsünü sunuyor; yapılan geliştirme katkıları ise her sürümün sürüm notlarında özetleniyor
      https://www.freebsd.org/releases/

    • Microsoft'un neden FreeBSD'yi desteklediği merak ediliyor
      Hyper-V genişletmeleri Linux'takinden daha eksik, .NET'in resmi bir portu yok ve Microsoft'un FreeBSD tabanlı servisler çalıştırdığı da görünmüyor

    • Amazon'un FAANG içinde FOSS'a en az katkı veren şirket olduğu görüşü

  • cperciva'ya büyük saygı duyulduğu ifade ediliyor
    Tarsnap ile FreeBSD'yi aynı anda nasıl yürüttüğü merak ediliyor

    • Bir noktadan sonra paranın zamana dönüştüğü deneyiminden bahsediliyor
      Basit tamirleri ya kendiniz yaparsınız ya da bir uzmana yaptırırsınız
      FreeBSD işine harcanan zamanın yalnızca bir kısmı Tarsnap'ten gelen zamandı ve bu, sanılandan daha azdı
  • Geçmişte FreeBSD'yi iş istasyonu olarak kullanmış ve etkilenmiş biri var
    Ev geçidi/güvenlik duvarı/DNS/DHCP sunucusu olarak FreeBSD kullanmak istemiş ama 10GbE NIC sürücüsü desteklenmediği için sonunda Nix'i seçmiş
    FreeBSD'nin hâlâ iyi şekilde korunup geliştirilmesi sevindirici

  • FreeBSD/EC2'nin en büyük kullanıcılarının kim olduğu merak ediliyor

    • Kendisi de bilmiyor
      Gerçekte ona ulaşan kullanıcılar tüm FreeBSD/EC2 kullanıcılarının muhtemelen %0.1'inden bile az
      EC2 üzerinde FreeBSD'yi kimin kullandığını gerçekten bilmek istiyor

    • Netflix'in FreeBSD'yi yalnızca edge box'larda mı kullandığı merak ediliyor

  • FreeBSD'nin Unix ailesinde hangi nişi doldurduğu soruluyor
    Neden OpenBSD veya NetBSD yerine daha karmaşık olan FreeBSD'nin tercih edildiği, ZFS ya da Nvidia ve ELF gerekiyorsa neden doğrudan Linux kullanılmadığı soruluyor
    GNU meselesi biliniyor ama Musl Void gibi alternatifler de varken, FreeBSD'nin kendine özgü belirgin “kimliğinin” ne olduğu samimi bir merak konusu

    • Finans sektöründe hem EC2'de hem de şirketin kendi veri merkezindeki bare metal sunucularda FreeBSD kullanma deneyimi paylaşılmış
      zfs ve jails yoğun biçimde kullanılmış
      Tüm servisler her jail içinde bağımsız çalıştırılarak çok maliyet verimli bir yapı kurulmuş
      Buluta kısmi geçiş yapılıp hibrit Linux(k8s)+FreeBSD ortamına geçildiğinde maliyetler ciddi şekilde artmış
      Veri merkezini doğrudan yönetmek disk değiştirme veya yangına müdahale gibi zahmetler getiriyor, ama AWS de multi-region gibi çeşitli özellikler sunuyor (tabii maliyetle birlikte)
      zfs, bir keresinde production DB tablosu yanlışlıkla silindiğinde snapshot sayesinde anında geri dönmeyi sağlayarak büyük fayda sağlamış; yedekleme için de zfs kullanılmış
      Production ortamında dtrace ile troubleshooting yapma deneyimi de olmuş
      Sunucularda yalnızca FreeBSD kullanıldığında tek bir OS ailesi olduğu için yönetim kolaymış; Linux eklendiğinde ise her ekip farklı dağıtım kullanınca karmaşa çıkmış
      FreeBSD'nin kernel+OS bütünleşik yapısı özellikle beğeniliyor

    • Kendi bakış açısına göre FreeBSD, OpenBSD ile NetBSD'nin güçlü yanlarını dengeli biçimde birleştiriyor
      Geçmişte FreeBSD, Intel CPU optimizasyonu ve sağlam güvenliğiyle öne çıkıyordu; özellikle ZFS desteği belirleyici bir fark yaratıyordu
      Nvidia sürücülerine de native FreeBSD desteği ancak yakın zamanda geldi
      Sonuçta FreeBSD, diğer BSD'lerin avantajlarını ve donanım kararlılığını iyi bir şekilde bir araya getiriyor

    • FreeBSD'nin OpenBSD veya NetBSD'ye kıyasla çok daha büyük bir kullanıcı tabanına sahip olduğu belirtiliyor
      Yazılım kataloğu da daha geniş olduğu için masaüstünde günlük kullanım için de yeterli
      Neden Linux kullanılmadığı sorusuna verilen cevap ise Linux'un kurumsal çıkarlara fazla bağımlı hâle gelmiş olması

    • FreeBSD'nin ZFS desteğinde Linux'tan bir adım önde olduğu görüşü
      Lisans sorunları nedeniyle FreeBSD'nin daha iyi bir ortam sunduğu söyleniyor

    • FreeBSD'nin ağ işleme kapasitesi açısından OpenBSD'den daha güçlü olduğu belirtiliyor
      Genel olarak BSD'ler daha yavaş değiştiği için entegre platform olarak kullanıma uygun bulunuyor

  • Bu yazının FreeBSD geliştirme ortamını çok da iyi göstermediği görüşü var
    Bu kadar karmaşık bir OS söz konusuysa, en azından birinin full-time release manager olması gerektiği; ama gerçekte bir yıl boyunca yalnızca part-time destek olması hayal kırıklığı yaratıyor
    Yine de Linux'un tek alternatif olmaması açısından FreeBSD'nin varlığı önemli