QT Kütüphanesi Micros~1 Windows'da GPL Lisansına Kavuşuyor

0
vst
Trolltech'in web sitesinde duyurduğu habere göre, geliştirme aşamasının sonlarında olan QT4 Micros~1 Windows platformunda da çift lisansa sahip olacak: ticari lisans ve GPL lisansı.
Windows, Linux ve Mac üzerinde öncelikle grafik arayüz tasarımında kullanılan QT kütüphanesi, programlama arayüzü sayesinde C++ dilinin ağır yükünü hem hafifletiyor, hem de neredeyse tam platform bağımsızlığı sağlıyor.
Bu kararıyla, özgür/açık kaynak kodlu yazılımın yaygınlaşmasını ciddi oranda ivmelendireceğini düşündüğümüz Trolltech'in, sık sorulan sorular bölümünde verdiği cevaplar okunmaya değer.

Halihazırda QT kütüphaneleri Windows'da ticari lisans ile dağıtılıyor ve fiyatları 1500 USD ve 2500 USD arasında değişiklik gösteriyor. Bu da Linux'da en yaygın kullanılan ve en kullanışlı masaüstü ortamı sayılan, QT ile programlanmış KDE masaüstü ortamının ve programlarının Windows'a portlanmasında engel teşkil ediyordu. Bu amaçla KDE for Cygwin projesi adı altında QT kütüphanesinin bir windows portu geliştirilmeye çalışılıyor ancak ciddi sıkıntılar yaşanıyordu; çok kısa bir zamana kadar çalışmayan ağ programlama arabirimi gibi...
Ancak QT4'ün lisans yapısındaki bu önemli değişiklik sayesinde Windows-Linux-Macintosh platformlarında ciddi bir mutual ilişki bekleniyor.

Editörün Notu: Fazlamesai.net Haberci programını QT ile geliştiriyorduk. Galiba çok şanslıyız :)

Görüşler

0
Ragnor
C/C++ ile programlamaya geçtiğimden beri platform bağımsız bir gui kütüphanesi bulmak benim için önemli bir konu olmuştu. Kendimi tamamen platform bağımsız kütüphaneler ile program geliştirmeye vermek, hiç bir platform ile sınırlanmamak istiyordum. Önce WxWidgets'ı denedim. Sonrada GTK'yı ama ikisinede bir türlü alışamadım, bin bir türlü problemle karşılaştım. Hatta bir ara pes edip Win32api ile ilgilenmeye başladım. Qt'den ticari sürümü yüzünden hep uzak durmuştum ama belkide qt'ye bir şans vermenin zamanı geldi...
Benim asıl merak ettiğim KDE'yi windows ortamına uyarlarlarsa nasıl olacak? Windows'un üzerinden çalışan bir gui mi? Yoksa kendi başına çalışacak bir gui mi?
0
vst
KDE'nin windows ortamına taşınması biraz farklı bir durum. Neticede "interprocess communication" dediğimiz mevhum işletim sistemine bağlı birşey. Öncelikle, KDEde her "ps aux" yazdığımızda gördüğümüz ama aslında hiç çalıştırmadığımızı düşünüp kızdığımız programların portlanması gerekiyor. Bu bağlamda Cygwin ile ciddi bir bağlantı var.

Bu sorun halledilse bile (ki halloldu gibiydi, Cygwin ve Kde for Cygwin projeleriyle sayesinde) yine de X11deki stabil gibi çalışan bir QT uygulaması yoktu. Programlar KDE içerisinde çalışıyor ancak çöküyordu. Win API ile haberleşirken sorunlar yaşanıyordu.

Peki şimdi ne olacak? Trolltech firmasının şimdiye kadar bir sürü para karşılığında verdiği (hem de derleyici ve IDE için ayrıca para veriliyordu), ama test edilmiş, stabil QT kütüphanesine GPL sözü vererek sahip olacağız. Zaten bizim de canımıza minnet...

