Qt Becomes LGPL
Aequo writes "Qt, the highly polished, well documented, modern GUI toolkit owned by Nokia, will be available under the LGPL starting with version 4.5! It was previously only mainly available under the GPL and a commercial license. Selling licenses was an important part of Qt under Trolltech as it was the company's main source of income, but Trolltech is a fruit-fly compared to Nokia, who want to encourage and stimulate the use of Qt Everywhere [PDF]. This is fantastic news for all commercial developers looking to create cross-platform applications without the need to buy a $4950 multi-platform license per developer."
Ars Technica has a good report on this development: http://arstechnica.com/news.ars/post/20090114-nokia-qt-lgpl-switch-huge-win-for-cross-platform-development.html
Ummm...I think Nokia, who now owns Trolltech, will be paying their bills.
GTK+ is object oriented C. (Yes - object oriented C.) It relies on a ton of crazy libraries to work. It's only cross-platform if you mean "Windows and Linux" and even there "cross-platform" is a giant stretch.
Versus Qt, which is C++, has a much cleaner set of interfaces, and is really "cross-platform" on Windows, Linux, and Mac OS X.
The only reason I ever used GTK+ over Qt was due to licensing concerns. (And not just for closed software, also due to GPL/Apache licensing incompatibilities.)
So, yes, Qt is much better documented and much cleaner than GTK+.
Qt Designer is part of the core package, and is excellent.
The Matrix is going down for reboot now! Stopping reality: OK. The system is halted.
Could someone summarise the difference between the LGPL and the GPL? Thanks.
LGPL allows closed-source programs to link with the library in question.
Nothing human is perfect. However, having used GTK, wxWidgets, XForms, V, Motif, MFC, Borland VCL, Visual Basic, Swing, AWT, GNUStep and Qt, I have to say that Qt beats the others consistently in look & feel, ease of development, clarity of documentation, orthogonality of API and breadth of features. Not to mention cross-platformity :-) Plus, the tools, like Designer, Linguist, Creator and Assistant are top-notch.
Qt has a better set of widgets, at least for some applications. I have a friend who works for a major financial services company, which standardized on GTK only to discover that certain table related widgets were just not available, but were available in Qt.
I am told, though I have not tried it, that it is harder to develop multithreaded programs in GTK than in Qt. This matters a lot more than people like to think; how many times have you seen a UI not getting updated because of some background operation, and then had some uninformed user think that the program was freezing or crashing?
Finally, while both are object oriented, GTK is written entirely in C. Object oriented programming in C is pretty harsh, and the only other option you really have is to use the Python binding, which introduces a whole new set of issues. Qt is a C++ toolkit, which makes for much cleaner code when it comes to object orientedness. They did extend C++ somewhat with MOC, but that just introduces some new keywords that fit in very well with the general structure of C++.
Palm trees and 8
One year after Nokia bought Trolltech, they've released Qt as LGPL. This positions Qt and KDE in an excellent position for cross-platform application development for FOSS *and* commercial projects. KDE libraries were already licensed under LGPL. This means the entire stack is now LGPL.
In the mean-time, Qt Creator, an IDE for developing Qt applications, has been announced. This will be all you need to write cross-platform applications with Qt.
Qt Jambi (java bindings for Qt) will also available under LGPL. Qyoto (mono bindings) and the other bindings (Perl, Python, Ruby) will be able to make releases under LGPL now.
These are exciting times!
DNA is the ultimate spaghetti code.
Should be out before summer, on #qt people are saying March.
Do you changes clothes while making the "chee-chee-cha-cha-choh" transformation sound?
Qt beats wxWidgets by a wide margin. The API is much cleaner, documentation is a lot better, and wxWidgets has nothing like QGraphicsView (actually, *no* toolkit out there has anything like this).
You are right that Qt uses very umm... baroque C++, but the fact is that it is a very good toolkit, the best opensource one out there. Using new features don't guarantee a top result, and vice versa.
This sig does not contain any SCO code.
There is also now Qt Creator which show some promise as a cross-platform IDE.
The ratio of people to cake is too big
Then you've not been listening. Many don't like the noteworthy long start up times of Qt apps compared to say Gtk.
Long start-up times have been fixed ever since Qt4 was released quite a while ago.
Many don't like the need for obtuse tools like SIP.
I've never used SIP myself, but it's that tool for generating bindings for other languages, right? So that's only required if you're generating your own bindings. And even then I fail to see how that's worse than writing the bindings by hand...
You could start with making a Qt version of The GIMP.
:-)
A lot of people don't know this, but GTK stands for 'The GIMP Toolkit', and Gnome used this toolkit. Not the other way around!
http://en.wikipedia.org/wiki/Gtk
Dependency hell? =>
Try comparing KDE 3.5 to KDE 4.2... no, seriously, if you liked KDE, give it another try. KDE has come a long way from 4.0 to 4.2. Many things are much more polished and the whole experience is now very nice (obviously, YMMV). The only thing I am still missing is the printing infrastructure of KDE 3.5.
Presumably your "arguments" don't include the vast developer and language support for Gtk?
Also we're using and compiling Gtk on Windows just fine. It even has nice native look and feel.
libguestfs - tools for accessing and modifying virtual machine disk images
If I recall, Gnome was created because people didn't feel the Qt/KDE license was "Free" enough.
It wasn't that. It was that the Q public license was incompatible with the GPL. QT was Q public and KDE was GPL. KDE is clearly a derived work of the Q public license. That means as far as Debian legal was concerned redistribution of KDE was a license violation.
TrollTech handled this by licensing QT under the GPL (they actually first went through the QPL but that didn't solve the problem). That fixed the legal problems but it meant that any and KDE app had to be GPLed because the userspace exemption (as per Linux kernel) wasn't there. Now KDElib is LGPL which means with QT being LGPL you don't uneed the exemption.
Just to clarify for anyone new to Qt...
Qt Designer and Qt Creator are two entirely different things.
Qt Designed is drag-n-drop interactive GUI design tool that lets you design the GUI portion if aplication windows, dialogs, etc without coding. You just drag widgets and layout managers off a menu and drop them into the interface your building. It's an awesome tool. Your interface gets saved as a ".ui" file from which Qt automatically generates the corresponding C++ code as clean C++ classes. To add callback/etc behavior, or to further customize the GUI, you just subclass the generated classes and take it from there. It's done very well so that almost always you can further change the user interface using Qt Designer without affecting the subclasses you've added. Qt Designer has been there since early on and just keeps getting better and more powerful.
Qt also includes a tool "qmake" that makes building Qt apps ridiculously easy - qmake takes a high level ".pro" file that lists the various types of file making up your project (source files, header files, Qt designer .ui files, resource files, etc) and what type of target you're building (application, DLL, etc), and from the .pro file generates a Makefile that you then run using your normal make program (e.g. GNU make, or mingw32-make under MinGW).
Qt Creator is an IDE for development of Qt based applications, and seems to deliver the expected functionality of an IDE. It's pretty much brand new, and I havn't personally used it (nor intend to since I don't find IDEs to help my productivity).
Which is just not possible. Where is the CD burning program in GNOME that beats K3B?
Brasero, it's there now. I was honestly a fan of K3B, but version 0.9 of Brasero is great. It looks like it has as many features as K3B, but everything is damn simple and clear.
Where is the music player that beats Amarok?
Unfortunately neither Banshee nor Rhythmbox can beat this one. Hopefully, competition will push them to become better!
Totally wrong. You didn't read the link.
What the FSF means by "compatible" is that you can include BSD code in GPL projects. However, you CANNOT include GPL code in BSD-licensed projects. My comment stands.