Bir Üye Yazılımının Öyküsü — 3. Kitap

ÖNCEKİ BÖLÜMÜN ÖZETİ

Derneğin kuruluşundan kısa bir süre sonra üye sayısının artmasıyla beraber üye bilgilerinin tutulabilmesi, üyelerin değişen iletişim bilgilerini güncelleyebilmeleri ve aidat durumlarını görebilmeleri için bir üye yazılımı gereksinimi ortaya çıktı.

İlk bu işe girişen üyelerimizden Enver Altın oldu. PHP/Postgresql ile bir yazılım geliştirdi. Kayıtlar bu yazılımla tutulmaya başlandı. İlerleyen dönemlerde yazılım yetersiz kalmaya başladığında Enver yeterli vakit ayıramaz hale geldiğinden proje durma noktasına geldi. Artan gereksinimler yazılımın mevcut hali ile kullanılmasını çok zor hale getirdi.

Üye veritabanı yazılımına el atan ikinci üye Tolga Korkunçkaya oldu. Eski yazılıma ek yapmak yerine PHP/MySQL ile yeni bir yazılım geliştirdi, veritabanı bilgilerini aktardı. Yazılım aktif olarak kullanılmaya başlandı. Bir süre sonra Tolga da yeterince zaman ayıramamaya başladı.

Bu dönemde mevcut üye veritabanı yazılımının temel koduna dokunmadan, diğer dernek üyeleri tarafından ek modüller geliştirildi. Doruk Fişek Postfix (e-posta yönlendirmeleri) ve Apache/htaccess (intranet erişimleri) entegrasyonlarını yazdı. Nihat Ciddi Mailman entegrasyonunu yaptı. Arman Aksoy raporlama bölümlerini ekledi, aidat hesaplarını ve karşılaşılan çeşitli hataları düzeltti. Onur Yerlikaya Apache/htaccess erişimlerinin tutulduğu veritabanı sistemi için bir web arayüzü geliştirdi.

Nisan 2007’de dernek üyelerimizden biri, başka bir(kaç) dernek üyesi ile özel sürtüşmesi sonucunda derneğin üye veritabanı yazılımına yetkisiz giriş yaparak üye bilgilerini ve parolalarını aldı. Durumun öğrenilmesi sonrasında kullanılan güvenlik açığı giderildi ancak koddaki olası diğer açıklardan endişe edildiği için üye veritabanı yazılımı geçici olarak devre dışı bırakıldı.

Üye veritabanı yazılımına üyeler erişemediği için lkd-uye listesine giriş/çıkış sekteye uğradı, intranetlere erişim kesildi.

İki farklı güvenlik firması ile yazılımın kaynak kodunun güvenlik denetiminin yapılması için bağlantı kuruldu ancak denetimlere başlanmasına karşın tamamlan(a)madı.

Bugün itibarıyla üye veritabanı yazılımı hala devre dışı bulunuyor.

YENİ BÖLÜM

Dernek artık önümüze bakmaya çalışıyoruz. Üyelerin dernek üyelerine özel listelere kolayca katılıp/ayrılabilmeleri, üyelere özel web alanlarının (intranet) tekrar oluşturulabilmesi, dernekle ilgili ayrıntılı bilgilere ulaşabilmeleri, kendi aidat bilgilerine kendilerinin bakabilmesi için bu işin ivedilikle çözümlenmesi gerekiyor.

Dernek üyeleri üç farklı yöntemi artıları ve eksileri ile değerlendirdi :

1) Mevcut üye yazılımının kodlarını svn’e koyup herkesin geliştirmesine açarak kullanmaya başlamak.
– Dezavantaj : Oluşan güvensizlik nedeniyle güvenlik kaygısının aşılmasının zor olması. Temel yazılımla 4 senedir ilgilenilmediği için elden geçirilmesi gerekmesi. Her ek özellik için kendimizin uğraşması gerekmesi.
+ Avantaj : Hemen kullanmaya başlayabilecek olmamız. Derneğin toplum için “ürettiği” bir yazılım, yaptığı bir teknik proje olacak olması.

2) Yeni bir üye yazılımı yazmak, bunu yaparken geliştirmeyi svn üzerinde herkese açık, bir özgür yazılım projesi gibi yapmak.
– Dezavantaj : Geliştirme tamamlanana kadar kullanamayacak olmak, geliştirme sürecinin uzama riski. Her ek özellik için kendimizin uğraşması gerekmesi.
+ Avantaj : Sıfırdan yazılacağı için daha fazla hareket özgürlüğü. Derneğin toplum için “ürettiği” bir yazılım, yaptığı bir teknik proje olacak olması.

3) Derneklere üye yazılımı üreten bir firmadan sponsorluk ve/ya ücret karşılığı yazılım alarak kullanmak.
– Dezavantaj : Olası yazılım özelleştirme problemleri. Tam bize uyan/uydurulan bir yazılım bile olsa, kaynak kodunun büyük olasılıkla kapalı kaynak kodlu olacak olması –> ilkesel çatışma.
+ Avantaj : Yazılım geliştirme gibi bir yükten kurtulmuş olacağız.

Üyelerin kendi aralarında yaptıkları değerlendirmelerin hemen hepsi sıfırdan yeni bir yazılım geliştirme üzerine oldu. Bir üye, piyasadaki iki özgür yazılımı özelleştirerek entegre etmeyi önerdi ama bu entegrasyon üzerinde çalışmaya talip olan kimse çıkmayınca; sıfırdan yeni yazılım geliştirmeye yoğunlaşıldı.

Üye yazılımında ne özellikler bulunması gerektiğinin bir listesi çıkarıldı, yazılımın geliştirilmesi için teknik seçimler ise kodu geliştirecek insanlara bırakıldı. Yapılan çağrı sonucunda 5 kişilik bir ekip oluştu :

* Bahri Meriç Canlı / kodlama, yönetim
* Koray Toksöz / kodlama
* Burak Usgurlu / kodlama
* Gökmen Görgen / test, kod eniyileştirmesi
* Enis Hürkan Burakçı / test

Bu kişilere ilerleyen aşamalarda grafik dizayn ve web tasarımı için Umuthan Uyan ve Mehmet Fatih Yıldız da dahil olacaklar. “Kodu yazan, kuralı koyar” düşüncesiyle, tüm geliştiricilerin ortak kullanabildiği dil PHP ve veritabanı sunucusu MySQL proje aracı seçimleri oldu.

Projenin idaresi ve yürütücülüğünü aralarından Bahri Meriç Canlı üstlendi. Bu demek değil ki tüm kararları o verecek, ekip üyeleri fikirlerini sonuna kadar söyleyecek ve savunacak :). Topluluk projeleri ancak yoğun fikir alışverişi ile başarıya ulaşabiliyor.

Projenin iki adet herkesin üye olmasına açık e-posta listesi var :

1) uyeyazilimi@liste.linux.org.tr : Üye yazılımı ile ilgili tüm yazışmaların gerçekleştiği e-posta listesi. Tüm teknik tartışmaların geçtiği, kararların alındığı liste. İsteyen herkes listeye salt-okunur olarak üye olabiliyor ancak sadece geliştiriciler yazabiliyor.

2) uyeyazilimi-commits@liste.linux.org.tr : Svn kod hareketlerinin bildirildiği bir duyuru e-posta listesi. Otomatik svn duyuruları dışında kimse yazamıyor.

Projenin svn servisinin kurulması ve ayarları ile Bahri ilgileniyor, kısa zamanda aktif olacaktır. Yazışmalar başladı bile, olası bir yüzyüze toplantı için planlar yapılıyor.

15 Temmuz 2008

Posted In: Yk