Gönderi

Kod Yazmaktan Vazgeçiren Open Source Sendromu

Kod Yazmaktan Vazgeçiren Open Source Sendromu

Açık kaynak dünyasına dışarıdan bakıldığında her şey jilham verici görüyor ki zaten genelde öyle de Dünyanın dört bir yanından geliştiriciler aynı projeye katkı sağlar satırlarca kod açık kaynak ücretsiz ve genel olarak kar amacı gütmeden paylaşılır ve Google teknoloji devleri bile bu ekosistemin üzerine ürünler inşa eder. Ancak bu işin arkasında büyüyen ama görünmeyen bir tükenmişlik var: Open Source Burnout yani Open Source Tükenmişlik Sendromu.

Bugün kullandığımız uygulama web sitesi ve bulut hizmeti çoğu zaman yalnızca birkaç gönüllü geliştiricinin emeğiyle yükseliyor.Tıpkı Artado Software Gibi. Hatta milyonlarca indirme alan bazı paketlerin ve projelerin tek bir GitHub Maintainer tarafından yönetildiği artık şaşırılan birşey değil çünkü çok büyük bazı projeler bile bu şekilde yönetilip geliştiriliyor..

  • Peki ya o geliştirici artık devam etmek istemezse?
  • Bir issue daha cevaplamak istemezse…
  • Bir pull request daha incelemek istemezse…
  • Ya da bilgisayarını kapatıp projeyi tamamen terk ederse?

İşte tam bu noktada Maintainer Burnout yalnızca bireysel bir problem olmaktan çıkar o projenin geleceği ve kullanıcıların erişimi için Açık Kaynak Ekosistemi için ciddi bir sürdürülebilirlik meselesine dönüşüyor


Open Source Burnout Nedir?

Open Source Burnout açık kaynak projelerinde çalışan geliştiricilerin uzun süre devam eden yoğun iş yükü topluluk baskısı gönüllü emek ve beklentiler nedeniyle yaşadığı tükenmişlik durumudur. Yanlış anlaşılmasın bu sadece “çok çalışmak” değil.

Asıl sorun yapılan emeğin görünmez hale gelmesi sürekli proje ve kitleden yüksek bir beklenti oluşması ve dinlenme fırsatının giderek ortadan kalkmasıdır.

Bir Yazılım Geliştiricisi gündüz işinde çalışırken akşam saatlerinde açık kaynak projesini yönetebilir. Hafta sonu ise yeni gelen pull request’leri inceler issue’ları cevaplar ve sürüm yayınlar. Bir süre sonra proje artık bir hobi olmaktan çıkar ana işinmiş gibi ikinci bir tam zamanlı işe dönüşür.

Psikolojik Olarak?

Tükenmişliğin temelinde tek yorgunluk yok.

Şunlar da büyük paya sahip:

  • Sürekli yetişememe hissi
  • Projenin takdir edilmediğini düşünme
  • Bitmeyen sorumluluk duygusu
  • Motivasyon kaybı

Birçok maintainer projeyi güncellemediğinde topluluğa karşı kendini suçlu hissettiğini söylüyor.Ben geliştirici olarak buna katılmıyorum yazılımlarımı sizlere açık halde de sunuyorum ancak ilk olarak kendi kullanımıma yarayacak yazılımlar üretiyorum bu sebeple de sürdürülebilir oluyor.Artado Software için ise Gönüllülük hoşuma gidiyor.

Teknik Tarafı

Teknik tarafta sorun daha görünür.

Maintainer aynı anda

  • yeni özellik geliştirir,
  • bug düzeltir,
  • güvenlik açıklarını kapatır,
  • sürüm yönetir,
  • dokümantasyon yazar,
  • bağımlılıkları günceller,
  • kod incelemesi yapar.

Yani aslında tek kişi küçük bir yazılım şirketinin tüm rollerini üstlenir.

Sosyal Boyutu

Open Source Community çok büyük bir güçtür Ancak büyüyen topluluk beraberinde yeni beklentiler getiriyor

Bazı kullanıcılar projenin gönüllülük esasını unutup

  • acil destek bekler,
  • ücretsiz danışmanlık ister,,
  • kaba üslup kullanabilir,
  • projeyi kendi şirketinin ürünü gibi görmeye başlayabilir.