Gelelim QT'ye... Java'yı sevenler de ve sevmeyenler de Java'yı güçlü API'si nedeniyle takdir etmişlerdir öncelikle. Bir kez de QT'yi denemek gerekir. Bu kadar sarih, açık, kolay anlaşılır vs. bir kütüphane zor yazılır, bedavaya çok zor dağıtılır. QT, "C++ hiç bu kadar kolay olmamıştı" başlıklı bir yazının ana fikri olabilir. Bu açıdan hiç yabana atılmayacak bir kütüphane. Açık söylemek gerekirse, Gnome kullanıyorum. Hayatımın hiç bir döneminde KDE de kullanmadım. Ne zaman KDE açsam 20 dakika sonra tekrar ya Gnome'a ya da WMaker'a geçiyorum. Ama QT'de program geliştirmek çok eğlenceli. Çok güzel bir fikir olan signal/slot kavramı ile bir çok şey kolaylaşıyor. Designer isimli sürükle bırak türü grafik programlama programı aracılığıyla çok kolay bir şekilde projeler/pencereler/dosyalar yaratabiliyorsunuz.


Bakacağız işte: elimizde bir RSS okuyucu var. Çok hızlı yazıldığı için derli toplu değil dosyalar. Bir el atıp düzelteyim, sizler de deneyip fikirlerinizi söyleyin konu hakkında. Sorulara cevap vermeye hazırım.

QT tabii ki alternatifsiz değil. Ama -tecrübeyle sabit- çok hızlı kod geliştirebiliyorsunuz.

Son bir not: Yanlış anlaşılmasın, QT sadece kolay ve güzel grafik arayüz tasarım imkanı sağladığı için değil, tersine diğer tüm rutin işlerinizde de kullanabileceğiniz bir API sağladığı için güçlü kuvvetli bir kütüphane.
0
FZ
http://knuth.cs.bilgi.edu.tr/~vst/files/ adresinde FM.NET RSS okuyucu Win32 binary setup.exe dosyasını da isterük! ;-)
0
vst
QT4 ne zaman çıkıyor, bilen var mı? ;)

Bir KDE for Cygwin kurayım, onu da koyaruk :)
0
gismo
Bu QT yüzünden KDE'ye ısınamadım bir türlü. Şimdi uzun bir aradan sonra(1.0 betasını 6 saat boyunca derleyip çalıştırmıştım.) KDE'ye bir şans daha vereyim dedim.
Şimdi bu QT'nin Windows için GPL olması güzel bir haber tabii ama burda [www.trolltech.com] kafa karıştırıcı bir şey var. Benim ne ile geliştirme yapacağıma nasıl karışır anlamadım. İstersem yazarım notepad'de. Tuhaf!
0
vst
Çok önemli bir nokta. Umarım anlaşılır olur, mevzu şu:

1. Bizler QT'nin kütüphanesini kullanıyoruz. IDE'sini değil. Yani IDE yerine notepad kullanıp devam edebilirim diyebilme şansımız yok maalesef, çünkü kütüphane GPL. :) Ister statik bağlayın, ister dinamik, kullanacağımız dimanik kütüphane de (qt-mt.dll gibi bir şey) statik kütüphane de (libqt-mt.lib gibi birşey) GPL olduğundan yazacağımız programı GPL olarak dağıtmamız gerekiyor.

2. Ticari lisans uygulayabilmemiz için, QT'den ticari lisans uygulayabileceğimiz bir kütüphane almamız gerekiyor. Bunu da Trolltech bedavaya vermiyor :)

3. İlginç mevzu şu: acaba Trolltech sadece lisans rahatlığı için mi bizlerden bir ton para isteyecek. Yoksa bazı fonksiyonel kısıtlamalar getirecek mi? Burada [www.trolltech.com] kütüphaneye ilişkin bir kısıtlamadan bahsedilmiyor. En kötüsü ne olabilir? ActiveX imkanı sağlayan EK kütüphaneyi BELKİ dağıtmayabilir. Belli olmaz.

4. AMAAA: Bu ek kütüphaneyi de verecek olursa, para kazanmak için giriştiği bu ilginç lisanslama stratejisine, şahsen, ancak saygı duyar, şapka çıkartırım. Micros~1'un -afedersiniz- iğrenç MFCleriyle sabahtan akşama kadar uğraşmakta olan mazlum programcıların da maaş alması gerekiyor :))

