Açık kaynak yazılım üzerine podcasting yapan IT Conversations sitesinden bir kaç şovu dinliyordum. Şovların kalitesi çok iyi. Bilindiği gibi sitemde genelde Microsoft teknolojilerine üzerine yazıyorum fakat yazılım mühendisi olmamın verdiği sorumluluk ile her alandan bir şeyler burada göreceksiniz. IT Convesations sitesinden dinlediğim Larry Augustin’in “The Next Wave of Open Source : Applications – Açık Kaynak Dünyasında Bir Sonraki Dalga : Uygulamalar” isimli şovda serbest yazılım dünyasında önümüzdeki yıllarda karşımıza çıkacak ve mevcut ticari yazılım paketlerinden bahsediliyor. Serbest yazılım dünyasında işletim sistemi, derleyici gibi altyapıların artık oturduğu bir dönemde ticari yazılımların üretimine doğru kayılması oldukça normal bir durum.
Yazılım satın alacak bir firma için en önemli unsur bence mevcut sistemlere na kadar entegre olacağıdır. Burada sistem olarak bahsettiğim mevcut bilgisayar sistemleri yada işin işleyiş modelidir. Satış sonrası destek, fiyat, kullanılabilirlik daha sonra gelir. Bir firmanın Linux ortamında mevcut olan ticari yazılımları kullanabilmesi için tabii ki tüm alt yapısının Linux olması ve gerekli desteği ya içerden yada dışarıdan alıyor olması gerekir. Ne tür alt yapı kullanırsak kullanalım genede bir sistem yönetcisine ihtiyaç var nasıl olsa değil mi.
Pek çok yazılım -ticari veya serbest yazılım- ihtiyaçlardan doğar. Daha sonra kullanıcıların gereksinimlerine göre şekillenir. Ticari yazılımlarda gerçek kullanıcı ile yazılım arasında bazı bariyerler vardır. Her isteyen kurup deneyemez, gerekli eğitim, dökümantasyon serbest olarak mevcut değildir, çevrede kullanan bilgi alabileceğiniz fazla firma yoktur yada firmalar bu bilgileri açıklamaktan çekinirler. Bu günümüzde değişmeye başlayan bir model ama aşılması gereken pek çok bariyer daha mevcut. Serbest yazılım dünyasında ise yukarıda saydığımız bariyerler yok fakat bu seferde fonksiyonellik açısından bir fazlalık var ve buda kullanılabilirliği azaltan bir faktör. Ayrıca geliştirme platformlarının çokluğu gene kullanıcının kafasını karıştıran bir etken. Diğer bir etkende açık kaynak yazılımların birlikte çalışabilmesi için harcanacak zaman ve naktin miktarı.
Bence çeşitli standartlar oluşturulmalı ve verinin bütünlülüğü sağlanmalıdır. Örneğin müşteri tablosu her yazılımda aynı isimle ve aynı sahalar ile tanımlanmalıdır. Tabii ki böyle bir standardı yazılım dünyasında oturtmak pek mümkün değil. Her yazılım kendi içinde küçük bir dünya ve kendi kurallarına göre yönetiliyor. Neyse konuyu dağıtmayalım…
Bir kaç serbest yazılımı birleştirip ortaya çıkaracağınız biri ürünü satabilir ve desteğini verebilirsiniz. Güzel bir iş modeli ama başlangıç aşamasında biraz zorlanabilirsiniz. Biraz dikkat ve koyacağınız kurallar ile bunları aşmak mümkün. Nedir bu zorluklar:
- Türkçe döküman eksikliği
- Entegrasyon
- Sürüm kontrolü
- Kurulum zorlukları
- Marka eksikliği
- Fonksiyon fazlalılığı
- Müşteri güveni oluşturma
Genelde serbest yazılım projelerinde Türkçe döküman bulmak zordur yada arayüzleri Türkçeleştirmek gerekir. Sıkı ve temiz bir çalışma gerektirecek bir alan. Özellikle bu alanda üretilen çıktının çok iyi test edilmesi ve yazım, imla vs. hataların giderilmesi gerekir. Yardım dosyalarının da Türkçeleştirilmesi ve kullanıcıya sunulması şarttır. Bir diğer konuda eğitim dökümanları ve kullanıcıya verilecek eğitimlerin şekillendirilmesi.
Entegrasyon pek çok açıdan ele alınabilir. Kullandığınız açık kaynak yazılımların entegrasyonu, mevcut sistemlerle entegrasyon, işleme modeli ile entegrasyon vb. gibi. Sistemler arası veri alışverişinin çok iyi analiz edilmesi ve her türlü senaryonun test edilmesi gerekir.
Kullandığınız açık kaynak yazılımlar yeni sürümler verdikçe sizinde bunları uygulamanız gerekiyor mu araştırmanız lazım. Örneğin bir kere entegrasyon ile ilgili kodu yazdıktan sonra sürümleri değiştirmek istemeyebilirsiniz (aslında bu olay modüler bir yapıda kod yazmadığınızı gösterir). Kendi içinizde de bu sürüm kontrolünü Subversion gibi bir programla çözebilirsiniz.
Kurulum için gerekecek programı sizin yazmanız gerekecektir. Bir kaç açık kaynak programı birleştirdiğiniz için kurulum da size özel olacaktır. Mümkün olduğu kadar kurulum olayını otomatikleştirmek ve sistemin çalışması için elle müdahale edilecek adımları azaltmanız gerekir. Kurulum aşaması bir açık kaynak proje için çok önemlidir çünkü kullanıcı ilk kurulum ile başlar ve ilk izlenimler burada ortaya çıkar. Sistem destek uzmanları için de ne kadar az müdahale edilirse o kadar iyidir.
Gereksiz fonksiyonları kırparak müşteriye tam istediği çözümü vermeliyiz. Zaten fazla fonksiyon olması sizinde başınızı ağrıtır. Zaman ilerledikçe bu fonksiyonları işleme koyabilir
Bazı potansiyel müşterilerin programı pilot olarak kurup denemelerini sağlayın. Böylece programın kendi işlerine yaradığını daha net görürler ve açık kaynak yazılımlara karşı şüphelerini giderebilirler. Bir iki satıştan sonra müşterileri bir araya toplayacak toplantılar düzenleyip fikir alışverişinde bulunmalarını sağlayabilirsiniz. Sizin hiç ummadığınız bir özelliği farklı şekillerde kullanan müşteriler çıkabilir.
İşte size mis gibi iş modeli. Yazılacak minimum kod ile bir ürüne sahip olmak ve bunu pazarlamak ne kadar kolay değil mi? Satış sonrası destek ve eğitim konularınıda hallettiniz mi piyasada uzun yıllar kalacak bir firma sahibi oldunuz demektir.