Bu durum zaman içinde geliştirici üzerinde psikolojik baskı oluşturur.Kendi emeğinin başkasının bir commiti üzerine sahiplenmesi sorun çıkarıyor.


Neden Bu Kadar Yaygın?

Bitmeyen Issue problemi

Popüler bir proje büyüdükçe issue sayısı da artar Çünkü ilk olarak küçük başlamasına rağmen ek özellikler ek iş yükü ve geliştirme ihtiyacı getiriyor.

Her yeni sürüm

  • hata raporları,
  • özellik istekleri,
  • kurulum problemleri,
  • performans şikayetleri
  • Dokümentasyon Güncellemeleri

anlamına gelir.

İş yükü doğrusal değil katlanarak büyüyor.


Pull Request Yağmuru

Dışarıdan bakıldığında küçük bir hobi projesi için pull request almak güzel görünür.

Gerçekte ise her PR

  • okunmalı,
  • Readme ve geliştirme günlüğü güncellenmeli
  • Yerelde veya Sunucuda test edilmeli,
  • standartlara uygunluğu kontrol edilmeli,
  • tartışılmalı,
  • Zararlı yazılımlara karşı taranmalı,
  • Yeniden build alınmalı ve derlenmeli
  • gerekirse revize ettirilmelidir.

Bir PR’ın merge edilmesi bazen yazmaktan daha fazla zaman alabiliyor bu süreçlerden dolayı.


Beklentiler

Proje popüler oldukça insanlar artık onu ücretsiz bir topluluk projesi olarak değil profesyonel bir ürün olarak görmeye başlar.

  • “Ne zaman çıkacak?”
  • “Neden düzelmedi?”
  • “Bu kadar basit şeyi neden yapmıyorsunuz?”

gibi sanki zorunluluk ve ödemeli bir projeymiş gibi yorumlar geliştiriciler üzerinde baskı ve tükenmişlik ve sıkılmanın temelini oluşturur.


Gönüllü Çalışma

Aslında olmaması gerekmesine rağmen En temel sorunlardan biri budur.

  • Birçok açık kaynak projesi tamamen gönüllü emekle yürütülür.
  • Gelir yoktur.
  • Maaş yoktur.
  • Mesai ücreti yoktur.
  • Sahiplik genellikle yoktur topluluğa aittir.

Ancak bu gönüllülüğe rağmen beklenti profesyonel ürün seviyesindedir


Milyonlarca kullanıcısı olan birçok proje bile yeterli finansal desteğe sahip değildir.Kullanıcıların çoğuna göre açık kaynaksa gelir modeline de gerek yoktur öyle midir? DEĞİLDİR!

  • Şirketler projeyi kullanır Fakat bakım maliyeti çoğu zaman maintainer’ın omuzlarında kalır.
  • Bu durum Open Source Tükenmişliği açısından en büyük risklerden biridir.

Sürekli Destek Vermek

Kod yazmak çoğu zaman işin en kolay kısmıdır.

Asıl zaman

  • Discord Tanıtım ve Soru
  • GitHub Discussions
  • Reddit
  • e-posta
  • Forum
  • issue yönetimi

gibi iletişim kanallarında harcanır. Ben Artado Projesi özelinde bile beklediğimden çok daha fazla mail alıyorum.Bu motive ediyor açıkcası beni.


Bir Dakikalık İş

Kullanıcıların en sık yaptığı hatalardan biri budur.

  • “Küçük değişiklik.”
  • “birkaç satır kod.”
  • “çok kolay.”

Gerçekte ise küçük görünen değişiklikler;

  • geriye dönük uyumluluk,
  • test,
  • dokümantasyon,
  • sürüm yönetimi
  • Derleme

süreçlerini beraberinde getirir.


Open Source Dünyasında Gerçek Örnekler

Açık kaynak dünyasında yaşanan tükenmişlik yalnızca bireysel hikâyelerden ibaret değildir. Yazılım sektörünü etkileyen bu olaylar sürdürülebilirliğin ne kadar önemli olduğunu gösterdi.

left-pad Olayı