Not:
QTnin bir C++ derleyicisi yok. Şu anda Borland ve Visual C++ kullanılıyor. İkisinin de ticari ancak bedava C++ derleyicileri internetten indirilebiliyor. Ben evaluation versiyonunu Vim+Midnight Commander+Borland C++ compiler 5.5 üçlüsüyle denedim. Hiç sorun yok... Herşey çok iyi idi. Her ne kadar GNUcu da olsam, gcc yerine borland c derleyiciyi kullanmayı tercih ederdim. Çok hızlı, hem de çok... Ancak QT4 GPL versiyonu, sadece GCC uyumlu çıkacakmış. Bereket diyoruz, ne diyelim :)
0
mentat
sadece gcc'de uyumlu olmasına dair; o da ne demek ki!? belki binary'leri gcc'de derleyip dağıtacağız demiş olabilirler. ANSI standardına uymayan ve gcc'de olan şeyler (var mı böyle bir durum ki) kullandıklarını hiç sanmıyorum. illa doğruysa belki saçma sapan bir pragma kullanmışlardır heryerde, onu/onları da kolayca düzeltirsin. açık kod değil mi?


not: borland/gcc tercihi de enteresan. standarda uyamayan, en beceriksiz, standart bozan derleyici borland.. neyse, bi an polemiğe dalacaktım sanki.. geçti..
0
vst
Sorun koddan kaynaklanmıyor. Sorun makespec dosyalarından kaynaklanıyor. Ama kodda açık, standardtlar da. Görmedik daha, ama dediğin gibi müdahale imkanımız mevcut.

Not: Ansi standartlarına hemen her gelişmiş derleyici uymaya çalışıyor. Ne kadar uydukları tartışılır. Ancak, beceriksiz ibaresi biraz ağır mı kaçmış? ;)
0
simor
"If you use the Open Source edition of Qt, you can only publish the software under the GPL. Trolltech's commercial license terms do not allow you to develop any proprietary software using the Open Source edition."

Bu nedir gerçekten.. Gpl de böyle birşey yok biliyorum.
BU ticari yazılım geliştirme ortamlarıyla, gnu/gpl yazılım geliştirilmemesini dayatabilmek kadar saçma birşey.

Ayrıca yine dual lisans nedemek sorusuna şu cevap şu verilmiş.

"Dual licensing" means that the same code is released under two different licenses. Qt's dual licensing model is based on the principle of fair exchange ("Quid Pro Quo", "something for something"). If you are using Qt commercially - that is, for creating proprietary software for sale or use in a commercial setting - you must purchase a commercial license from Trolltech. Alternatively, if you wish to write Open Source software you can use the Open Source version of Qt, released under the GPL. If you use the Open Source version you must release your application and complete source code under the GPL as well. "

Tamam güzel demiş ama gpl haklarını kendi lisanslama türüne "gömüp" istediği gibi kullanabiliyormu bu insanlar. Gpl kendi özünü kendinden koruyamıyormu merak ettim. Yada OSI lisanslamalarını karıştırıp kafasına göre bişeymi yapmış onuda anlamadım.
0
simor
Bİraz daha hızlı klavye kullanmalıyım. :)

Bu işler de ilerde biraz karışacak gibi görünüyor.
0
demolish
"Tamam güzel demiş ama gpl haklarını kendi lisanslama türüne "gömüp" istediği gibi kullanabiliyormu bu insanlar. Gpl kendi özünü kendinden koruyamıyormu merak ettim. Yada OSI lisanslamalarını karıştırıp kafasına göre bişeymi yapmış onuda anlamadım."

herhangi birşey ekleyip çıkarmamışlar.

"If you use the Open Source edition of Qt, you can only publish the software under the GPL. Trolltech's commercial license terms do not allow you to develop any proprietary software using the Open Source edition."

şöyle anlatayım, "Trolltech's commercial license terms" fonksyonu "gpl licence terms" ü çağırıyor. "gpl licence terms" de "proprietary software" yazmamıza izin vermiyor.

"Alternatively, if you wish to write Open Source software you can use the Open Source version of Qt, released under the GPL. If you use the Open Source version you must release your application and complete source code under the GPL as well."

