Jan 1, 0001  

title: Java’yı Özgürleştirmek link: http://orhanbalci.net/tr/?p=4 author: Orhan Balci description: post_id: 4 created: 2007/03/20 23:19:48 created_gmt: 2007/03/20 21:19:48 comment_status: open post_name: javayi-ozgurlestirmek status: publish post_type: post

Java’yı Özgürleştirmek

  • Giriş Teknoloji çağını solukladığımız son yıllarda bilim ve teknikte meydana gelen gelişmeler ve bu gelişmeler sonucu ortaya çıkan ürünler adeta başımızı döndürüyor. Bilgisayarlara yeni yeni akıl sır erdirirken neredeyse onlar kadar marifetli cep telefonlarının etrafımızı çepe çevre sarması zihinlerimizi ister istemez teknolojinin geleceği hakkında sorularla doldurdu. Belki de bu suallerden insanoğlunu en çok düşünmeye sevk edeni, şimdiye kadar çekilmiş bilimkurgu filmleri ve yazılmış bilimkurgu kitapları göz önünde bulundurulursa, Peki bir sonraki adım ne olacak? sualidir. Sonraki adımı sorgularken bizim, teknoloji kullanan taifenin, ulaşacağımız çıkarımlar tahminden çok öteye gidemeyeceği halde teknoloji üretmeye çalışan kuruluşların bu soruya gösterdikleri reaksiyon kendileri açısından hayati önem arzetmektedir. Zira alacakları doğru kararlar ve atacakları doğru adımlar onları geleceği yönlendiren birer dev yapabileceği gibi geleceğin işaretlerini okuyamamanın bedeli de tarih sayfalarına gömülmek olacaktır.
    • Teknoloji Üreten bir Dev : Sun Microsystems

Şu günlerde bilişim camiasının önde gelen aktörlerinden Sun Microsystems kendisini tarihin karanlık sularında boğulmak veya geleceği yönlendirmek ayrımında hissetmiş olacak ki büyük bir açılım gerçekleştirdi. Daha önce kısmen açık kaynak koduyla geliştirmekte olduğu yazılım geliştirme platformu Java’yı GPL (General Public License: Genel Kamu Lisansı) altında tamamen ücretsiz hale getirerek dikkatleri üzerinde topladı. Bu atılımın tam manasıyla anlaşılabilmesi Java’nın bilişim teknolojilerindeki yerinin kavranması ve GPL’in yazılım dünyasına kattığı artı ve eksilerin idrak edilmesiyle mümkündür. Öyleyse Java’nın hayat serüveninde ufak bir gezintiye çıkmak, Sun’ın hamlesine daha profesyonel bir bakış açısıyla yaklaşmamızı sağlayacaktır. * **Platform Bağımsız Programlama Dili : Java **

Her ne kadar şimdilerde “platform” diye anılsa da Java hayatına programlama dili olarak başladı. İşin ilginç tarafı Java’nın kendisi, aynen özgürleştirme çabaları gibi bilişim dünyasında bir sonraki adımı oluşturmak amacıyla tasarlanmıştır. 1991 senesinde James Gosling etrafında toplanan ekip tarafından işlemciye sahip ev aletlerini tek çatı altında birleştirmek amacıyla “Yeşil Proje” adı altında bir çalışma başlatıldı. Bu projenin ilk iki kritik başarı hedefi donanım bağımsız ve güvenilir bir yazılım ortamı oluşturmaktı. Platform bağımsızlıktan kasıt yazılan kodun, herhangi bir işlemci (mimarisi nasıl olursa olsun) üzerinde çalısmasını sağlamaktı. Çalısmaların ilk ürünü olarak ortaya çıkan interaktif uzaktan kumanda (bugünkü PDA’lara benzer bir alet) beklenenin aksine hayal kırıklığı yarattı. Başarısızlığın sebebi Java’dan ziyade böyle bir yeniliğe hazır olmayan kullanıcı kitlesiydi. İkinci olarak kablolu televizyon uygulaması da başarısızlıkla sonuçlanınca Java’nın serüveni başlamadan bitecek duruma geldi. Dört yıl gibi uzun bir aradan sonra 1995’te Sun yöneticilerinin Java’nın İnternet için biçilmiş kaftan olduğunu farketmesiyle birlikte Java’nın önlenilemez çıkışı başladı. O zamanlar şimdiki gibi interaktif bir ortam olmayan İnternet Java apletleriyle hareketlendi, bunu taşınabilir hesaplama makineleri takip etti. Java mobil cihazlar için ortak bir platform oluşturdu. Günümüze gelindiğinde ise masaüstü uygulamaları, kurumsal uygulamalar ve mobil uygulamalar olmak üzere üç alanda yazılım dünyasında sesini duyurmayı başardı. Java’nın günümzdeki konumunu anlamak için istatistiklere bakmak yeterli. Şu anda yaklaşık 5 ile 6 milyon arasında Java uygulama geliştiricisi oldugu tahmin ediliyor. Java yazılım geliştirme kitinin son versiyonu dünya çapında 250 milyon kere download edilmiş durumda. Buradaki rakamların büyüklüğü eminim hepimize Java’nın yazılım dünyasındaki yerini biraz daha net kavrama fırsatı verdi. Şimdi gelin hep beraber büyük buluşmanın diger aktörünü tanıyalım: GPL ve açık kaynak kodlu yazılım dünyası.

  • Açık Kaynak Yazılım Dünyasının Lisansı : GPL

