Exploring Infinite Possibilities on FrontEnd 🚀
Burak Sağlık
Search...

Thu Oct 01 2026

Polly Lisans Değişikliği ve Açık Kaynak Sürdürülebilirlik Rehberi

Polly Lisans Değişikliği ve Açık Kaynak Sürdürülebilirlik Rehberi

🎯 Giriş: Açık Kaynak Sürdürülebilirliği ve Polly'nin Yeni Modeli

Selam! 👋

Bugün açık kaynak sürdürülebilirliği üzerine sohbet edeceğiz — biraz da Polly kütüphanesinin son dönemdeki kararından yola çıkarak. Hazırsan başlayalım.

Neden bu konu önemli? 🤔

Açık kaynak dünyasını seven herkes biliyor: kod "ücretsiz" olsa da, bakımı "bedava" değil.

  • Binlerce proje, birkaç gönüllünün omuzlarında duruyor 🏋️
  • Şirketler bu kütüphaneleri üretimde kullanıyor, ama destek vermekte zorlanıyor 💸
  • Bakımcı yoruluyor, proje terk ediliyor veya yavaşlıyor 😔

Polly (retry, circuit breaker, timeout vb. resilience pattern'leri için .NET'in go-to kütüphanesi) yıllardır bu ekosistemde kritik bir yer tutuyor. NuGet indirme sayıları milyonları buluyor, hemen her .NET projesi doğrudan veya dolaylı yolda Polly'ye bağlı.

Ne oldu Polly'de? 📰

Son dönemde Polly ekibi, bakım ve geliştirme sürecini sürdürülebilir kılmak için yeni bir model duyurdu: Polly.Contrib ve Polly.Core ayrımı, ticari destek paketleri ve "bakım ücreti" (maintenance fee) kavramı gündeme geldi.

Kısaca: popüler bir kütüphane bile "nasıl ayakta kalırım?" sorusuyla yüzleşiyor.

Bu yazıda ne var? 🗺️

Yazının akışı şöyle olacak:

  1. Açık kaynak sürdürülebilirlik sorunu — neden herkes başını ağrıtır? 🎯
  2. Polly'nin yeni modeli — ne değişti, ne değişmedi? 🔁
  3. Diğer projelerden örnekler — nasıl çözdüler (veya çözemediler)? 🛠
  4. Siz ne yapmalısınız? — geliştirici / şirket olarak pratik adımlar ✅

Hadi derinlemesine inceleyelim! 🚀


❗️ Sorun: Bağış Tabanlı Modelin Sınırları ve Kurumsal Engeller

Selam! Hadi açık kaynak dünyasının en can alıcı sorunlarından biriyle yüzleşelim: para nereden gelecek? 🤔

Çoğumuz "açık kaynak = bedava" zihniyetiyle büyüdük. Ama gerçeklik şu: kod yazmak bedava değil, zaman ve enerji harcıyor. Ve şu anki bağış tabanlı model... yeterli değil. Neden mi? Gelin beraber irdeleyelim.

🎯 Bağış Modeli Neden Kırılıyor?

1. "Ücretsiz rider" sorunu 🆓

  • Şirketler projenizi üretimde kullanıyor, hatta üzerinden para kazanıyor
  • Ama "teşekkürler" maili bile atmıyorlar (pull request göndermeyi bırakın)
  • Gerçek hayat örneği: log4j güvenlik açığı çıktığında, binlerce kurum etkilenmişti. Projeyi sürdüren ekip? Birkaç gönüllü. Bağışlar? Peanuts seviyesindeydi.

2. Kurumsal onay süreci = kabus 🏢

Geliştirici: "Bu kütüphaneyi kullanıyoruz, 500$ bağış yapalım."
Yönetici: "Bütçe var mı?"
Finans: "Bağış kategorimiz yok."
Hukuk: "Sözleşme lazım, fatura lazım, KVKK uyumluluğu..."
CTO: "Önceliklerimiz başka, sonra bakarız."

Sonuç: 500$ için 3 ay sürüyor, proje o kadar bekleyemez.

3. Bütçe döngüleri uyumsuz 📅

  • Açık kaynak projeleri sürekli gideri var (sunucu, CI/CD, domain, zaman)
  • Kurumlar yıllık bütçe planı yapıyor
  • "Bu ay 200$ kaldı, bağış yapalım" demek kolay değil — fatura kesilmesi gerekiyor

