1796 yılında İngiliz hekim Edward Jenner, tarihin en ölümcül salgınlarından biri olan çiçek hastalığına karşı ilk aşıyı geliştirdiğinde, sadece bir tıp mucizesine imza atmadı; modern toplumların hayatta kalma mimarisini kökünden değiştirdi.
Epidemiyolojide "Sürü Bağışıklığı" (Herd Immunity) adı verilen hayati bir prensip vardır: Bir virüsün bir popülasyonda yayılabilmesi ve tutunabilmesi için, enfekte olabileceği savunmasız (bağışık olmayan) konaklara ihtiyacı vardır. Eğer bir toplumun ezici çoğunluğu (%85-95'i) aşılanmış ve bağışıklık kazanmışsa; virüs taşıyıcıdan bir sonraki hedefe sıçrayamaz. Bulaşma zinciri kırılır. Ve böylece, henüz aşı olamayacak kadar küçük bir bebek veya kemoterapi gören bağışıklığı zayıf bir birey bile, etrafındaki "bağışık sürünün" oluşturduğu biyolojik kalkan sayesinde hayatta kalır.
Bu kalkan bireysel bir kahramanlık değil; kolektif bir dayanışmanın ürünüdür.
Şimdi bu biyolojik gerçeği alın ve modern dünyanın en kritik altyapısını oluşturan Açık Kaynak (Open Source) ekosistemine yerleştirin. Karşınıza çıkacak olan benzerlik, tesadüfün çok ötesindedir.
Linus Yasası: Gözlerin Sayısı ve Biyolojik Kalkan
Açık kaynak dünyasının amentüsü sayılan meşhur bir kural vardır. Eric S. Raymond, Katedral ve Çarşı kitabında bunu Linus Torvalds'a atıfla şöyle formüle eder:
"Yeterince göz olduğunda, bütün hatalar yüzeyseldir." (Given enough eyeballs, all bugs are shallow.)
Kapalı devre (proprietary), kaynak kodları kasalarda saklanan bir yazılım; aşılanmamış, dış dünyaya kapalı ve tek bir patojenin içeri sızmasıyla yerle bir olabilecek izole bir kabile gibidir. İçerideki 20 kişilik mühendislik ekibinin görmediği tek bir sıfır gün (zero-day) açığı, kabilenin sonunu getirebilir.
Oysa Linux çekirdeği, Kubernetes, PostgreSQL veya Node.js gibi devasa açık kaynak projeler; yeryüzündeki milyonlarca geliştiricinin gözü önünde, rüzgara, güneşe ve mikrop saçan dijital ortama açık bir şekilde yaşar.
Bir açık kaynak kütüphanesini sisteminize dahil ettiğinizde (mesela npm install veya cargo add yaptığınızda), aslında sisteminize bir "aşı" yaparsınız. O kod parçası, daha önce dünyanın dört bir yanındaki yüz binlerce farklı sunucuda çalışmış, binlerce hacker tarafından saldırıya uğramış, kenar durumları (edge cases) test edilmiş ve antikorları üretilmiştir. Siz o kodu projenize eklerken, o sürünün edindiği bağışıklığı da miras alırsınız.
Bir banka sunucusunun veya bir hastane bilgi sisteminin güvenliği, o kurumun kendi yazdığı kodlardan değil; arkasında duran açık kaynak sürüsünün bağışıklık duvarından güç alır.
Aşısız Kalanlar ve "Başkası Nasılsa Bakıyordur" İllüzyonu
Peki, sürü bağışıklığı ne zaman çöker?
Tıpta bunun cevabı çok nettir: İnsanlar hastalığın dehşetini unuttuğunda, aşı olmayı gereksiz bir külfet olarak görüp "Zaten herkes aşılanmış, bana bir şey olmaz" diyerek aşıdan kaçmaya başladığında. Sürüdeki bağışık birey oranı kritik eşiğin altına düştüğü an, unutulmuş virüsler hortlar ve salgın başlar.
Açık kaynak dünyasında da tam olarak bu parazitlik yaşanıyor.
Trilyon dolarlık teknoloji devleri, bankalar ve unicorn girişimler; altyapılarının %90'ını açık kaynak projelerin sırtına yüklüyor. Ama o kütüphanelerin bakımına tek bir satır katkı (contribution) vermiyor, tek bir güvenlik taraması yapmıyor ve o projeleri geceleri bodrum katında gönüllü olarak ayakta tutmaya çalışan geliştiricilere tek bir dolar bağışlamıyorlar.
Herkes aynı tehlikeli varsayıma sığınıyor: "Nasılsa açık kaynak, nasılsa birileri kodu inceliyordur."
Sonra ne oluyor?
2014 yılında Heartbleed krizi patladı. İnternetteki güvenli iletişimin (HTTPS) kalbi olan OpenSSL kütüphanesinde iki yıldır duran devasa bir açık keşfedildi. Milyarlarca dolarlık şirketlerin trafiğini şifreleyen bu kritik yazılımı, meğer iki kişilik bir ekip gönüllü olarak ayakta tutmaya çalışıyormuş ve kimse kodun derinliklerine bakmamış.
Daha yakın tarihte yaşanan xz utils arka kapı (backdoor) vakasını hatırlayın. Linux dağıtımlarının kalbine yerleştirilen sofistike bir siber saldırı, şans eseri tek bir mühendisin milisaniyelik gecikmeleri fark etmesiyle son anda engellendi. Saldırgan (Jia Tan), tükenmiş ve yalnız kalmış bir açık kaynak geliştiricisinin güvenini iki yıl boyunca ilmek ilmek işleyerek projeye sızmıştı.
Sürü, aşı olmayı bıraktığı anda virüs en zayıf halkadan içeri girdi.
Kolektif Bağışıklığa Katkı Vermek
Bir toplumda aşı olmak sadece kendi sağlığınızı korumak değildir; kucağındaki bebeği koruyamayan anneyi, kanser tedavisi gören yaşlıyı koruma sorumluluğudur. Bencilliğin bittiği, kamusal bilincin başladığı yerdir.
Yazılımda da açık kaynak kod kullanıyorsanız, o sürünün bir parçasısınız demektir.
Kullandığınız bir kütüphanede bulduğunuz bir hatayı sadece kendi projenizde "monkey patch" ile geçiştirip kapatırsanız, virüsü gizlemiş olursunuz. Ama o hatayı bir Pull Request açarak ana depoya (upstream) bildirir ve düzeltirseniz, dünyanın öbür ucundaki tanımadığınız bir mühendisin sistemini de korumuş olursunuz. Sisteme bir antikor enjekte etmiş olursunuz.
Açık kaynak, bedava yazılım marketi değildir. Açık kaynak, insanlığın bilgi birikimini ortak bir biyolojik organizma gibi savunma sözleşmesidir.
Eğer sürünün sunduğu bağışıklıktan faydalanıyorsanız, o sürüyü beslemek ve korumak zorundasınız.
Aksi takdirde, günün birinde kapınızı çalacak olan o ölümcül patojene karşı elinizde ne bir aşı kalır, ne de sığınabileceğiniz bir kalkan.