Kurumsal Yazılım Geliştirmede Açık Kodlu Ürünler Öne Çıkıyor
Kurumsal yazılım geliştirme pazarında açık kodlu araçlar ciddi pazar payları kazanmaya başladılar. Bu kazanım sadece ücretsiz olmalarından dolayı kaynaklanmıyor. Bu ürünler hem kullanım kolaylığı, hem de ürünle ilgili kaynak fazlalığı açısından ciddi gelişme gösterdiler ve pazarda yerlerini aldılar. Şimdi bu ürünleri ve bu ürünleri kullanmanın ülkemiz ekonomisine kazandırabileceği faydalar üzerinde duralım. Bu yazının sadece bilimsel amaçlı ve sadece teknik bir yazı olarak yazılmadığını, kendi kişisel gözlem ve tecrübelerimi, bazen anılarımı da içerdiğini belirtmek isterim.
Kurumsal yazılım geliştirme tarafında iki büyük oyuncu var. .NET etrafında oluşturduğu yeni mimarisiyle Microsoft tarafı ve Java tarafı. Birinci tarafın zaten seçme özgürlüğü diye birşey yok. Microsoft'un uygun gördüğü ürünleri onun uygun gördüğü fiyattan kullanmak durumunda. İkinci taraf - Java tarafı - ise dilediği yazılımı seçmekte ve kullanmakta özgür. Zaten açık kodlu ürünlerin hızlı gelişimine asıl şahit olan taraf, bu taraf. Bunun dışında ArgoUML(UML Modelleme aracı) gibi her iki tarafın da kullanabileceği ürünler de mevcut. Java tarafının da hem ticari ürünlerin olduğu tarafını, hem de açık kodlu ürünlerin olduğu tarafı inceleyeceğiz.
Durumu bir örnek üzerinde inceleyelim. Diyelim ki yeni kurulmakta olan küçük bir KOBİ'ye program yapacağız. Bu işletme başarılı olursa başka şehirlerde de şubeler açmayı planlıyor, dolayısıyla ortak kullanılabilecek web tabanlı bir yazılım istiyor. Şimdi web tabanlı bir çözüm hem Microsoft, hem Java tarafında nasıl karşılanır inceleyelim.
Programın üzerinde çalışacağı bir işletim sistemi gerekecek. Web tabanlı çalışacağı için bir uygulama sunucusu gerekecek. Verilerin tutulması için bir veritabanı gerekecek. Ve de yazılımcıya programın yazılması karşılığında bir ücret ödenecek (Tek bir yazılımcı tarafından yazılabilecek küçük bir yazılım olduğunu farzediyoruz.). Ana giderler bunlar.
Microsoft tarafında Windows 2000 Server işletim sistemi (SQL Server XP üzerinde desteklenmediği için bu işletim sistemi seçildi.), IIS uygulama sunucusu ve SQL Server veritabanı kullanılabilir.
Java tarafında ticari ürünler kullandığımızı düşünelim. Windows 2000 Server işletim sistemi, Oracle 9i veritabanı, BEA Weblogic uygulama sunucusu kullanabiliriz.
Java tarafında açık kodlu ürünler kullandığımızı düşünelim. Mandrake Linux 10.0 işletim sistemi, MySQL veritabanı, Tomcat uygulama sunucusu kullanabiliriz.
Microsoft tarafında Windows 2000 Server işletim sistemi 5 istemci erişimiyle 999 dolar. 10 istemci erişimiyle 1199 dolar. Yani erişecek istemci sayısına göre fiyatlar da değişiyor! IIS için ayrıca para vermeye gerek olmayabilir, işletim sistemiyle geliyor. SQL Server veritabanı ise sunucu başına 4.999 dolar. Sunucudaki işlemci sayısı artarsa 4.999'u işlemci sayısıyla çarpacaksınız. Basit bir stok programının yazılım geliştirici maliyetini de yaklaşık 500 dolar olarak düşünelim. İşletmenizdeki stokları takip edecek web tabanlı küçük bir yazılım çözümü için 6498 dolar ödeyerek işe başlıyorsunuz. Durum ileriki yıllarda daha da acı oluyor. Microsoft'da bir yazılımın ömrü 5 yıl. Yani en geç 5 sene sonra bütün lisanslarınızı yenilemek zorunda kalıyorsunuz, aksi takdirde o ürün için artık destek alamıyorsunuz. Yazılım geliştirici açısından işler daha da sancılı olabiliyor. Microsoft 5 sene sonra “ben artık bu dili desteklemiyorum, şu dile geçin” diyebiliyor. 5 sene önce C# ile yazan var mıydı? Peki Visual Basic ile yazanlar uygulamalarını hiç değişiklik yapmadan .NET ortamına geçirebildiler mi? Hayır, Visual Basic .NET diye yeni bir dile geçtiler. Ama ben Java'da 5 sene önce yazdığım kodu hala çalıştırabiliyorum. Microsoft eskiyle uyumluluğu çok önemsemiyor ve her yeni ürün çıkardığında ona geçilmesini, dolayısıyla lisans satmayı planlıyor.
Fiyatların 999 dolar, 4.999 dolar olmasına dikkat edin. 1.000 dolar ya da 5.000 dolar değil. Bu fiyatları görünce aklıma hep Nasreddin Hoca fıkrası gelir. Hoca bir gün fırına gitmiş. “Bana 99 tane ekmek ver” demiş. Fırıncı da “100 tane vereyim hoca” demiş. Hoca “Delirdin mi? O kadar ekmeği kim yiyecek?” demiş. Bu fiyatlar da o hesap. İyi ki 4.999 dolar, ya 5.000 dolar olsaydı ne yapardık?
Java tarafının ticari tarafını düşünelim. Windows 2000 Server işletim sistemi 5 istemci erişimiyle 999 dolar demiştik. Oracle 9i Standard veritabanı işlemci başına 15.000 dolar. Yani sunucumuz daha hızlı çalışsın diye çift işlemci koymak istersek 30.000 dolar ödeyeceğiz veritabanına. Biz tek işlemci kabul edelim. Bea Weblogic de 8.1 sürümünde fiyat indirenler kervanına katılmış. Daha önce 80.000 dolara kadar çıktığını duymuştum. Şimdi 20 kişilik bir istemci grubu için işlemci başına 3.000 dolar alıyorlar. Burada da yazılımımız 500 dolar geliştiriciye verdiğimiz parayı da katarak 999 + 15.000 + 3.000 + 500 = 19.499 dolara geliyor.
Son olarak da Java tarafının açık kodlu tarafına bakalım. İşletim sistemi Mandrake Linux 10.0, ücretsiz. Uygulama sunucusu Tomcat, ücretsiz. İleride EJB de kullanarak yazılımı genişletmek isterseniz Tomcat'in yerine yine ücretsiz olan JBoss uygulama sunucuya geçebilirsiniz. Veritabanı MySQL, ücretsiz. Geliştiriciye vereceğiniz para 500 dolar. Toplam maliyet 500 dolar!
Tomcat ve JBoss clustering gibi kurumsal özellikleri de olan ve son yıllarda kurumsal projelerde sıkça kullanılan uygulama sunucuları. Ben son projemi bir kamu kuruluşuna yaptım ve Tomcat üzerinde çalıştırıyoruz. Tomcat, kullanım ve bakım kolaylığı gibi konularda bugüne kadar başımı en az ağrıtan ve en beğendiğim uygulama sunucusu oldu. Tomcat'in diğer ticari uygulama sunucularıyla karşılaştırmalarını kısa bir Google aramasıyla internetde bulabilirsiniz. Veritabanına bakacak olursak, MySQL de 2002 yılında eweek magazin dergisinin gerçekleştirdiği karşılaştırmalı değerlendirmede(benchmark) Oracle ile birlikte genel toplamda en iyi veritabanı seçildi. Testte kullanılan MySQL ücretsizdi, Oracle 9i Enterprise 160.000 dolar(Testler 4 işlemcili bir sunucuda gerçekleştirilmiş)! Bu değerlendirmeye yazı sonundaki referanslardan ulaşabilirsiniz.
Başka bir konu da güvenlik. Açık kodlu ürünlerin kodlarındaki güvenlik hataları kodu inceleyen üniversiteler, güvenlik şirketleri, vs. tarafından tesbit edilip duyuruluyor ve hemen hatanın temizlendiği sürüm yayınlanıyor. Dolayısıyla güvenlik konusunda açık kodlu ürünler, diğer ticari ürünlere göre avantajlı durumda.
Kişisel olarak; birkaç yıl içinde işletim sistemi, uygulama sunucusu, veritabanı, uygulama geliştirme aracı, vs. gibi paket olarak satılabilen ürünlerde, açık kodlu ve ücretsiz ürünlerin, diğer ticari ürünlerin yerini alacağına inanıyorum. Bir yönetim bilişim sistemi yazdırmak isteyen işletme sahibi sadece hizmete para ödeyerek, 0(sıfır) lira lisans parası ödeyerek bu sistemlere sahip olacaklar. Dünyada kurumsal yazılım geliştirme pazarında rüzgar, açık kodlu ürünlere doğru dönüyor. Kitaplarda bile örnekler artık Tomcat, MySQL gibi araçlar kullanılarak veriliyor. Dolayısıyla kaynak sıkıntısı da söz konusu değil. Şu anda bu yazıyı da ücretsiz ve açık kodlu OpenOffice paketinin Text Document ürünüyle yazıyorum. Belgeyi istersem .doc uzantılı da kaydedebiliyorum. Dolayısıyla Microsoft Word ile okumak isteyenler okuyabiliyor.
Açık kodlu ürünleri kullanmanın Türkiye'nin ekonomik geleceği açısından da önemli olduğunu düşünüyorum. Ülkemizden dışarıya lisans parası olarak çıkan yüz milyonlarca dolar içeride kalmış olacak.
Türkiye'de açık kodlu ürünlerin yaygınlaşmasını hızlandırabilecek bir diğer faktörde, bunları kullanacak, eğitimini ve desteğini verecek bilişim firmaları. Vizyon sahibi firmalar ücretsiz yazılım tarafına doğru esen rüzgarı yakalayacak ve önümüzdeki yıllarda avantajlı duruma geçecekler. Bilişim firmaları açısından bir kayıp olmayacak. Lisans parası zaten kendi ceplerine girmiyordu. Hizmetten para kazanıyorlardı, yine hizmetten para kazanacaklar.
Almanya gibi ekonomik olarak daha rahat ülkelerin bile yurtdışına giden lisans paralarını düşünerek ücretsiz ve açık kodlu ürünler kullanmaya yöneldiğini (Münih Belediyesi geçen sene aldığı bir kararla Windows işletim sistemlerini Linux işletim sistemleri ile değiştirdi.) düşünürsek, bizim de ülke olarak yazılım projelerinde ödenen lisans paralarını sorgulamamız gerektiğini düşünüyorum.