2016 yılında küçük bir JavaScript paketi olan left-pad, npm kayıtlarından kaldırıldı.

  • Paket yalnızca birkaç satır kod içeriyordu Ancak binlerce proje bu pakete bağımlıydı.
Sonuç?

Çoğu kullanıcının build süreci başarısız oldu. Bu olay bağımlılıkların ne kadar önemli olduğunu gösterdi.


colors.js ve faker.js

2022 yılında geliştirici Marak Squires bakımını yaptığı colors.js ve faker.js paketlerinde kasıtlı olarak sorun oluşturan kodlar yayımladı.

Bu tek bir maintainer’ın kararının milyonlarca projeyi etkileyebileceğini gösterdi Aynı zamanda sürdürülebilirlik ve geliştirici motivasyonu tartışmalarını yeniden tartışmaya açmıştı.


Log4j Krizi

Log4Shell güvenlik açığı sadece güvenlik problemi değildi aynı zamanda kritik açık kaynak projelerinin sınırlı kaynaklarla yönetildiğini de gözler önüne serdi.

Dünya çapında binlerce şirket birkaç gönüllü geliştiricinin bakımını yaptığı bir kütüphaneye bağımlıydı.


Tek Kişilik Dev Projeler

npm, PyPI ve GitHub üzerinde milyonlarca indirilen birçok paket hala tek maintainer tarafından yönetiliyor.

Bu durum “bus factor” denen riski artırıyor.

Açıklamak gerekirse tek kişinin projeden ayrılması belki de tüm ekosistemi etkileyebiliyor.


Tükenmenin Ekosistemine Etkisi

Güvenlik Açıkları

Bakımı yapılmayan projelerde güvenlik açıkları daha uzun süre fark edilmeyebilir veya giderilmeyebilir.

Bu sadece bireysel kullanıcıları değil projeyi kullanan şirketleri ve kamu kurumlarını da etkiler.


Güncelleme Eksikliği

Yeni sürümler yayınlanmadığında;

  • performans iyileştirmeleri gecikir,
  • hata düzeltmeleri ertelenir,
  • yeni platform desteği sağlanamaz.

Bağımlılık Riski

Yazılım ekosistemi binlerce bağımlılık üzerine kuruludur.

Küçük bir paketin terk edilmesi zincirleme etkilere yol açıyr.


Şirketlerin Etkilenmesi

Bugün Fortune 500 şirketlerinin büyük bölümü açık kaynak yazılımlara dayanıyor.

Dolayısıyla bir maintainer’ın tükenmişliği, kurumsal operasyonları bile etkileyebilir.


Yenilik Hızının Düşmesi

Burnout yalnızca mevcut projeleri değil, gelecekte ortaya çıkabilecek yenilikleri de yavaşlatır.

Motivasyonunu kaybeden geliştiriciler yeni fikirlerini hayata geçirmekten vazgeçebilir.


Yapay Zeka Burnoutu Azalacak mı?

Yapay zeka araçlarının yaygınlaşmasıyla birlikte bu soru daha sık soruluyor.

Cevap Hem evet hem hayır ancak bence daha çok evet.

Neden derseniz sebebi basit ,insanlar yerini otomasyonlara devrettikçe insani özellik olan sıkılma ve tükenme hissi ruhu ve aklı olmayan AI tarafından sorunsuz takır takır çözülebiliyor.

Copilot ve AI IDE

AI ide tekrar eden işleri azaltabilir.Buna örnek dokümentasyon commit mesajı hata analiz gibi yoğun güç gerektirecek ama sıkıcı sayılabilecek işler.Böyle olunca da geliştiriciler daha detaylı ve sorunsuz odaklanabiliyor.


ChatGPT-GeminiAI-ClaudeAI

Dokümantasyon hazırlama örnek şema üretme ve hata analizi gibi alanlarda ciddi zaman kazandırıyor ama buna da Abonelik yetmiyor :D

Özellikle yeni başlayan kullanıcıların sorularını yanıtlamada çok yardımcı.


AI Code Review

Yapay zekâ destekli kod inceleme araçları;

  • stil hatalarını,
  • güvenlik problemlerini,
  • performans risklerini

erkenden tespit ederek maintainer yükünü hafifletiyor.


Otomatik Test

