6 Ağustos 2009 Perşembe

Open Source for the Enterprise - Ya Da - Bazıları Olgun Sever - Bölüm 2

Evet, bazıları olgun sever. Açık yazılımın olgunluğu daha fazla döküman ve online bilgi, daha az bug ve daha çeşitli platform için destek ve uyumluluk anlamına geliyor. Peki açık yazılımın olgunluğu nasıl anlaşılır? Bu sorunun cevabını yine kullanıcı bulmak zorunda. Kitabın bu bölümü bu soruya sağlıklı bir cevap bulmanın yönetimi anlatıyor.

Açık Yazılımın Tuzakları

Açık yazılım seçiminde yapılacak hataların hazin sonuçları:
  • Beklenenden daha fazla emek ve zaman istiyor
  • Kullanılan sistemle uyumsuz
  • Yazılımı geliştiren ekipten veya community'den destek almak imkansız
Yukarıdaki durumlara düşmek istiyorsanız, çok zekisiniz tebrik ediyorum, şu listedekileri eyleme koyunuz:
  1. IT departmanınızın seçtiğiniz açık yazılımla ilgili deneyimi ve bilgisi olmasın.
  2. Community desteği bulunmayan açık yazılımları seçmeye özen gösterin. Örneğin projenin forumuna en son post Mart 2002'de yapılmış olsun.
  3. Projenin adı çok fazla duyuluyor diye, sadece popülaritesine bakarak seçim yapın.
  4. Lisansında sorun olan, ticari babalarla başı belada olan projeleri tercih edin.
  5. Projenin daha olgunlaşmadan yavaşlamış olmasına dikkat edin. En son bug-fix seneler önce yapılmış olsun.
  6. Kullandığınız platform için uygun olmayan açık yazılımı tercih edin. Örneğin MS IIS, Oracle ve Solaris kullanıyorsanız Apache, MySQL ve Linux için yazılmış projelere yönelin.
"Yok, hayır, istemem, istediklerim aksi yöndedir" diyorsanız, buyrun size olgunluğu belirleyen etkenler.

Açık Yazılımın Olgunluğunu Belirleyen Etkenler

  1. Liderlik ve Proje Kültürü: Daha önce de community'sine bak, open source'u al şeklinde ifade ettiğim gibi, açık yazılımın kalitesini proje lideri ve çevresindeki community belirliyor. Büyük açık yazılım projelerinin liderleri açık yazılım dünyasına katkıları sebebiyle haklı bir şöhrete sahipler (Gavin King->JBoss, Scott Ferguson->Resin). Proje liderinin tutumu da projenin kültürünü etkiliyor. Örneğin her eleştiriden kıl kapan bir liderse proje gelişemiyor. Bu yüzden, projenin olgunluğunu anlamaya çalışırken projenin liderine ve oluşturduğu kültüre bir göz atmak akıllıca.
  2. Community'nin Şekli Şemali: Projenin kullanıcıları ve geliştiricileri arasında belirli bir ayrım oluştuysa, bu projenin olgunluğuna bir işaret olabiliyor. Forumlarda verilen cevaplara bakarak projenin community'si hakkında genel bir fikir edinmek mümkün. Ayrıca community'nin aktif üyelerinin çokluğu, download sayısının yüksekliği de iyiye işaret.
  3. Destek Kalitesi: Yine forumlardaki aktiviteye, sorulan sorular ve verilen cevapların derinliğine ve -mevcutsa- Sıkça Sorulan Sorular bölümüne bakılarak destek kalitesini anlamak mümkün. Herhangi bir sorun yaşamanız durumunda ne kadar sürede ve ne kadar doyurucu bir cevap alabileceğinizi kestirebilirsiniz.
  4. Kurulum Paketi Kalitesi: Açık yazılım projelerinin genellikle kurulum paketi falan olmuyor. Hatta büyük kısmını download ettikten sonra compile etmeniz gerekiyor. Eğer farklı işletim sistemleri için kurulum paketi varsa, pek şüpheniz olmasın, proje gayet olgundur, afiyetle yenilebilir.
  5. Kod ve Dizayn Kalitesi: Ortalama bir yazılımcı, kodu ve dosyalandırma yapısını biraz incelediğinde kalitesini az çok anlar. Projenin kaynak kodunu inceleyerek geliştiricilerin projeyi ne kadar ciddiye aldığını anlayabilirsiniz. Olgun açık yazılım projelerinde bu konuya çok önem veriliyor, hatta bazı projelerde liderin elinden geçmeden tek satır kod commit edilmiyor. Koda bakınız, olgunluğu anlayınız.
  6. Mimari Kalitesi: Bir önceki maddeye benzer bir madde. Kod mimarisini incelerseniz özenli mi özensiz mi olduğunu anlayabilirsiniz.
  7. Test: Kodun içerisinde bol bol unit ve integration test bulunuyorsa iyiye işaret.
  8. Diğer Projelerle Uyum: Projenin, depend ettiği diğer projelerin eski ve yeni versiyonlarıyla uyumu da olgunluğuna işaret ediyor. Farklı versiyonda bir dependency kullandığınızda çakılıyorsa, proje henüz gençtir, hayattan öğrenecekleri vardır. Bırakın öğrensin. Olgunlaştığında yersiniz.
  9. Proje Web-Sitesinin Kalitesi: Kitapta bu madde sonlara konulmuş fakat bence ilk sıralara konulabilir. Projenin sitesini biraz kurcalarsanız projenin hangi aşamada olduğunu, ne kadar destek alabileceğinizi vs. kısa zamanda anlayabilirsiniz. Bu noktada yazar kendini tekrar etmeye başlamış.
  10. Lisans Türü: Bu maddenin projenin olgunluğuyla pek alakası yok aslında. Yani projeyi kendi ürününüzle dağıtacaksanız tabii ki lisansının buna izin verip vermediğini bilmeniz gerekiyor. Ne alakası var bunun olgunlukla?
  11. Baba Desteği: Projenin arkasında para babası şirketlerin desteği varsa (IBM ve Apache örneği) gönlünüz rahat olsun.
Bu bölümün sonunda, yukarıdaki kıstaslar kullanılarak projenin olgunluğuna not verebilmek için bir tablo konulmuş. Bu şekilde notlamaya ne kadar gerek var bilemiyorum. Projeyi kullanacak yazılımcıların bilgi ve deneyim seviyesini biliyorsanız, yukarıdaki kıstasları kullanarak yazılımın sizin için uygunluğunu değerlendirmeniz mümkün.

Başta da söylediğim gibi, bazıları olgun sever.

Hiç yorum yok:

Yorum Gönder