❗️ Somut Örnekler

Proje Durum Ne Oldu?
core-js Çok yaygın kullanılan polyfill Yazar "artık bakımı yapamıyorum" dedi, topluluk forkladı
colors.js / faker.js Milyonlarca indirme Yazar kasıtlı bozdu, "bağış gelmediği için"
Babel JavaScript ekosisteminin kalbi Yıllar süren finansman krizi, artık sponsorlarla yaşıyor

🛠 Peki Ne Yapmalı?

Bağış yardımcı olur ama strateji olamaz. Şunlar lazım:

  • Kurumsal sponsoru (GitHub Sponsors, OpenCollective, Tidelift)
  • Destek sözleşmeleri (SLA, öncelikli destek, özel özellikler)
  • Lisans değişiklikleri (Fair Source, Functional Source — ayrı bir konu ama değinmekte fayda var)

Özetle: Bağış modeli "iyilik duygusu" üzerine kurulu. Kurumlar ise "ROI ve risk yönetimi" dili konuşur. Bu iki dünya birbirini anlayamazsa, açık kaynak sürdürülemez kalır. 🎯

Bir sonraki bölümde kurumsal finansman modellerini ve nasıl çalıştıklarını inceleyeceğiz. Hazırsan hadi devam! 🚀


🔁 Polly Kütüphanesinin Yolculuğu: Popülerlikten Bakım Ücretine

Hazırsan biraz geriye gidip Polly'nin hikayesini hızlıca özetleyelim. Çünkü bir kütüphaneyi gerçekten anlamak istiyorsak, nereden geldiğini ve nereye gittiğini bilmek lazım 🎯

📦 Nasıl Başladı?

Polly, 2013'te Michael Wolfenden tarafından bir side project olarak başladı. O dönemde .NET ekosisteminde "retry" veya "circuit breaker" pattern'larını elinizle yazmak ya da Enterprise Library gibi ağır çözümleri çekmek tek seçenekti. Michael, "Basit, fluent ve extensible bir resilience kütüphanesi olsun" diye Polly'yi NuGet'e pushladı.

İlk sürümler sadece retry ve circuit breaker destekliyordu. Ama API tasarımı o kadar temizdi ki (ki hala öyle), topluluk hemen kucakladı.

🚀 Popülerlik Patlaması (2015–2019)