AI destekli test üretimi ve hata senaryoları manuel test yükünü ortadan kaldırıyor demek de yalan değil yani.


Dokümantasyon Üretimi

Eksik README dosyaları API açıklamaları ve kullanım örnekleri artık daha hızlı hazırlanıyor bende genellikle bu dosyaları AI üretimiinden geçirerek yapıyorum çünkü şematik bir şekilde yapmakla birlikte hem daha detaylı hem daha düzenli. Bu da tekrar eden destek taleplerini azaltıyor.


AI Agent’lar

  • issue sınıflandırma,
  • etiketleme,
  • ilk değerlendirme,
  • bağımlılık güncellemeleri,
  • rutin bakım işleri

yükünü geliştirici üzerinden alıyor sadece ödeme yükünü yüklüyor birde onaylama.


Ancak Yeni Riskler de Var

Yapay zeka aynı zamanda daha fazla kod üretilmesine neden oluyor.

Bu da

  • daha fazla pull request,
  • daha fazla inceleme,
  • daha fazla bakım yükü

anlamına geliyor.

Nitelikten çok niceliğin artması iyi yönetilmezse maintainer üzerindeki baskıyı azaltmak yerine arttırır Burdan anlayabileceğimiz gibi AI tek çözüm değil; ama doğru desteklendiğinde güçlü bir yardımcı.


Sonuç

Açık kaynak yazılım büyük şirketlerin ve modern yazılım dünyasının altyapısını oluşturuyor. Webden mobile yapay zekadan bulut servislerine kadar sayısız sistem gönüllü geliştiricilerin yıllar boyunca ürettiği kodların üzerinde yükseliyor.

Ama bu başarı hikayesinin sürdürülebilir olması için yalnızca teknolojiye değil onu üreten insanlara da yatırım yapılması gerekiyor.

Open Source Burnout bireysel motivasyon sorunu değil yazılımın sürdürülebilirliğiyle ilişkili bir ekosistem sorunudur.

Unutmamalıyız:!

Açık kaynak sadece kod insanların zamanı emeği ve motivasyonudur. Zaten kod olsaydı kodu AI da yazıyor.

Bir sonraki kez ücretsiz kullandığınız bir kütüphane işinizi kolaylaştırdığında onun arkasındaki insanların emeğini hatırlayın. Belki bir hata raporunu daha özenli hazırlayabilir dokümantasyon katkısı yapabilir bir teşekkür mesajı gönderebilir ya da imkanınız varsa projeyi sponsor olarak destekleyebilirsiniz.

Küçük görünen şeyler ekosisteminin sağlıklı ve sürdürülebilir olmasına sandığınızdan daha çok katkı sağlar.


Özet

  • Open Source Burnout sadece bireysel değil ekosistemsel problemidir.
  • Gönüllü emek artan beklentiler bakım yükü tükenmişliği besleyen temel faktörler.
  • Terk edilen projeler güvenlik bağımlılık ve güncelleme risklerini artırır.
  • Sponsorluk görev paylaşımı iyi dokümantasyon ve sağlıklı topluluk kültürü çözümün önemli parcası.
  • AI bakım süreçlerini kolaylaştırabilir ancak insan emeğinin yerini tamamen alamaz bir kontrol mekanizması gerektirri.

Bunu yakın zamanda üzülerek bende kullandığım projelerde rastlamaya başladım.Sanırım artık AI üretimi projelerin çok daha hızlı rağbet görmesi nedeniyle bazı beğendiğim yazılım geliştiricileri yazılımlarını terk ediyorlar.Bazen arşivleme ile bile uğraşmıyorlar.

Benim kullandığım yazılım çok sevdiğim yorum sistemi olan Cusdis.com idi.

Projenin geliştiricisi artık ISsue bakmıyor özellik eklemiyor hatta dağıtma sorunlarına bile bakmıyor.

Bende bu sorunu kendi yorum sistemimi geliştirerek ve hizmetinize sunarak gerçekleştirdim.

https://wombatc.vercel.app ile kendi blog sisteminize yorum sistemi ekleyebilirsiniz güvenli hafif ve gizlilik dostu.

Aynı zamanda Selfhost edilebilir.

Bu Blog Yorum sistemi olarak Wombat kullanmakta.