Yazılımlar, kullanıcı ve üreticinin haklarını tanımlayan lisanslarla birlikte piyasaya sürülürler. Bu lisanslar sözleşme niteliğinde oldukları için herhangi bir standartları olmamakla birlikte yazılım sürecinde genellikle aynı problemlere çözüm bulmaya çalışmışlardır. Bu sorunların en temel iki tanesi : yazılımın kaynak koduyla birlikte dağıtılması ve ücretlendirme politikasıdır. Yazımızın kahramanı GPL(genel kamu lisansı) yazılımın kaynak koduyla birlikte dağıtılması gerektigini savunur. Ama ilginçtir ki GPL yazılımın ücretlendirilmesi hakkında herhangi bir yargıya varmaz. Yani sanılanın aksine GPL lisanslı yazılımlar ücretsiz olmak zorunda degildir. Bu bilgiler ışığında kullanıcı yazılımın içeriğini bilir ve yazılımı kendisine göre uyarlayabilir. Yazılımın büyük kitlelere ulaşması kolaylaşır. Bu durum yazılımı geliştiren ekip için de iyi bir reklam ve prestij kaynağıdır. Yazılım dünyasında kalitenin artması için rekabeti arttırıcı bir etkisi vardır. Zira ücretli ürünlere çok ciddi alternatifler üreten açık kaynak kodlu ücretsiz yazılımlar ücretli yazılımlara karşı olan beklentileri arttırmıştır. Bunların aksine GPL’in dezavantajları da yok değildir. GPL yazılımlar genellikle ücretsiz oldukları için yazılım piyasasındaki para akışını büyük ölçüde azaltırlar. GPL yazılım üreten firmaların çoğu büyük kitlelere destek verememektedir. Bu da yeterli destek alamayan projelerin kısa ömürlü olmasına sebep olmaktadır.

  • Tarihi adım : Java GPL evliliği

Java’yı GPL’le kucaklaştıran açıklamayı Jonathan Schwartz ki kendileri Sun’ın CEO’su olur, yaptı. Schwartz espirilerin, tebriklerin havada uçuştuğu basın toplantısında amaçlarının Java’yı daha geniş kitlelere ulaştırarak yeni pazarlar, yeni fırsatlar üretmek olduğunun altını çizdi. Bu sürecin kolay olmayacağının da sinyallerini veren Schwartz önlerindeki en önemli problemin uyum sorunu olduğunu kaydetti. Uyum sorununun temelinde ise isteyen herkesin java koduna müdahele edip kendi JVM sini yazması dolayısıyla da Sun’ın belirlediği standartların dışına çıkması yatmakta. Bu durumda herhangi bir Java kodunun A JVM’si üzerinde çalışıp B JVM’si üzerinde çalışmama durumu ortaya çıkmakta. Böyle bir ahenksizliğin ortaya çıkması Java adına büyük bir eksi olur herhalde. Zaten Java’nın en büyük artısının platform bağımsızlığı olduğu düşünülürse aynı platformda bile uyum sorunlarının yaşanabilme olasılığı dahi bilişim camiasını tedirgin ediyor. Peki Sun bu sorunun üstesinden nasıl gelecek? Aslında cevap senelerdir Sun’ın Java’yı geliştirmekte izlediği yöntemde gizli. Sun Java Community Process(SJCP) adı verilen süreç bilişim ekosisteminde söz sahibi firmaların katılımıyla Java’nın geliştirilmesini amaçlamakta. Sun Java’yı özgürleştirmesine rağmen SJCP’yi devam ettireceğini ve referans uygulamaları da geliştireceğini duyurdu.

Comments

murat: güzel bir yazı teşekürler