trolltech, burda minik bir hatırlatma yapmış. kütüphanenin lgpl değil gpl ile dağıtıldığını ve gpl ile dağıtılan kodun başka bir lisansla yeniden dağıtılamayacağını belirtmiş.
0
mentat
emin misiniz, benim de kafam karıştı da. özellikle dinamik linklediğim bir kütüphanenin gpl olup olmaması benim kodumu nasıl dağıttığımı pek belirleyemez diye biliyorum ben de. zaten sanki tam da bu yüzden, metinde bazen GPL demek yerine Open Source version demeyi tercih etmişler. Yani open source için hazırladığımız, gpl versiyonunu alıp dinamik linkleyip kurnazlık yapamazsınız gibi.. ki bence de sakıncası yok..

0
demolish
vst nin yukarıda belirttiği gibi "Ister statik bağlayın, ister dinamik, kullanacağımız dimanik kütüphane de (qt-mt.dll gibi bir şey) statik kütüphane de (libqt-mt.lib gibi birşey) GPL olduğundan yazacağımız programı GPL olarak dağıtmamız gerekiyor."

"emin misiniz, benim de kafam karıştı da. özellikle dinamik linklediğim bir kütüphanenin gpl olup olmaması benim kodumu nasıl dağıttığımı pek belirleyemez diye biliyorum ben de."

gpl ise belirler lgpl ise buna karışmaz. şöyle söyleyeyim, glibc gpl olsaydı* linux üzerinde hiçbir ticari uygulama yazılamazdı.**

* ki lgpl lianslıdır.
** yada ticari uygulama yazmak için çok cesur yürekli olmak gerekirdi.
0
aeon
Micros~1'a karşı çıkmamın en büyük nedenlerinden biri, tekel oluşturmaya çalışması ve bilgi paylaşımından uzak durmasıdır. Lakin sun microsystems, Java, solaris, netbeans gibi projelerdeki tutumu ile ne kadar büyük
ve erdem sahibi bir firma olduğunu göstermiştir.

Trolltech firması ise Microsoft'un izinden gitmekte.
QT kütüphanesini başta QPL olarak yayınlandı
daha sonra GPL olarak. (?) .NET özellikleri ve
platform bağımsızlığı sağlandı.

Yani eskiden KDE'e ait bir yazılım yaptığınızda
Trolltech endirekt yoldan portföyünü genişletip
para kazanıyordu. Şimdi ise akıllıca bir hareket
yapıp Windows pazarına da girdi. Artık Windows'ta
yaptığınız yazılımlarda Trolltech'e para kazandıracak.

Şahsi görüşüm QT ile yapılacak her yazılım trolltech'in geleceğin en büyük tekellerinden biri olmasına zemin hazırlayacaktır.

Fakat Sun örneğinde durum çok farklı,
Sun JAVA dili standartlarını belirliyor. Kendi
Geliştirme ortamını sunuyor. Bunun üzerine
IBM ve Microsoft'ta kendi Java sürümlerini
ve çalıştırma ortamlarını yapabiliyorlar.

Yani demem oki halis bir niyet bulunmamakta.
Alternatif cross platform arıyorsanız.;
python, pygtk, wxpython, wxwidgets (C için), Java,
Jython, GTK# harika çözümler sunmakta.

Ve her geçen gün ise python ile yapılan uygulamalar
katlanarak artmakta. Redhat yapılandırma araçlarının
hepsi, gdeskcal, gdesklets, gyum, anaconda, gnochm
gibi gnome'un son zamanlar öne çıkan yazılımlarının
çoğu pygtk ile yazılmıştır.

Tabi buna karşı QT-python türevi de bulunmakta
Ama GTK motoru corba, pango kendini ispatlamış
kütüphanelerdir. Hem hız hem estetik bakımından.
Bu nedenledirki JAVA linuxta motif ve gtk kütüphanelerini tercih etmekte. Ve bu nedenledirki
GIMP bu kadar harika bir yazılım.
0
FZ
Ticari bir firmaya (Sun Microsystems) erdemli demek!? Enteresan...

İnsanlar, özellikle de genç yazılımcılar bu yazılım mevzularında iyice duygusallaşmaya başladılar gördüğüm kadarı ile.
0
realist
Bu da FZ ile 100% aynı fikirde olduğumuz ender anlardan biri oldu.
0
FZ
Hemfikir olmadığımız konular hangileri, merak ettim ;-)
0
vst
Öncelikle, dikkat ederseniz, hız, estetik vs. gibi konularla ilgili bir beyanat yok. Böyle bir tartışmanın sonu "python mu C++ mı?" gibi pek de rasyonel ve faydalı olmayan polemiklere varır.

