The Cathedral and The Bazaar

The Cathedral and the Bazaarı yeni okudum. Kitabın kapağında sanki kendisini okuyan herkesi free software developer yapabilirmiş gibi bir hava vardı ve ben de dayanamadım okudum. Sonuçta free software developer oldum mu? Belirsiz. Gerçi Parkyeri’nde geçirdiğim süre beni en azından Microsoft teknolojilerinden soğutmaya yetti ve arttı bile ama dönüşüm henüz tamamlanmadı diyebiliriz. Neyse beni bırakalım ve kitaptan bahsetmeye başlayalım.

Kitabın adından da anlaşılacağı üzere en temelde iki kavram tartışılıyor. Açık kaynaklı yazılım geliştirme yöntemini açıklamak için kullanılan pazar metaforu ve bir kaç ultra geek tarafından hazırlanan power-mode yazılım geliştirme yöntemini açıklamak için kullanılan katedral metaforu.

Katedral metaforunda bir mimar ve bir kaç ustanın titiz ve uzun süre çalışması sonucunda ortaya çıkan güzel binalara gönderme yapılıyor. Bu metaforun en önemli örneği günümüzde çalışmaları hala devam eden GNU işletim sistemidir. Richard Stallman önderliğinde yürütülen çalışmada ne yazık ki Hurd adındaki GNU çekirdeği hala bitirilebilmiş durumda değildir. Ama bunların dışında GNU sistemi olarak adlandırabileceğimiz yazılım paketi bu güne değin görülmüş en yararlı ve istikrarlı yazılımlar arasında yerini almış durumda. Ama gördüğünüz gibi en önemli kısım olan çekirdek bitirilememiş ne yazık ki. Öyle 3-5 süper yazılımcının bir araya gelmesi demek ki her zaman başarıyı garantilemiyormuş.

Diğer yandan pazar yöntemi ise günümüzde açık kaynaklı yazılımların temelini oluşturan yazılım geliştirme yöntemi oluyor. Bunun ise en temel örneği Linux; ortada bir iyiliksever diktatör var ve onun dışında onlarca-yüzlerce insan ortak bir kod tabanına katkıda bulunmaya çalışıyor. Burada en güzel şey, bu yüzlerce insanın aynı zamanda yazılımın kullanıcıları da olmaları; bu sayede bedavadan test işlemleri de yapılıyor ve en ücra hatalar testçisi tarafından tespit edildikten sonra hızla çözülebiliyor. Geriye de sadece bir yama çıkartıp yazılımın koordinatörlerine göndermek kalıyor. Onlar da çok büyük bir hatası olmadığı sürece yamayı sisteme alıyorlar.

Kitap bu noktada bize açık kaynaklı yazılımın neden başarılı olacağını da göstermiş oluyor; yazılıma bakan, onun daha iyiye gitmesini isteyen ve hatalarını çözebilecek binlerce göz. Özgürlüğün getirdiği nimetler işte ; ). Burada yazar Eric Raymond’ın şahane sözünü de sizlere aktarmak istiyorum : ‘given enough eyeballs, all bugs are shallow’.

Burada kitapta Linux’un ortaya çıkmasına kadar neden bu gelişmelerin sağlanmadığına da değinilmiş. Açıkçası ‘Free Software’ (bunun yerine kesinlikle sadece açık kaynaklı kod denmesinin gerekli olduğunu savunuyor yazar) kavramının insanları bu işten uzak tuttuğu düşünülmüş. Olayın Free olması, insanlarda bedava bira izlenimi yarattığı için ve dolayısıyla çıkar sağlanamaz sonucu oluşturduğundan, kavram ilgi görmemiş. Ne zaman ki açık kaynaklı kodun da satılabileceği, desteğinin ücretli olabileceği insanlara açıklanmış, yazılımcılar bu olaylara daha çok ilgi göstermeye başlamışlar.

Raymond ayrıca açık kaynak projelerin yönetimi ile de ilgili ahkam kesmeyi ihmal etmemiş. Burada kime hacker denir, proje yöneticisi neler yapmalı şeklinde çıkarımlarda da bulunmuş. Mesela bir kişiye hacker denmesi için ona diğer hackerların hacker demesi gerekiyor. Sanırım buraya ciddi bir başlangıç metodu da koymak lazım yoksa ilk hackera kim hacker diyecek sorusunu sormam gerekiyor. Diğer yandan bir proje yöneticisinin, kendi projesine destek veren beta-user ve developer kişilere nasıl iyi davranması gerektiğine de değinmiş kendisi. Aynı zamanda kodun ne zaman ve nasıl devredileceği ile ilgili de sözler mevcut. Bunları da tek tek anlatmayayım, açın da kendiniz okuyun bir zahmet :).

Diğer yandan kitapta çok önemli bir kısım Mozilla deneyimine ayrılmış durumda. Eric Raymond ve Linus tan zamanında etkilenen Netscape yöneticileri, Netscape Navigator projesinin kodlarını açmaya ve Mozilla projesi olarak devam etmeye karar veriyorlar. Yıl 2012 olunca oldukça cool davranmak kolay ama o zaman Internet Explorer ın pazar payının ne kadar yüksek olduğunu hatırlamak gerekiyor. Ki bu browser hala pazarda birinci durumda. Ama beklenen oluyor ve Firefox internette gezinmek için şu anda Internet Explorer dan heralde 132 kere daha iyi bir tarayıcı durumuna gelmiştir.

Sonuç olarak kitap çok güzel dokunuşlara sahip. Özellikle yazılım geliştirme metodları üzerinde edinilecek çok bilgi var. Diğer yandan özgür yazılımların dilini öğrenmek açısından da inanılmaz değerli bir kaynak. Yazarın kişisel görüşleri ve felsefi yazma isteği yer yer can sıkabilse de, özellikle yazılımcıların çok hızla okumalarını tavsiye ettiğim bir kitap. Neyin ne olduğunu görmek lazım ;).