Vezir Wiki

Hepimizin bildiği (yada en azından ben öyle umuyorum) www.sourceforge.net sitesi açık kaynak yazılım geliştiren pek çok yazılım uzmanının kullandığı bir paylaşım sitesidir. Bu sitede yer alan yüzlerce proje günlük hayatımızda bizlere pek çok kolaylık sağlıyor. Sanırım bu sitenin iki tür kullanıcısı var. Bunlar ücretsiz ve işlerine yarayabilecek bir program arayan kişiler ve açık kaynak yazılıma gönül vermiş yazılım uzmanları. Birinci tür kullanıcılar genelde sadece programların kurulum sürümlerini indirirken, ikinci tür kullanıcılar ise projelere katkıda bulunuyor, yönetiyor veya bir kaç projenin sahibi durumundalar.

Ben bu yazımda yazılım dünyasına atılmış ve deneyim kazanmak isteyen gençlerin (kendimi bir an yaşlı hissettim!!) nasıl Sourceforge üzerinde bir projeye sahip olacaklarını, nasıl yöneteceklerini, CVS, PKI ve yazılım geliştirme platformlarını nasıl kuracaklarını anlatmak istiyorum. Umarım yararlı olur. Bu yazı Windows sistemleri üzerinde her hangi bir dille yazılım geliştirenler için hazırlanmıştır. Anlatılan tüm programlar ve yöntemler Windows sistemleri için geçerlidir.

Öncelikle Sourceforge üzerinde bir kullanıcı oluşturacağız. Bu sizin Sourceforge üzerindeki kimliğiniz olacak. Kullanacağınız e-posta adresi güncel ve sürekli kullandığınız bir adres olsun. Ben GMail adresimi kullanıyorum. Eğer GMail adresi istiyorsanız bana bir e-posta atıp bildirin. Sourceforge size ait tüm uyarıları ve bildirileri bu e-posta adresini kullanarak gönderecektir. Ayrıca e-posta adresiniz bir Sourceforge adresi ile maskelenmiş olacağından diğer kullanıcılar sizin adresinizi göremezler. Skills bölümünde özgeçmiş gibi doldurabileceğiniz yerleride göstereceğim. Doğru bilgi vermekten kaçınmayın. Yarın öbürgün size iş vermek isteyecek kişiler bu bilgilere bakıp karar verebilirler.

Kullanıcı açtıktan sonra işimiz biraz daha kolaylaşıyor. Kayıt ve giriş ekranları çok yavaş çalışıyor fakat Sourceforge gibi üzerinde çok fazla yük olan bir sisteme göre oldukça hızlı. Şimdi bir proje bulmamız gerekiyor. Hayalini kurduğunuz ve uzun zamandan beri yazmayı istediğiniz bir proje var mı? Açık Kaynak olacağını bilerek bu projeyi örütbağında yayınlamak istiyor musunuz? Size yardım edecek bir kaç arkadaşınız var mı? Örneğin eğer ingilizce bilmiyorsanız ben size projenin açıklamasını ingilizce yazıp Sourceforge'da onaylanması için gönderebilirim. Proje onaylandıktan sonra sizi proje yöneticisi olarak atayıp projeden çekilirim.

Kullandığınız yazılım dili veya aracı hiç önemli değil. Bir Word dosyası bile bir proje olabilir yada başka açık kaynak projeleri bir araya getirip toplama bir proje yapabilirsiniz. Bu durumda diğer projelerin sahiplerine bir e-posta atıp haberdar etmeniz gerekiyor. Ayrıca lisans anlaşmalarını da kendi projenizde yayınlamanız şart. Yaptığınız tüm değişiklikleri kod içinde yorum satırları koyarak markalamanız da gerekir. İlerde sizin yaptığınız değişiklikler ana proje tarafından uygun görülürse; entegre edilebilir.

Bir blogunuz varsa (yoksa www.blogspot.com adresinden bir tane edinebilirsiniz.) proje hakkında bir kategori oluşturup yaptığınız işleri yazmaya başlayın. Birde wiki ortamında dökümantasyon gerekli (projeniz açıldıktan sonra wiki ihtiyacınız olursa bana bir e-posta atıp wiki login için kullanıcı ismi ve şifre gönderin), herkesin katkıda bulunucağı böyle bir ortam, dökümantasyonun hızlı bir biçimde oluşmasını sağlar, ayrıca proje hakkında bilgi almak isteyen kullanıcılar wikiyi kullanarak yardım alabilirler.

Sourceforge üzerinde bir projeniz onaylandığı zaman elde edeceğiniz araçlara bir göz atalım.

Konfigürasyon Yönetimi: Proje için oluşturduğunuz her türlü kod, dökümantasyon vb. CVS (Concurrent Versioning System) üzerinde durur. Daha önce kod kontrol uygulamalarını kullanmamış olanlar için kısa bir açıklama yapayım. CVS yazdığınız kod ve ürettiğiniz dökümanlar için bir veritabanı gibidir. Diyelim ki Visual Studio ile bir proje açtınız ve kod yazmaya başladınız. Bir müddet sonra başka bir arkadaşınız da size yardım etmek istedi ve tüm kodu zipleyip gönderdiniz. Arkadaşınızın yaptığı değişiklikleri nasıl kendi projenize ekleyeceksiniz? Yada diyelim ki kod üzerinde bazı değişiklikler yaptınız ve sonra vazgeçip bu değişiklikleri geri almak istediniz. Nasıl bir önceki sürüme döneceksiniz? İşte CVS size bu işleri yapabileceğiniz bir ortam sunar. Yazdığınız kodu CVS sunucusuna gönderebilir, belirli bölümleri kendi bilgisayarımıza indirip değiştirebilir, farklı gereksinimler için farklı dallar oluşturup aynı anda birden fazla geliştirme yapabilir ve bu geliştirmeleri sonradan tek bir projede toplayabilirsiniz. Birden fazla kişi aynı proje hatta aynı kod üzerinde çalışabilir ve bu değişiklikler tek bir kod dosyasına entegre edilebilir. Herhangi bir dosyanın eski sürümünü indirebilir, yeni sürümü ile arasındaki farkları görebilirsiniz. Mart 2006 ayından sonra Sourceforge Subversion desteği de vermeye başlayacak. Subversion CVS'in bir uzantısı.

Hata, istek veritabanı: Sourceforge'da kayıtlı herkes herhangi bir proje için hata yada istek bildirimi yapabilir. Bu istek veya hatalara önem sırası verilebilir ve proje elemanlarına atanabilir. Size atanmış hatalar e-posta olarak bildirilecektir. Bu yüzde e-posta adresinizi güncel tutun. Örneğin Hotmail üzerinde e-postanız varsa sourceforge.net isim alanını SAFE listesine eklemeyi unutmayın. Ayrıca Sourceforge üzerinde kayıtlı e-posta adresinizi değiştirmek isterseniz, en az 24 saat sürüyor.

Patch istekleri: Projede bulduğunuz hatalar için yama oluşturabilir ve bu yamaları Patch istekleri ile bağlayabilirsiniz. CVS değiştirdiğiniz bir dosya için patch oluşturmanıza izin verir. Patch oluşturmak için projede görevli olmanıza da gerek yok. Var olan bir projeye katılmak için en iyi yollardan biri patch göndermektir. Bir süre sonra proje yöneticisi sizin değerli bir eleman olduğunuzu anlar ve projeye dahil eder.

E-posta listeleri: Sourceforge projeler için kısıtlı sayıda e-posta listeleri oluşturmanıza izin verir. Böylece kullanıcılar ve yazılım geliştiriciler haberleşme imkanı bulurlar.

Proje sitesi: Sourceforge projenize ait dökümanları yayınlamanız için bir de web sitesi açar. Bu sitede Sourceforge kurallarına göre bir buton koymanız gerekiyor. Proje hakkında genel bilgi, amacı, yaptığı işler, kullanıldığı yerler ve proje ile ilgili sitelere linkler verebilirsiniz.

Forum: Proje hakkında yardım almak için bakılacak ilk yerlerden biri.

Derleme: Proje kodunun otomatik olarak derlenmesi ve sürüm paketlerinin oluşturulması konularında bolca kullanacağınız bir bölüm.

Sourceforge üzerinde proje yaratmak külfetli geldiyse; hazır projelere patch gönderebilir ve yaptığınız değişikliklerin entegre edilmesini sağlayabilirsiniz. Eğer proje yöneticisi sizin yazdığınız kodu beğenirse, sizi projeye dahil edebilir.

Projenize yada kendi kullanıcınıza bağış da kabul edebilirsiniz. Bunun için bir PayPal hesabına ihtiyacınız var. Açık Kaynak bile olsa sonuçta bir şekilde paraya ihtiyacımız var değil mi?

Örneğin bir bitirme projesini Sourceforge üzerinde yayınlayabilirsiniz. Fena da bir fikir değil. Tabii aynı proje pek çok kişiye verilmiş ise bir miktar haksızlık olabilir. Ahlaki olarak gelişimini tamamlamış kişiler eminim dürüstçe davranırlar ve kopya çekmezler. Bitirme projesini grup halinde yapıyorsanız ve gruptaki kişilerin toplantı yapmaya vakti yoksa Sourceforge bu ortak çalışma için her türlü imkanı sağlıyor. Üstelik iş başvurularında kullandığınız özgeçmişinize yazacağınız iyi bir referans.

Sourceforge, yazılım dünyasına yeni adım atmış kişiler için de bulunmaz bir deneyim edinme ortamı. Bir ekip içinde nasıl çalışılır, CVS gibi güçlü bir kofigürasyon yönetimi nasıl kullanılır, haberleşme, sürüm verme, hata ve istekleri cevaplama, müşteri yardımı, problem çözme, proje yönetimi, program testleri, PKI kullanımı gibi daha pek çok konuda deneyim kazanmak ileriki iş hayatınız için çok önemlidir. Piyasada pek çok insan bu temel konuları bilmeden yazılım dünyasına atılıyor, pek çok firma da bu tür konuları pek önemsemiyor veya tam olarak yapmıyor ve sonuçta üretilen ürünün kalitesi düşük oluyor veya tamiri mümkün olmayan hatalar ile programı kullanmak zorunda kalan müşterinin laneti tepemizde bir karabulut gibi dolaşıyor.

Ben kendi yazdığım projelerin yönetimi için evimde kurduğum 3 bilgisayarlık ağımda Subversion (CVS benzeri), Cruise Control, NAnt gibi pek çok açık kaynak program kullanıyorum. Hem yönetim kolaylaşıyor, hemde hızlı sonuç alabiliyorum. Derleme, ünite testleri, kalite kontrol, dökümantasyon gibi konuları otomatize ettiğim için sadece kod yazmaya ve iş problemlerinin çözümüne odaklanabiliyorum. Sonuçta ortaya çıkan ürünün de kalitesi yükseliyor.

Bu öngirişden sonra gelelim Sourceforge üzerinde kimlik sahibi olmak için adım adım neler yapmamız gerektiğine. Eğer buraya kadar okuduysanız eminim bir an önce Sourceforge'da bir proje sahibi olmak için can atıyorsunuzdur :-)

DEVAMI GELECEK BEKLEYIN

ScrewTurn Wiki version 2.0.27. Some of the icons created by FamFamFam.