Bunun ötesinde, Trolltech'in bir "favor"dan farksız bu tutumunun arkasında böyle bir iyi/kötü niyet aramak da pek bir sonuç getirmez diye düşünüyorum. Aslolan, gerçektir:

1. Trolltech firması standartları, API'si, mantığı vs. belli bir uygulamayı farklı bir lisanslama modeliyle piyasaya sürüyor. Diyelim ki kötü niyetli(?!!) QT4'ün kaldığı yerden FreeQTX adlı bir başka proje ile yolumuza devam ederiz. Kde for Cygwin'de aynı şey yapıldı. X11 üzerinde çalışan free versiyon, Windowsa portlandı.

2. Şu açıdan hak veriyorum: Ne olursa olsun, Trolltech open community desteğiyle bugünlere geldi. Kalkıp da bir kelek atacak olursa, open community'nin de eli boş durmuyor. Aynı durum Linux çekirdeği ve diğer tüm GPL'ed yazılımlar için de geçerli.

3. GTK çok güzel.

4. QT'de çok güzel.

5. Python da çok güzel.

6. Java çok çirkin.

7. Lisp en güzeli.

8. Üstteki 5 madde şahsi görüştür. :)

9. İnsanların yazılım üretip satması kötü birşey değildir. Ama kötü yazılım üretip, enformasyon asimetrisi yaratarak ve sosyopolitik ve hukuki baskılar ve yönlendirmelerle operasyonel faaliyet göstermesi kötü birşeydir. Micros~1 ile Trolltech ve benzeri firmaları aynı kefede göremiyorum.
0
aeon
"1. Trolltech firması standartları, API'si, mantığı vs. belli bir uygulamayı farklı bir lisanslama modeliyle piyasaya sürüyor. Diyelim ki kötü niyetli(?!!) QT4'ün kaldığı yerden FreeQTX adlı bir başka proje ile yolumuza devam ederiz. Kde for Cygwin'de aynı şey yapıldı. X11 üzerinde çalışan free versiyon, Windowsa portlandı."

Olaya faklı bir boyut getirdiğiniz için çok teşekkür ederim.
Gerçektende haklısınız.

Ama yinede de GTK daha güçlü bir araç kiti
Dünyanın en kısa p2p programını piton ile
15 satırda yazabiliyorsunuz bu da ayrı bir güzelik :)
0
mentat
QT'yi üç/dört sene önce, tam da bu windows'a paralı moda geçmeden önce biraz kullanmış ve MFC'den sonra gerçekten ilaç gibi gelmişti. sonra paralı oldu ve son projelerde wxWidgets [www.wxwidgets.org]'a geçtim. belki ben MFC'den sonra ne bulsam seviniyorum amawx hem tamamen açık kodlu, hem yıllardır geliştirilmekte (10 küsür yıllık proje), hem halen faal (bug reportlarıma genelde 5 dakikada cevap geliyor, hayır otomatik cevap değil), iyi dokumantasyonlu falan filan. qt gibi tamamen nesne tabanlı.. Python desteği falan da var..



reklamları izlediniz..
0
vst
Valla, hem QT'yi hem de WX'i denemiş birisi olarak fikirlerin çok önemli. Şimdi aklıma geldi, acaba, bu RSS okuyucu hikayesini QT ile geliştirirken, bir yandan da WX ile mi geliştirsek. Vesile ile WX'e de dalmış oluruz.
0
demolish
hazır dalmışken XUL ilede bir mozilla eklentisi geliştirilse fena olmaz:)

http://www.mozilla.org/xpfe/
http://xulplanet.com/
http://xulplanet.com/tutorials/xulapp/overlays.html
0
mentat
eger arabirim (GUI) ile isi yapan modul yeterince birbirinden ayri ise, ben bos bi zamanimda QT'den wx'e arabirimi gecirmeyle ilgilenebilirim..
0
vst
Aslında değil :((. En basitinden, String manipulasyonunu da QString sınıfıyla yapıyoruz. Keza XML modulü de QTnin... Ama bir el atıp, düz C++ kodlarına çevirmeye çalışayım... Söz vermeyeyim :))
0
aeon
Evet wx Eric Steve Raymond'un en çok sevdiği
kütüphane ama ben yine GTK'ı öneriyorum.
Dropline gtk runtime environment ile programınız
platform bağımsız çalışabiliyor. Bunun en güzel örneği
Etheral veya gimp for windows'dur. Hatta gimp gibi
bir yazılım windowsda sorunsuz çalışyorsa bence
kütüphane rüştünü ispatlamıştır.
0
mentat
bahsedilen kutuphanelerin bence ruştsel bir problemleri yok zaten. her biri kullanılabilir, sağlam (stable) kütüphaneler.