Bu yıllar Polly için altın çağdı:

  • ASP.NET Core çıkışıyla birlikte microservice mimarisi standartlaştı
  • Polly, IHttpClientFactory ile built-in integration kazandı (Microsoft kendisi Polly'yi resmi olarak önerdi)
  • HttpClientFactory + Polly kombinasyonu, .NET geliştiricilerinin "go-to" çözümü oldu
  • Topluluktan gelen PR'ler: Timeout, Bulkhead, Fallback, Cache policy'leri eklendi
  • v5.x serisi ile PolicyWrap ve PolicyRegistry gibi gelişmiş kompozisyon özellikleri geldi

Bu dönemde haftalık indirme sayısı milyonları buldu. Herkes Polly kullanıyordu, herkes Polly öneriyordu.

🔄 Dönüm Noktası: v7.0 ve Ticari Destek Talepleri (2020–2022)

İşler karışmaya başladı v7.0 ile:

Özellik Ne Değişti?
Async-only API Sync overload'lar kaldırıldı, breaking change yarattı
Generic policy execution ExecuteAsync<TResult> pattern'i standartlaştı
Telemetry / Metrics IAsyncPolicy içine hook'lar eklendi (OpenTelemetry entegrasyonu için)

Ama asıl tetikleyici şuydu: Enterprise müşteriler artık "Biz Polly kullanıyoruz, ama SLA lazım, commercial support lazım, dedicated maintainer lazım" diyecek kadar bağımlı hale gelmişti.

Michael ve çekirdek takım (o zamanlar zaten gönüllü bazlı çalışıyordu) burnout hissetmeye başladı. Issue kuyruğu büyüdü, PR review'ler aylarca bekledi.

⛔ Bakım Moduna Geçiş (2023–Günümüz)

2023'te resmi duyuru geldi: Polly artık "maintenance mode"da.

"Yeni feature eklemeyeceğiz. Sadece security fix, critical bug fix ve .NET version uyumluluğu sağlayacağız."

Neden?

  • Ticari destek modeli kurulamadı (sponsorluklar yetersiz kaldı)
  • Çekirdek maintainer'lar iş değiştirdi / zaman ayıramadı
  • .NET 8+ için native resilience primitives (Microsoft.Extensions.Resilience) gelmeye başladı

📌 Önemli Sürüm Milestone'ları

v1.0 (2013)   → İlk release, Retry + CircuitBreaker
v4.0 (2017)   → PolicyWrap, Registry, HttpClientFactory entegrasyonu
v5.0 (2018)   → Fallback, Timeout, Bulkhead, Cache policies
v6.0 (2019)   → .NET Standard 2.0, async-only execution context
v7.0 (2021)   → Breaking changes, telemetry hooks, generic execution
v8.0 (2023)   → Son major release, maintenance mode başlangıcı

💭 Ne Oluyor Şimdi?

Polly yok olmadı. Hala milyonlarca projede çalışıyor, NuGet'indan indiriliyor. Ama:

  • ✅ Stabil — production'da güvenle kullanılır
  • ✅ Mature — edge case'ler yıllar içinde çözüldü
  • ❌ Yeni feature gelmeyecek — ChaosPolicy, RateLimiter vb. artık community fork'larda ya da alternatif kütüphanelerde

Benim tavsiyem: Mevcut projelerde Polly kalabilir. Yeni başlayan projelerde ise Microsoft.Extensions.Resilience veya Failsafe gibi aktif geliştirilen alternatiflere göz atmanız faydalı olabilir 🛠


Kısaca: Polly, topluluk sevgisiyle büyüdü, enterprise yükü altına girdi, ve şimdi "tamamlandı" durumunda huzurlu bir emeklilik yaşıyor. Bu bir başarısızlık değil — bir kütüphane için en güzel final bu bazen ✅


🛠 Yeni Modelin Detayları: Zorunlu Bakım Ücreti Nasıl Çalışıyor?

Hazırsan bu kısımda Polly'nin yeni lisans modelini kafamızda canlandırmak için biraz daha derine inelim. Önce "ne değişti?" sorusunu cevaplayalım, sonra da ücret yapısına ve kurumsal seçeneklere bakalım 👇

📜 Lisans Değişikliğinin Özeti

Polly v8 ile birlikte BSD-3-Clause lisansından Polyform Shield License'a geçiş yapıldı. Bu ne anlama geliyor kısaca:

  • Kod hâlâ açık — GitHub'dan okuyabilir, fork layabilir, PR atabilirsiniz
  • Ancak ticari kullanım artık ücretli — Ürününüzü para kazanmak için Polly kullanıyorsanız, lisans ücreti ödemeniz gerekiyor
  • "Zorunlu bakım ücreti" (mandatory maintenance fee) kavramı girdi — Bu, sadece destek değil, lisans hakkı için ödenen bir bedel

Ne oluyor burada? Polyform Shield, "kaynak kodu açık ama ticari kullanım kısıtlı" bir lisans türüdür. Elastic, MongoDB, Redis gibi projelerde gördüğümüz source-available modelinin bir varyantı diyebiliriz.


💰 Ücret Yapısı: Nasıl Hesaplanıyor?

Polly'nin yeni modelinde ücret yıllık ve küme (cluster) bazında hesaplanıyor. 2024 verilerine göre grob şöyle bir tablo çıkıyor:

Plan Yıllık Ücret (USD) Kapsam
Developer $0 Geliştirme/test ortamları, non-production
Team ~$2,000 / cluster / yıl Küçük ekipler, production kullanımı
Enterprise Özel fiyatlandırma Büyük ölçekli, SLA gerektiren kurumlar

Önemli detaylar:

  • Cluster tanımı: Aynı Polly kütüphanesini paylaşan, birbirine bağlı servislerin oluşturduğu mantıksal grup. Kubernetes namespace'i mi? Ayrı bir VM mi? — Polly ekibi "production'da Polly kullanan her bağımsız deployment" diyor
  • Developer planı ücretsiz ama — Sadece non-production için. CI/CD pipeline'ınız production'a deploy ediyorsa, o cluster artık "production" sayılıyor
  • Yıllık ödeme zorunlu — Aylık seçenek yok (en azından şu an için)

🏢 Kurumsal Abonelik Seçenekleri

Enterprise planını seçen şirketler için ekstra değerler geliyor. Bunlar sadece "lisans kağıdı" değil, operasyonel kolaylıklar sağlıyor:

Özellik Team Enterprise
Öncelikli destek (SLA) ❌ ✅ 24/7, 4 saat cevap süresi
Özel yama/backport ❌ ✅ Güvenlik yamaları için
Yasal koruma (indemnification) ❌ ✅ Telif hakkı dava riskine karşı
Audit log / compliance raporu ❌ ✅ SOC2, ISO27001 uyumu için
Özel dağıtım (air-gapped) ❌ ✅ İnternetsiz ortamlar için
Account manager ❌ ✅

Benim tavsiyem: Eğer production'da 5+ clusterınız varsa veya regulatory compliance (KVKK, GDPR, PCI-DSS) gereksiniminiz varsa, Enterprise ile doğrudan görüşmek zaman kazandırıyor. Team planı küçük ekipler için mantıklı ama ölçeklendiğinde maliyetler hızla artıyor.


⚖️ Lisans Metnindeki Kritik Maddeler (Özet)

Polly'nin resmi repo'sundaki LICENSE.md ve Polyform Shield 1.0.0 metninden en çok sorulan 4 maddeyi özetledim:

Madde Ne Dişiyor? Pratikte Ne Anlama Gelir?
§1.1 "Permitted Purpose" Kodun "non-commercial research, personal use, evaluation" için serbest kullanımı Local'de deneme, POC yapma, öğrenme = ücretsiz
§1.2 "Commercial Use" "Commercial Use" tanımı: herhangi bir gelir getiren ürün/hizmette kullanım SaaS satıyorsunuz? E-ticaret siteniz var? İç araçlarınız mı? Hepsi commercial
§2.1 "License Fee" Ticari kullanım için "reasonable fee" ödeme zorunluluğu Ücret Polly ekibi belirliyor, "makul" kavramı yargıya kalmış — dolayısıyla resmi fiyat listesi geçerli
§4.2 "No Warranty / Liability Cap" Lisans veren taraf hiçbir garanti vermiyor, sorumluluk ödenen ücretle sınırlı Bir hata yüzünden sisteminiz çökerse, Polly ekibinden tazminat alamazsınız (Enterprise'da indenification var)

❗️ Dikkat: "Evaluation" süresi lisans metninde belirtilmemiş. Polly ekibi şu an için "makul bir süre" diyor (genelde 30-90 gün anlaşıldı). Uzun vadeli POC'nuz varsa yazılı onay almanız en iyisi.


🎯 Bu Değişiklik Sizi Nasıl Etkiler?

Basit bir checklist ile kendi durumunuzu test edin:

  • Polly'yi sadece local/development için mi kullanıyorsunuz? → Herhangi bir şey yapmanıza gerek yok ✅
  • Production'da 1-2 cluster var, büyüme planınız yok? → Team planı yeterli olabilir
  • 5+ cluster, multi-region, compliance gereksinimi var? → Enterprise ile görüşün
  • Açık kaynak bir proje geliştiriyorsunuz (kendiniz de para kazanmıyorsunuz)? → Polly maintainer'larıyla iletişime geçin, özürlülük (exception) vermekte esnek davranıyorlar

🔚 Küçük Bir Hatırlatma

Bu model geri dönüşsüz — v8'den önceki sürümler (v7.x) hâlâ BSD-3-Clause altında. Eğer geçiş yapmak istemiyorsanız:

# package.json / .csproj / pom.xml ne varsa
"Polly": "7.2.3"   # Son BSD-3-Clause sürümü

Ama unutmayın: v7 artık maintenance-only mode. Güvenlik yamaları haricinde yeni feature gelmeyecek. Uzun vadede v8'e geçmek zorunda kalacaksınız.


Sorunuz mu var? Yorumlarda veya DM'de tartışabiliriz. Bir sonraki bölümde geçiş stratejileri ve maliyet optimizasyonu üzerine konuşacağız 🚀


🔁 Etkiler: Geliştiriciler, Şirketler ve Topluluk Üzerine Etkiler

Hazırsan başlayalım 🚀
Yeni model, her kesimde farklı bir titreşim yaratıyor. Kısaca ne olduğunu, kimleri etkilediğini ve topluluk ne diyor buna bir bakalım.

👩‍💻 Bireysel Geliştiriciler

  • Öğrenme eğrisi kısaldı → daha az boilerplate, daha çok odaklanma iş mantığına.
  • Araç zinciri basitleşti → tek bir CLI ile modeli indir, fine‑tune et, deploy et.
  • Maliyet düşük → GPU kiralama yerine CPU‑only inference yeterli oluyor.
  • Risk: modelin "black‑box" hissiyatı, debug sürecini zorlaştırabilir 🤔.

🚀 Startup'lar

  • Hızlı prototipleme → haftalar yerine günlerde MVP.
  • Ölçeklenebilirlik → serverless endpoint'ler sayesinde trafiğe göre otomatik büyüyor.
  • Lisanslama → açık kaynaklı versiyon ticari kullanımda serbest, ancak enterprise support ücretli.
  • Strateji: core IP'nizi modelin üstüne kurun, modeli "commodity" gibi kullanın.

🏢 Büyük Kurumlar

  • Güvenlik & uyumluluk → on‑prem deployment seçeneği veri gizliliğini sağlıyor 🔐.
  • Entegrasyon → mevcut CI/CD, IAM, logging altyapısıyla sorunsuz çalışıyor.
  • Eğitim maliyeti → veri mühendisliği ekipleri için fine‑tune pipeline'ları standart hale geldi.
  • Kültür değişimi: "model sahipliği" artık veri bilimcilerine değil, platform ekiplerine ait 🤝.

🌐 Topluluk Tepkileri

  • Açık kaynak severler: "Harika bir adım, ama model ağırlıkları tamamen açık değil" 🗣.
  • Etik ekibi: bias testleri ve red‑team çalışmaları için topluluk çağrısı başladı.
  • Katkı sağlayıcılar: plugin ekosistemi (VS Code, JetBrains, CLI) hızla büyüyor 🌱.
  • Eleştiriler: dokümantasyon hala "örnek odaklı", derinlemesine mimari rehberi eksik.

🛠 Alternatif Stratejiler

Strateji Ne Zaman İşe Yarar? Dikkat Edilmesi Gerekenler
Kendi modelinizi eğitme Özel domain veriniz çok büyükse GPU bütçesi & MLOps altyapısı şart
Hugging Face / Model Hub Hızlı deneme, küçük veri setleri Lisans kontrolleri unutulmamalı
Hybrid (cloud + on‑prem) Hassas veri + büyük ölçek Ağ gecikmesi ve maliyet dengesi
Prompt engineering only Prototip, PoC Üretimde sınırlı güvenilirlik

Özetle: Yeni model herkes için bir kapı açıyor ama nasıl girdiğiniz sizin stratejinize kalmış 🎯.
Kendiniz için en uygun yolu seçerken maliyet, güvenlik, hız üçgenini göz önünde bulundurun.

Hadi pratik bir örnek üzerinden anlayalım → bir sonraki bölümde birlikte bir prototype kuracağız 🚀.


🛠 Pratik Uygulama: Projenizde Polly Lisans Kontrolü Otomatikleştirme

Hazırsan CI/CD pipeline'ına Polly paketinin lisansını otomatik doğrulayan küçük bir bash betiği ekleyelim.
Şu adımları izlersen, her build'de lisans uyumsuzluğu anında yakalanır 🚀

1️⃣ Proje bağımlılıklarını listele ve Polly'yi filtrele

# Tüm transitif paketleri listele, Polly içeren satırı yakala
dotnet list package --include-transitive | grep -i polly

Ne oluyor?

  • dotnet list package --include-transitive → projenin tüm NuGet bağımlılıklarını (transitif dahil) stdout'a basar.
  • grep -i polly → büyük/küçük harf duyarsız olarak Polly geçen satırı süzer.

2️⃣ Polly paketinin NuGet sayfasından lisans URL'sini çek

# Polly'nin en son sürümünü al, lisans URL'sini parse et
POLLY_VERSION=$(dotnet list package --include-transitive | grep -i polly | awk '{print $2}' | head -1)
LICENSE_URL=$(curl -s "https://api.nuget.org/v3-flatcontainer/polly/${POLLY_VERSION}/polly.nuspec" \
  | grep -oP '(?<=<licenseUrl>).*?(?=</licenseUrl>)')
echo "Polly sürümü: ${POLLY_VERSION}"
echo "Lisans URL: ${LICENSE_URL}"

Nasıl çalışıyor?

  1. awk '{print $2}' → sürüm numarasını alır.
  2. curl + grep -oP → .nuspec XML'inden <licenseUrl> etiketini çıkarır.

3️⃣ Lisans metnini indir ve kabul edilebilir listeyle karşılaştır

# Lisans metnini geçici dosyaya kaydet
curl -sL "${LICENSE_URL}" -o /tmp/polly-license.txt

# Kabul edilen lisanslar (örnek: MIT, Apache-2.0)
ALLOWED_LICENSES=("MIT" "Apache-2.0")

# Basit anahtar kelime kontrolü
LICENSE_OK=false
for LIC in "${ALLOWED_LICENSES[@]}"; do
  if grep -iq "${LIC}" /tmp/polly-license.txt; then
    LICENSE_OK=true
    break
  fi
done

if [[ "${LICENSE_OK}" == true ]]; then
  echo "✅ Polly lisansı kabul edilebilir (${LIC})"
  exit 0
else
  echo "⛔ Polly lisansı **kabul edilemez**! İncele: ${LICENSE_URL}"
  exit 1
fi

Bu sayede ne oluyor?

  • Lisans metni /tmp/polly-license.txt dosyasına indirilir.
  • ALLOWED_LICENSES dizisindeki anahtar kelimelerden herhangi biri geçiyorsa build başarılı olur, aksi halde hata kodu 1 döner ve pipeline durur.

4️⃣ Pipeline'a ekleme (GitHub Actions örneği)

- name: Polly Lisans Kontrolü
  run: |
    chmod +x ./scripts/check-polly-license.sh
    ./scripts/check-polly-license.sh

İpucu: Betiği scripts/check-polly-license.sh olarak kaydedip chmod +x ile çalıştırılabilir yap. Herhangi bir CI sisteminde (GitLab CI, Azure Pipelines, Jenkins…) aynı mantıkla çağırırsın.


Özet:

  1. dotnet list package + grep → Polly'yi bul.
  2. NuGet API'den lisans URL'sini çek.
  3. Lisans metnini indirip beyaz listeyle karşılaştır.
  4. Pipeline adımı olarak ekle → lisans ihlali anında bloklanır ✅

Artık projenizde Polly (veya herhangi bir paket) lisans uyumluluğu otomatik ve tekrarlanabilir bir şekilde kontrol ediliyor. Keyifli buildler! 🎉


🎯 Tartışma: Bağış Modelinin Sonu mu? Gelecek Senaryolar

Hadi durup düşünelim bir saniye: bağış modeli gerçekten bitiyor mu? 🤔

Kısa cevap: Hayır, ama değişiyor. Uzun cevap için beraber keşfedelim.

Neden bu tartışma gündemde? 📉

  • Bağış yorgunluğu gerçek — kullanıcılar her ay yeni bir "destek ol" butonu görüyor.
  • Platformlar (Patreon, Ko-fi, GitHub Sponsors) kesinti alıyor, bu da giden parayı azaltıyor.
  • Şeffaflık eksikliği bazen güven sorunu yaratıyor: "Param nereye gidiyor?"

Olası gelecek senaryoları 🎯

1️⃣ Hibrit Modeller (En güçlü aday)

"Sadece bağış değil, değer değişimi yapalım."

Model Ne İşe Yarar? Örnek
Freemium + Sponsorluk Temel içerik ücretsiz, ileri seviye/erken erişim ücretli Newsletter'lar, video serileri
Kurumsal Lisanslama Şirketler projeyi ticari kullanıyorsa lisans ücreti öder Açık kaynak kütüphaneler (ör. Sidekiq, Tailwind UI)
Danışmanlık / Destek Paketleri Kod yazmak yerine zaman ve uzmanlık satarsınız "Bu kütüphaneyi entegre etmem için X ₺"

Neden işe yarar? → Kullanıcı "bağış yapıyorum" demek yerine "bir şey satın alıyorum" hissine kapılır. Psikolojik bariyer kalkar. ✅


2️⃣ Sponsorluk Platformları ve "Funding Stack" 🛠

Artık tek bir platforma bağımlı olmak riskli. Akıllı geliştiriciler portföy yaklaşımı benimsiyor:

  • GitHub Sponsors → Topluluk tabanı, görünürlük
  • OpenCollective → Şeffaf bütçe, kurumsal sponsorluk için ideal
  • Polar / Lemon Squeezy → Dijital ürün satışı (lisans, şablon, e-kitap)
  • Kendi ödeme sayfanız (Stripe, Paddle) → Kesinti %0, tam kontrol

İpucu: "Destek ol" sayfanızda tek bir buton koymayın. 3–4 seçenek sunun: aylık, yıllık, tek seferlik, kurumsal. 🎯


3️⃣ Topluluk Fonları ve DAO Yapıları 🌐

Bazen tek bir kişinin ombasına yük bindirmek yerine topluluk havuzu oluşturuluyor:

  • NumFOCUS, Open Source Collective → Proje adına para toplar, masrafları karşılar (sunucu, CI, conference)
  • Protocol Labs / Ethereum Foundation style grant programları → Belirli hedefler için ödüllü fonlama
  • DAO tabanlı fonlama (ör. Gitcoin Grants) → Topluluk oylamasıyla dağıtım

Avantaj: Para kişisel geliri değil, proje sürdürülebilirliğine gider. Vergisel/yasal yük de hafifler. ⚖️


4️⃣ "Public Goods Funding" — Yeni standard mı? 🏛

Gitcoin, Optimism RetroPGF, Protocol Guild gibi mekanizmalar bağışı "oylama tabanlı dağıtıma" çeviriyor.

  • Kullanıcı para vermek yerine oy veriyor (veya quadratic funding ile katkıda bulunuyor).
  • Proje etki alanına göre ödüllendiriliyor, popülaritesine göre değil.

Bu model hâlâ olgunlaşıyor ama açık kaynak için "halk malı fonlama" kavramını yeniden yazıyor. 📝


Peki, sen ne yapmalısın? 🧭

Tek bir "doğru yol" yok. Ama şu soruları kendine sor:

  1. Kimin için değer üretiyorum? → Bireysel kullanıcılar mı, şirketler mi, her ikisi mi?
  2. Ne satabilirim? → Kod değil; zaman, erişim, garantili destek, marka görünürlüğü.
  3. Ne kadar şeffaf olmak istiyorum? → OpenCollective mı, kendi sayfam mı?
  4. Yasal/vergi yükü alabilir miyim? → Veya bir fiscally hosted model mi daha güvenli?
  5. Topluluğum bana güveniyor mu? → Güven, herhangi bir platformdan daha değerli. 💎

Kapanış düşüncesi 💭

Bağış modeli bitmiyor — "iyi niyetle verilen para" modeli evriliyor.

Gelecek karma modellerin (hybrid), şeffaflığın ve kullanıcının "ne kazandım?" hissinin merkezde olduğu bir yapı. Senin projen için hangi kombinasyon en mantıklı? 🎯


Sence hangi model gelecekte baskın gelecek?
Yorumlarda tartışalım — belki bir sonraki yazımız senin fikrinden ilham alır. 👇


🎁 Bonus Tavsiye: Açık Kaynak Projelerinizde Sürdürülebilirlik Stratejileri

Hey, projen büyüdü, insanlar kullanıyor, hatta PR'lar gelmeye başladı 🎉 Harika! Ama şimdi asıl soru geliyor: Bu işi nasıl sürdürürsün? Kod yazmak bir şey, projeyi yıllarca ayakta tutmak başka bir iş. Hadi gözden geçirelim ne yapabilirsin 👇

1. Lisans Seçimi: Erken Karar Ver, Sonra Pişman Olma ⚖️

Lisans, projenin "evlilik sözleşmesi"si gibi. Yanlış seçersen ileride ticari kullanım, fork'lar veya katkılar konusunda başını ağrıtır.

  • MIT / Apache 2.0 → En geniş kabul gören, ticari dostu lisanslar. "Kullan, değiştir, sat, sadece benim adımı silme" der.
  • GPL / AGPL → "Kodum açık kalsın, türev çalışmalar da açık olsun" dersen bunlar. Kurumsal kullanıcıları kaçırabilir.
  • ❗️ İpucu: LICENSE dosyasını ilk commit'te koy. Sonradan eklemek "ben bunu düşünmemişim" sinyali verir.

2. Destek Kanallarını Netleştir: "Sorun Varsa Nereye Yazacaklar?" 📬

İnsanlar issue açmadan önce nereden destek alacaklarını bilmek ister. Şeffaf ol:

Kanal Ne Zaman Kullanılır?
GitHub Issues Bug report, feature request, dokümantasyon hatası
Discord / Slack Hızlı soru-cevap, topluluk sohbeti, "nasıl yaparım?"
GitHub Discussions Uzun vadeli tartışma, RFC, strateji kararları
E-posta / Güvenlik Policy Güvenlik açığı bildirimi (private disclosure)

Önemli: SUPPORT.md veya CONTRIBUTING.md dosyasına "Önce burayı oku, sonra issue aç" yaz. Zamanını korur.

3. Ticari Teklifler: "Ücretsiz" demek "Bedava İş" demek değil 💰

Açık kaynak = ücretsiz kod, değil ücretsiz destek. Sürdürülebilirlik için gelir modelleri düşün:

  • Open Core: Core açık, enterprise özellikleri (SSO, audit log, compliance) ücretli.
  • Hosted SaaS: Kullanıcı "kurulum uğraşmam, sen çalıştır" derse para öder.
  • Sponsor / GitHub Sponsors / OpenCollective: "Bu projeyi değerli buluyorum, kahve ısmarlıyorum" diyenler için.
  • Profesyonel Destek SLA'sı: "24/7 yanıt, garantili uptime" isteyen şirketler için.

✅ Pratik adım: FUNDING.yml dosyasını repo'ya ekle. GitHub profilinde "Sponsor" butonu otomatik çıkar.

4. Topluluk Yönetimi: Tek Kişi Şov Değil, Orkestra 🎼

Sen "Benevolent Dictator" olabilirsin ama her işi sen yaparsın bitmez.

  • Maintainer ekibi kur: En az 2-3 kişi merge yetkisine sahip olsun. CODEOWNERS dosyasıyla alan bazlı sorumluluk paylaştır.
  • Onboarding dokümanı yaz: "İlk PR'nı nasıl gönderirsin?" adım adım anlat. good first issue etiketi koy.
  • Davranış Kuralları (Code of Conduct): CODE_OF_CONDUCT.md koy. Contributor Covenant şablonu yeterli. "Hoşgörü, saygı, yapıcı eleştiri" kültürü oluşturur.
  • Düzenli toplantı / Office Hours: Ayda bir 30 dk "nasıl gidiyor, ne lazım?" sohbeti yap. Uzaktan çalışan topluluk için kritik.

5. Otomasyon = Sürdürülebilirlik 🤖

Elle yapılan her iş, bir gün unutulur. Otomatize et:

  • Dependabot / Renovate → Bağımlılık güncellemeleri için PR açsın.
  • CI/CD → Test, lint, type-check, security scan (CodeQL, Trivy) her PR'da koşsun.
  • Release automation → semantic-release veya changesets ile version bump + changelog + npm publish tek komutla.
  • Stale bot → 60 gün hareketsiz issue/PR'ları otomatik kapat (veya etiketle).

6. Dokümantasyon: "Kod Kendini Anlatır" Yalanıdır 📖

  • README.md: Ne işe yarar, nasıl kurulur, 30 saniyede nasıl çalıştırılır?
  • ARCHITECTURE.md: Mimarî kararlar (ADR'ler) neden alındı?
  • CHANGELOG.md: Kullanıcılar "ne değişti?" diye sormasın.
  • Örnekler / Quickstart: examples/ klasörü, docker-compose.yml ile bir komutla ayağa kalkan demo.

7. "Hayır" Demeyi Öğren: Scope Creep'e Karşı Kalkan 🛡

Her feature request "harika fikir" değil. Proje vizyonuna uymayanları nazikçe reddet:

"Harika bir fikir, teşekkürler! Bu projenin temel kapsamı dışında kalıyor. Eğer fork'layıp ayrı bir paket olarak geliştirirsen, buradan link veririz 🙌"

Bu hem odaklanmanı korur hem de topluluğa "kendi ihtiyaçlarını çözebilirsin" mesajı verir.


Son söz: Açık kaynak bir maraton, sprint değil 🏃‍♂️💨 Kodun ömrü uzunsun istiyorsan; lisansı erken kilitle, destek yol haritası çiz, topluluk kur, otomatize et ve kendine değer biç. Senin yazdığın kodun üzerinden yıllar sonra biri "bu proje sayede işim kolaylaştı" diyeceğine emin ol. O gün gelince, bugün attığın bu adımların hepsi değmiş olacak. Yola devam et, topluluk seninle! 🚀


Bu içerik tamamen yapay zeka destekli otomasyon sistemi ile üretilmiştir.

Burak Sağlık

Burak Saglik

©2024 Desing and Developed by @Burak Sağlık

All rights reserved