“Geçmiş zaman olur ki, hayali cihan
değer” atasözümüz, konumuza yakıştı mı bilemedim. Anlamını ne kadar
beğendiğimi her fırsatta ifade etmekten kaçınmadığımı söylemek isterim. Günümüzde
kazandığımız tüketim toplumu alışkanlıklarımızla, bırakın yakın geçmişi dünü
bile hatırlamayarak yaşamanın, kaçınılmazlığı deneyimliyoruz. Unutmamak
gerekir. Geleceği tasarlamanın cazibesi böylesine geniş kapsamlı tarihi
hikâyelerle ancak renkleniyor. Yazılım alanında öyle süreçlerden geçildi ki
şimdi dönüp bakılacak olunsa, incelense, araştırılsa hayal bile edemeyecek değerlerin
nasıl fayda sağlandığından ders çıkarılabilir.
1972/77 yılları arasında üniversite öğrencilik yaşamımda üst seviye
dillerden Fortran ile tanışmış ve yazılım derslerini iple çeker olmuştum.
Samimiyetle itiraf etmeliyim ki anabilgisayarı “mainframe”, gelişmiş bir hesap
makinesi olarak algılamıştım. Kalbim elektronik için atmaya programlanmıştı ve
vazgeçmem akıl dışıydı.
1980 - 40 yıl önce elektronik mühendisleri donanım ağırlıklı ürün
geliştirme yetilerini kusursuz mantık devreleri üzerine kurguluyorlardı.
Matematiksel girdi ve çıktı fonksiyonları ve hesapları neticesinde çözümler
beklenen sonuçları isabetle yerine getiriyordu. Yalnızca devre üzerinde
işaretlerin akış hızına bağlı olarak bir çırpıda karar bilgisine erişiliyordu.
Fizik en yakın kapsama alanı ve komşu bilim dalı olarak öne çıkmaktaydı.
Devre analizleri, sentezler, sinyal işleme düzenekleri geleneksel yapının
temel taşlarını oluşturuyordu. Hele bir devrenin yüksek frekanslara verdiği
tepkinin dikkate alınması başlı başına kaygıya sebep oluyordu.
Mutluyduk, planlar, hizmet sağlayan verimli ve etkin çalışan çözümlerle
neticeleniyordu. Telekom altyapısını oluşturan, kesintisiz işleyen ağ,
böylesine karmaşık bir uğraşın eseri olarak hayatımızda yerini almıştı. İletişimin
bugünkü şartlara dönüşeceğini hayal ediyor muyduk? Soruya o zamanlarda cevap
oluşturabilecek yeterli veri ve öngörü olmadığı bir gerçekti. Hayranlık kısa
zamanda yerini hüsrana terk etmeye başlamıştı. Her defasında tutkuyla bitirilen
çözümler esnek olmaktan uzaktı. En küçük istek yadırganıyor ve mücadele
sürdürülebilirlikten uzaklaşıyordu. Çeşitlilik, değişiklik kontrol sınırlarına
dayanmış, yalınlaştırma ihtiyacı en üst seviyeye çıkmıştı.
5 yıl sonra 1985 yıllarına varıldığında donanım bileşenleri tamamen
yenilenmiş ve mikro işlemcilerle tanışıklığımız olağan boyutlara ulaşmıştı. Düşünmüşümdür,
yeni buluşlar ve icatlar bize huzursuzluk yaşattı mı? Tüm devreler “CMOS” ve
yazılım taptaze araçları kullanımımıza sunmuştu. Tertemiz beyaz sayfa açılmış
yaygın esneklik ufkumuzu genişletmişti. Evet, tedirgin olunmuştu, ancak özveri,
öğrenme merakı, yekpare ortamı sarmalamıştı. Üniversitelerden yeni mezun
arkadaşlarımız ucu ucuna yetişmişlerdi teknoloji kırılımına. Hepimizin kolları
sıvamış ve seyir yönümüzü vakit yitirmeden değiştirmeye çalışıyorduk. Hevesle
masa başına dönülmüş ve büyülenircesine öğrenme küreklerine asılmıştık.
Mikro elektronik yazılım çağını tetiklemişti.
Mikro işlemciyi seçmek projenin kaderini belirliyordu. Tercih beraberinde
marka bağımlı “Asambler” diline de karar vermek anlamını taşıyordu. Ortak komut
dizisi olmadığı gibi derleyiciler de (asambler/makine dili dönüştürücü yazılım)
bütünün parçasıydı. Teknoloji yönetim sistemleri kurgusunu fazlasıyla
vurgulayarak yeniden biçimlendiriyordu. Dolayısıyla sürüklenişe izin
verilmemiş, yönetsel kabiliyetlerin güncellenmesi belirlenmiş ve planlanmıştı.
Yazılım geliştirme süreci, mimari yapının şekilsel olarak modellenmesi
neticesinde başlatılıyordu. Ardından parçaların belirlenmesi ile amaç açık ve
net olarak tanımlanır oldu. Akış tabloları çizilir, belgeler yazılır, tartışılır,
onaylar alınır, sonrasında kodlama gerçekleştirilirdi. Amaçlanan görevi yerine
getirecek kodlar dizisi makine diline çevrilir ve kalıcı belleklere yakılırdı.
Bu noktada önemli bir aşamaya değinmeden geçemeyeceğim. İşlemciler kalıcı
bellekten almış oldukları komutları icra sürecinde elbette kusurlar oluşmaktaydı.
Testler yanlışlığın veya hatanın yazılım kodları sıralamasında hangi satırda
oluştuğunu ortaya koyamamaktaydı. Böylece böcekleri bulmak ve düzeltmeleri yeni
sürümlere eklemek zahmetliydi.
İmdadımıza kod analiz cihazları yetişmişti. Vantuzlarını mikro işlemcilerin
ayaklarına yerleştiriyor ve o anda icra edilen komut asambler dilinde ekrana
yansıyordu. Mucizevi bu araçlar ters mühendislikle bozuklukları tespit ediyordu.
Şimdi düşünüyorum da açık kaynak kodu daha o zaman mı icat edilmişti. İkili
“Binary” veriden kod üretmek imkânlı hale gelmiş ve kolayca uygulanıyordu.
Dileyen her uzman ve kuruluş işlemcide koşan kodu asambler diline çevirebiliyor
ve anlamını çıkarmayı başarabiliyordu. Açıkçası kâğıt üzerine taşınan
fikirlerin doğrulanması kuvvetli olasılık dâhilindeydi. Kodların karşılarına
açıklama yazmanın zorunlu olduğu bir dönemden bahsediyoruz.
Açık kaynak yaklaşımından faydalanma kuşkusuz ciddi fayda sağlamıştı. Öte
yandan alınan risklerin farkındalığı sıkıntıların doğmadan çözülmesinde öncü
rol oynamıştır. Getirileri kısaca sıralamak isterim.
Ayrıntılı belgelendirilmiş, test edilmiş yazılımın kurgusunu anlamak
kolaylaşmıştı. Değişen sorumluluklar çerçevesinden yeni mühendislerin
uyumluluğu hızlanmıştı. Aradığımız kıt insan kaynağını daha kolay bulabiliyor
ve öğrenim süresini kısaltabiliyorduk. Birimler arasında iletişim
araştırma/geliştirme ile saha ve fabrika, düzgün ve pürüzsüz yürütülüyordu.
İlerleyen zamanda yazılım yamalarının servis ve üretim mühendisliği bünyesinde
gerçekleştirilmesi yeni ürün geliştirme zamanlaması üzerinde inanılmaz
verimliliğe sebep olmuştu.
Geçmiş zaman olur ki - kaynak kodları şirket içinde
paylaşılmış ve üstün beceriler ile özlenen kıvrak koşu yöntemi benimsenmiştir.
İzleme ve takip sistemleri sayesinde kimin hangi kodu ilave ettiği bilinir olmuştur.
Böylece anlaşılırlık artarken dağınıklık da ortadan kaldırılmıştır. Yetiştirici
yanı ile öğrenme aşaması kesintisiz, zincirleme devam edecek kabiliyete
kavuşmuştu.
Rekabetçiliği yitirmemek ve yarışta ön sıralarda yer almak için, kitle
katılımcı geliştirme, bakış açımızı genişletmektedir. Özünde müşteri ile
buluşmayı hızlandıracak sistemleri barındıran açık kaynak kodu girişiminden kamu
seviyesinde yararlanmak kaçınılmaz olacaktır. Her projede, neredeyse aynı
varsayımla, baştan itibaren modelin ve prensiplerin beyan edilmesi ve
kısıtlamaların duyurulması gereklidir. Prensipler; hassas, gizli içeriklerin
ayrıştırılması, güvenliği ve belirlenmesinde yol gösterici araçları
tanımlamaktadır. Açık kaynak kodlu ürünleri Yazılım Hizmeti “SAAS” olarak pazarlanması
ve düzgün bir iş planına dayandırılması, ticari gereksinimi karşılayacaktır.
Yukarı ve çapraz satışlar, tabandan yayılan ortak altyapı çizgisinin üzerinde
yeşerecektir.
Yıllar önce hareket programının özgünlük esasına dayandırıldığını hayal
edebildiğinizi düşünüyorum. Cihana değer
mi? kıymetlendirmeyi sizin yetenekli bilgeliğinize bırakıyorum.
İcrayı San’at Eyle
Sağlıcakla kalın.