GTK'yı kişisel iki nedenden dolayı tercih etmiyorum. Birincisi C olmasından dolayı. C'den fazla anlamam ve hoşlaşmam, C++'a daha yatkınım. Hem QT hem wx nesne tabanlı.. (MFC gibi nesne tabanlı taklidi değiller bu arada) İkincisi ise, GTK her platform için kendi pencere elemanlarını (widget) kendisi çiziyor, bu da hem performans hem de görsellik olarak bulunduğu, çalıştığı sistemde özellikle görsel uyum açısından problemli oluyor. QT ne yapıyordu hatırlamıyorum, wx bunun için bulunduğu sistemdeki widget kütüphanesini kullanıyor arka planda. Mesela Linux üstünde GTK kullanıyor direk hatta. Bir nevi wrapper denebilir ama tüm mimarisi de tabi ki GTK'dan farklı olduğundan denemez de..

Bir de GTK ve QT ile mümkün mü ve ne sonuçlar veriyor bilmiyorum ama wx ile kendiniz bir runtime dağıtmanıza gerek yok, statik linkleyebiliyorsunuz ve çok da uçmuyor exe boyutu..
Görüş belirtmek için giriş yapın...

İlgili Yazılar

HTML 5 Yenilikleri ve JavaScript ile Canvas elementini Kullanan Yılan Oyunu

kulker

HTML 5, Web 2.0 teknolojisinin bize sunduğu en büyük nimetlerden biri. Canvas,video ve audio gibi 3 önemli elementle daha gelişmiş web uygulamaları geliştirmek mümkün.

Ne vahimdir ki MSIE desteklemediği için kullanım oranının az olduğunu görüyoruz. Buna rağmen Firefox, Opera ve Google chrome HTML5 i desteklediği için bu güzelim teknolojiyi test edip kullanmaya başlamak fazla zaman kayıp etmemek lazım.

Musonya Translator

muratdicle

Geçtiğimiz günlerde Google'ın Türkçe çeviri hizmetinin devreye girmesiyle artık bizimde bu servisten sonuna kadar faydalanmamız gerektiğini düşündük. Ve "Musonya Translator" adında yeni ve ücretsiz bir ürün geliştirdik.

Opera, Internet Tarayıcısına BitTorrent Desteği Ekledi

talat

Opera Software, amiral gemisi yazılımı olan Opera internet tarayıcısının BitTorrent desteği eklenmiş deneme sürümünü çıkardı.

Bu eklenti ile Opera, ayrıca bir program gerektiren BitTorrent indirme işlemini kendiliğinden destekleyen ilk internet tarayıcısı oldu.

Ayrıntılar için tıklayın. (eWeek, İngilizce)

Magento 1.0 Kararlı Sürümü Yayında

sempsteen

Oldukça başarılı bir geliştirme süreci geçiren, Zend Framework üzerine kurulu, piyasadaki rakiplerine uzak ara fark atan, açık kaynak kodlu e-ticaret platformu Magento'nun uzun süredir beklenen 1.0 kararlı sürümü bugün (10 dk önce) yayınlandı.

Watcom C/C++ Artık Açık

FZ

Bir zamanların efsanevi C/C++ derleyicisi Watcom C/C++ da artık açık kaynak kodlu.

Aynı zamanda bir Fortran derleyicisi de içeren projedeki yazılımları bu adresten serbestçe çekebilir ve DOS, Windows 9x, NT, Win2000, Win XP işletim sistemleri üzerinde kullanıp programlarınızı derleyebilirsiniz.

"Open Watcom" projesi yürütücülerinin hedefleri arasında derleyiciyi en kısa süre içinde GNU/Linux ve FreeBSD işletim sistemlerine de aktarmak yer alıyor.