11 Nisan 2006

Bir eğitimcinin mühendislik görüşü üzerine denemeler

Bugün, mesleki sertifika eğitimi veren bir eğitimci ile biraz sohbet ettim. Kısa bir sohbet olmasına rağmen neden olduğunu anlayamadığım halde, ciddi şekilde sürtüşmeyi başardık. Sohbet, benim açık kaynak kodlu yazılım ve GNU/Linux sempatimin ortaya çıkması ile alevlenmeye başladı ve bu insanın ağzından bir çok görüş öğrendim. Mesela....

Türkiye'de .net kullanılıyor çünkü; bu ülkede bundan para kazanılıyor. IBM ve büyük firmalar açık kaynak "kullanıyorlar" çünkü bundan ekmek yiyorlar. Yoksa açık kaynak ile bir gönül bağları yok. Açık kaynağa gönül verenler bir tek GNU cular ve komik şeyler söylüyorlar. Evet haklı ama; ikinci cümlenin başına kadar. IBM ve benzeri firmalar açık kaynaklı yazılım kullanmaktan öte, bu yazılımların üretimine, korunmasına (OIN, open innovation network) ve desteklenmesine (kendi yazılımlarını değil, genel olarak açık kaynağın desteklenmesine) ciddi anlamda para yatırıyorlar. Hiç bir ücret alınmadan dağıtılan bu yazılımların bütün teknolojilerinin açık olması ise bu adamların bunun üzerinden para kazanmalarını engelliyor. Peki, bu adamlar nereden ve nasıl para kazanabiliyorlar?

Açık kaynak kodun en büyük özelliklerinden biri, program ile beraber desteğinin indirilemiyor oluşu. Yani sizin yeterince yetenekli ve bu işi seven bir ekibiniz yoksa; bu adamlardan destek ve eğitim almalısınız. Adamlar bu noktada yazılımdan para kazanıyorlar. Adamlar kodu satarak daha çok para kazanabilecekken neden peki daha az para kazanıyorlar? Cevabı basit. Çünkü adamlar kodu açarak maliyetten düşüyorlar. Açık kaynaklı yazılımların belli bir ekibi ve belli gönüllüleri var. Gönüllüler, böcek ayıklama ya da geliştirme yapıyorlar. Sonuç olarak programın kodu daha geniş bir kitleye yayılıyor ve daha kolay böcek temizleme (kod ve tasarım seviyesinde) ve alana göre özelleştirilme / yerelleştirme çalışmaları yapılıyor. Bu değişiklikleri uyarlayan insanlar bunu firmaya geri gönderdiği zaman bunlar da firmanın sistemine göre (eğer böyle şeyler kabul ediliyorsa) koda ekleniyor. Böylece çift yönlü döngü başlıyor. Profesyonel programcılar, diğer gönüllü "code hacker" lardan görüş, öneri ve destek de alabiliyorlar böylece. Sonuç olarak yazılım hızlı evriliyor, hızlı gelişiyor ve daha stabil bir noktaya geliyor.

Türkiye'de .net kullanılıyor çünkü; bu ülkede bundan para kazanılıyor. IBM ve büyük firmalar açık kaynak "kullanıyorlar" çünkü bundan ekmek yiyorlar. Yoksa açık kaynak ile bir gönül bağları yok. Açık kaynağa gönül verenler bir tek GNU cular ve komik şeyler söylüyorlar.


Bu kadar paralel şey söyledikten sonra benim bu adamla ne diye anlaşamadığımı da merak edeceksiniz, eminim. Sorun şu: bana göre açık kaynak dünyasını bu kadar dinamik, firmaları da bu işe bu kadar istekli tutan bir şey var. Bu işin amatörlüğü. Plana programa bağlı olsa bile bir kültürü var. Kişisel hırslardan çok ortak geliştirme ve anlaşabilme disiplinine dayalı, saydam ve eğlenceli. Programcı ekibiniz sürekli değişken. Mutlaka işi iyi bilen biri var ve en önemlisi severek yapılıyor (en azından gönüllüler tarafından). Bana göre ayrıca bir yazılım profesyonel bir sekreterlikten (özel bir dilde özel bir metni şekline uygun şekilde yazmak) çok gönüllü bir sanatçılık. Kendi imzanı kendi kodlama stilin ile birleştirip ortaya istenilen işi yapan ama senin zeka ve anlayşını yansıtan bir ürün çıkarmak. Bu ürünü çıkartırken karşılaştığın sorunlarla kendi çözüm anlayışını ve bilgini uygulayarak metodoloji olarak bu kodu bir kere daha imzalamak. Böylece hem kendini hem çalıştığın yeri memnun edip hayatına devam etmek.
Bugün konuştuğum insana göre ise programcılık daha basit. Yapılması istenen işi, eğitim ya da çözüm dökümanlarındaki en popüler yöntemle yazıp, karşılaşılan sorunları internetten ulaşılabilen çözümlerden basitçe devşirmek. Bu tamamen yeniden kullanılabilir kod konseptine otursa bile bu kadar saf şekilde bu yöntemin uygulanması sadece ve sadece günü kurtaran, n. revizyonda "sphagetti code" olup, programınızı hazmedilemez bir pelteye çeviren bir metodoloji. Benim özel sektör ve şu zamanlarda çok popüler olan yazılım mühendisliği (otomatikleştirilmiş programcı yetiştirme bölümü de diyebiliriz) ile anlaşamamaktaki temel nedenim bu.

Bir de GNU cuların komik olmak gibi bir özellikleri olduğunu öğrendiğimden bahsetmiştim. GNU cuların komik olmalarının sebebi ise idealist olup, bir şeyi gönülden desteklemek ve diğer firmalara bu ciddi alternatifi kabul ettirebilmeleri sanırım. Eğer bir insan 70lerdeki iyi niyeti özleyip bu hayalini gerçekleştirip IBM gibi bir firmaya eclipse gibi bir teknolojiyi açtırıp, kocaman bir işletim sistemi yazıp bunu dünyanın en büyük firmasının karşısına çıkarabilecek bir örgütlenme yaratabiliyor ise, buna "komiklik" diyen insanların aynaya bakıp "lan acaba..." demelerinde fayda olduğunu da düşünüyorum.

Ayrıca bir insanı "bu ülkede" "ar-ge" yapmak istediği için ve "her şey para değil, yaşayabileceğim kadar para kazanıp sevdiğim işi yapıp dünyanın en mutlu insanı olabilirim" dediği için, "küçüksün sen, 25 ine gel konuşalım." Diyerek aşağılamasını da tasvip etmiyor, bu konunun kişisel olması ve karşı tarafa cevap hakkı verdiği için ise bu yazıda yeri olmadığını düşünüyor, kendisini aynaya davet edip yazımı bitiriyorum...


Unutmadan size iyi bir geceler küpesi: "Hayalleri olmayan insanlar yaşayamazlar." (ya da onun gibi bir şeydi, hatırlayamadım şimdi.)

Hiç yorum yok: