Uygulama Geliştirme, Linux ve Ahlak

 
Sizlere bu yazımdan ahlak dersi vermek haddim değil, ancak aklıma takılan şeylerin yavaş yavaş gerçekleşmesi beni düşündürüyor, bu yüzden bu yazıya gerek duydum.  Artık bundan bir kaç yıl önce Linux'ta neyin nesi söylemlerinden  bir üst seviyeye geçen uygulama geliştiricilerin "Linux üzerinde nasıl uygulama geliştiririm" sorusuna yanıt aramaya başladıklarını görüyorum. Bu arayış bundan evvel yok muydu? Elbetteki vardı ancak ilgilenen insan sayısı çok azdı. Artık her yeni mezun veya okuyan genç eminim Linux adını duymuş ve üstünkörü de olsa nasıl uygulama yazıldığını görmüştür. 

Bu yazıda sizlere biraz kullanılan kitaplıklar (library), uygulamalar ve genel olarak ahlaki yaklaşım hakkındaki fikirlerimi sunmak istedim.

Malum günümüz artık grafik ortamda yapılan uygulamaların kullanıldığı zaman. Ve bunu da günümüz koşullarını oldukça şekillendiren Microsoft'a borçluyuz, Microsoft bu işletim sistemi şu yeterliliği ister dedikçe donanıma abanan bizlere de doğal olarak. Linux işletim sistemi de, bir yanda sunucu pazarını genişlettikçe diğer yandan masaüstü ortamına da girmektedir. Bununla birlikte birçok grafik kütüphanesi üzerinde çalışmalar yapılmaktadır. Günümüzde Linux üzerinde kullanılan grafik kitaplıklarını sayacak olursak aklımıza gelenler: Qt, GTK, wxwindow, fltk verilebilir. Bu kitaplıkların üzerindeki ilgi, genel olarak kullanılan X Windows pencere denetleyicileri ile bağıntılı olmaktadır. Linux çekirdeğini kullanan ve masaüstü ortamlara da destek veren dağıtımlar genel olarak iki masaüstü ortamını sunmaktadır. Bunlar KDE ve GNOME masaüstü ortamlarıdır. Linux'a ilk olarak başlayan insanlar için KDE oldukça windows canlısı bir ortam sunmaktadır. Dolayısıyla KDE kullanan insanların daha fazla olması onun üzerinde daha fazla uygulama geliştirilmesine neden olmaktadır. KDE ile birlikte son derece başarılı olan iki geliştirme ortamı gelmektedir. Trolltech firması tarafından yazılan designer, KDE üzerinde gelen kdevelop ile birleştirilince oldukça güçlü bir ikili oluşturmaktadır. Her iki uygulama da son derece kullanımı kolay ve Windows altında C++ ile uygulama geliştiren insanların son derece hoşuna giden uygulamalardır. Birçok veritabanı ile bağlantı sağlayabilen bir yapısı mevcuttur. Bunun yanında geliştirilmesi son derece kararlıdır. Bu kitaplıkların yanında Kylix isimli Borland tarafından geliştirilen RAD aracı Qt kitaplıklarını kullanmaktadır.

Gelelim Qt rakibi GTK kütüphanesine... Rakibine nazaran uygulama geliştirmenin oldukça zor olduğu bir kütüphane, birçok bileşeninde hala bir takım yetenekler için birçok takla atmak gerekebiliyor. Ancak GNOME masaüstü ortamı buna rağmen başarılı bir şekilde geliştirmelerine devam etmektedir ve ileride rakibi Qt'yi aratmayacak birçok özellik bünyesinde olacaktır. Bunun en canlı örneği GNOME2'dir. 

Şimdi gelelim asıl konumuza. GTK uygulaması GPL bir uygulama, Qt ise iki farklı sürüm halinde KDE'de GPL olan sürüm üzerinde derlenmektedir ve uygulama Trolltech firması tarafından geliştirilmektedir. Qt'nin iki farklı lisans altında olması bir belirsizlik oluşturmaktadır. GTK ise herkes tarafından destek verildiği sürece geliştirilmesi sürmektedir. Ancak bu geliştirmede bir takım dernekler ve firmaların maddi katkıları söz konusudur. Tamamen sahibi olmadan herkese aittir. Burada önemli olan nokta Qt kitaplığının Trolltech firması tarafından (doğal olarak) sahip olma durumudur. Bunun ileride nasıl sonuçlar doğuracağı tamamen firmanın stratejisi olarak düşünülebilir. Çünkü görüldüğü üzere SCO gibi yıllarca Unix üzerinde çalışmış bir firmanın dahi sanki gelişmesini bekler gibi büyük kitlelere hitap etmeye başlayan Linux'a saldırması gibi neden ileride bunu Trolltech yapmasın, kendi ürününü farklı bir yola çekmesin? Burada acı olan husus GPL geliştirmeye destek olan insanların hüsrana uğraması ve kullanılması olacaktır. Halbuki GTK'da bunu yapacak bir durum söz konusu değildir. Şimdi şunu söyleyebilirisiniz. Qt GPL olan sürümünü başkaları alır ve devam ettirir. Buna cevaben tamamen kendi fikrim; KDE ileride açık kodlu ancak ücretli bir ürün olacaktır. Bunu neye dayanarak söylediğime gelirsek KDE'nin en büyük destekçisi olan firma bir Linux dağıtımı yapan SUSE firmasıdır. Bu firma kendi kontrol araçlarına kadar herşeyini Qt ve KDE kitaplıklarını kullanarak yazmıştır ve eğer Internet'ten indirmeye kalkmanız durumunda size sadece "live eval" diskini sunmaktadır. Ancak diğer gerçek ise SUSE disklerinin de kopyalanmasına izin vermektedir. Bu mantık dahilinde anlamadığım tamamen art niyetli bir yaklaşım!!! Zira aynı yaklaşımı Windows 95 ve 98 döneminde kopyalanması yasak demekten başka birşey yapmayan Microsoft yapmıştır. Qt ürünlerine en büyük desteği ise iki firma vermektedir. Namı diğer eski ve yeni adı ile SCO firması ile SUSE firmaları. Ancak her ikisinin yaklaşımları malesef ki Linux çekirdeğini kullanmaya yakışır bir halde değildir. Özellikle SCO 899$ gibi bir fiyat üzerinden Linux dağıtımını satmaya çalışmıştır. Doğal olarak serbest pazar içerisinde istenilen bir fiyata satış hakkına sahiptir. Ancak emsalleri eğer bu hizmeti ücretsiz olarak sunuyorsa ve sadece desteğini ve güncellemesi karşılığında bu parayı talep ediyorsa bunu durup düşünmek gereklidir. Grafik kitaplıkları ile ilgili son sözlerim siz sevgili uygulama geliştiricilerin bu konuda kurallara riayet ederek uygulama geliştirmenizdir. Zira Qt ile ticari uygulamalar geliştirmek ve bunun karşılığında lisans almamak bir suç oluşturmaktadır. 

Gelelim azılı iki diğer rakip Mysql ve PosgtreSQL'e. MySQL ticari olarak kullanılmadığı sürece ücretsiz. Eğer siz MySQL geliştirme kitaplıklarınızı uygulamanızda kullanırsanız veya ticari bir iş amacıyla yazdığınız programınızda kullanırsanız bu ürün için bir bedel ödemek zorundasınız. Gelgelim Postgresql, ticari olarak bize izin vermektedir. Ancak piyasada epey yüklü bir MySQL kullanımı var görünen ve hepsi bir şekilde ticari uygulamalarında kullanan insanlar mevcut.

İşin başına dönecek olursak insanların Windows'tan Linux'a geçme sebeplerine bakalım:

a - Kararlı,
b - Ücretsiz ancak bu ürünlerle istenilen herşeyin yapılabileceği anlamına gelmiyor,
c - Son dönemde Microsoft'un lisanslarında yaptığı keyfi değişiklikler.

Sonuç olarak, peki bu oluşumun içinde şimdi Linux'a geçen insanların Linux'ta bulunan lisanslara riayet etmemesi bir nankörlük ve ahlaksızlık olarak nitelendirilemez mi? Uygulama lisanslarına riayet etmenin Microsoft veya Linux zıtlaşması olarak algılanması en büyük hata olacaktır. Bunca yıldır uygulama geliştiren insanların emeklerine saygı duyulmalıdır. Ürünün bedeli ne ise o verilmelidir. Yukarıda verilen iki örnek içerisinde eğer Qt alacak paranız yoksa başka kütüphane kullanın, MySQL alacak paranız yoksa PosgtreSQL kullanın. Ancak şu unutulmamalıdır ki, sizin yazdığınız uygulamanın sizden habersiz kopyalanması durumunda nasıl ki sizler buna karşı çıkarsınız, yazdığınız uygulamayı kullanırken aynı şekilde size de karşı çıkılması son derece doğaldır.

Bu yazıyı yazdıgımın ertesi günü altta "Mike Olson" tarafından yazılan yazıyla karşılastım. Umarım bakış açınızı bir nebze olsun şekillendirebilmişimdir.

http://www.linuxworld.com/story/33893.htm

Esenlikle kalınç Bol Linux'lu ve sağlıklı günler dileklerimle.

M. Ali Vardar

Bu yazıyla ilgili görüş ve yorumlarınızı yorum@teknoTurk.org ve ali@linuxprogramlama.com adreslerine yollayabilirsiniz.