Slashdot Mirror


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."

27 of 828 comments (clear)

  1. time to port gnome! by SolusSD · · Score: 5, Insightful

    Seriously though- Reasons to write applications for the gnome desktop environment are getting fewer every day. When QT4 became available under the GPL on all 4 major platforms- Windows/BSD/Linux/OSX the argument for GTK was weak. Now, I'd argue its virtually non-existent.

    1. Re:time to port gnome! by Anonymous Coward · · Score: 5, Interesting

      Since GNOME is currently brainstorming over how to make GNOME 3, I'd say this announcement come right on time.
      Let's focus on the applications and not on reinventing the wheel.
      The toolkit feud has gone on for far too long. Let's share a common toolkit. GNOME is using more Vala and C#/Mono these days and Vala/C#/Mono on top of Qt would make gnomies very happy I think.

      Re-implementing GNOME on top of Qt with the traditional focus on HIG should not be all that hard.

      This is an exiting opportunity for GNOME. I wonder if they'll embrace it and make the Linux desktop go forward.

    2. Re:time to port gnome! by Anonymous Coward · · Score: 5, Informative

      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+.

    3. Re:time to port gnome! by puetzk · · Score: 5, Informative

      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.
    4. Re:time to port gnome! by betterunixthanunix · · Score: 5, Informative

      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
    5. Re:time to port gnome! by Richard+W.M.+Jones · · Score: 5, Informative

      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.

    6. Re:time to port gnome! by jbolden · · Score: 5, Informative

      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.

    7. Re:time to port gnome! by SpinyNorman · · Score: 5, Informative

      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).

    8. Re:time to port gnome! by JimDaGeek · · Score: 5, Insightful

      Firstly, without competition, things tend to languish.

      Competition is great, however GNU/Linux should not be competing against itself. There is too much fragmentation in Linux-land, 10 apps that all try to do the same thing, but each one does certain aspects better, yet none get it all right. Instead consolidate all that effort to 2 or 3 apps.

      Linux gets to compete against Windows and OS X. Are you old enough to remember the Unix-wars? All the big Unix versions were all doing things their own way whilw MS and Apple were working on more consistent offerings. We all know what happened to the major Unix players.

      Sadly, Linux desktop seems to be repeating the past. Constantly reinventing the wheel with tons of yet-another-app-X syndrome.

      I have been using Linux since early Red Hat days. Then I used Slack, built my own Linux based on LFS for about 2 years. Then on to Gentoo, then to Fedora then finally Ubuntu.

      Ubuntu made things a lot better IMO, however it still suffers with a felling of many apps tacked together instead of a more cohesive product. This was the main reason I switched to OS X 2 years ago and have been happy with that choice.

      I still find myself missing Linux and would love to see a more unified final product. I don't want to have to be bothered with looking for a Gnome/GTK+ based app for Ubuntu so it works/integrates best.

      There have been too many times I where I couldn't find a good Gnome/GTK+ based app but found it with a KDE based app. However, that one app pulls in a lot of KDE based bloat that I don't want/need. So I would try to switch to KDE from Gnome for a while, but found the same issue where I would have to pull in/use a Gnome/GTK+ based app.

      Lather, rinse, repeat.

      --
      General, you are listening to a machine! Do the world a favor and don't act like one.
  2. Ars Technica report by Eukariote · · Score: 5, Informative
  3. It's official... by sznupi · · Score: 5, Funny

    ...no reason for Gnome to exist anymore! ;)

    --
    One that hath name thou can not otter
  4. Let Joy Be Unconfined by netpixie · · Score: 5, Funny

    Whilst being very good at code and generally geekery, Trolltech are total rubbish at the support game, leaving paying developers (i.e. me a few years ago) feeling massively shafted when being told "here's the code, fix it yourself". WTF am I paying for If I have to not only find your bugs, but fix them as well?

    Now everything is back as it should be - free code and no support, the way God intended.

  5. Hurrah by caluml · · Score: 5, Insightful

    Well, thank heavens for that. Hopefully now the horrible, oldfashioned looking, bad file-selecting-dialogs GTK will slowly disappear. The number of times I've had to select something in /usr/bin, and have started to type /usr/bin only to have it try and go to /usr/sr or some nastiness.

  6. It is a mistake to even think of porting by WindBourne · · Score: 5, Insightful

    I use to be a KDE developer, and I have to say that I love QT/KDE platform (and still use it). But with that said, I find that OSS moves faster BECAUSE of friendly competition, not in spite of it.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  7. Wow, great news by Anonymous Coward · · Score: 5, Interesting

    Over the years I have said many times that TrollTech should have lowered their prices considering things like the Apple Developer's kit and MSDN are significantly cheaper for more functionality.

    I have been in need of a good GUI toolkit for years. I have used just about all of them but for my own projects I either use the native toolkit of the OS I'm working on or FLTK for cross-platform stuff. Qt is much more functional than FLTK though with all their SQL and other utility classes. This is really cool. I bet Qt is now going to become the defacto GUI toolkit for everything.

    I wonder how long until someone makes a Qt version of GNOME (ha, I can't imagine how much work that would take). You could start with making a Qt version of The GIMP.

    1. Re:Wow, great news by sucker_muts · · Score: 5, Informative

      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? => /bin/there/done/that
  8. Re:I'm not a copyright lawyer by Anonymous Coward · · Score: 5, Informative

    Could someone summarise the difference between the LGPL and the GPL? Thanks.

    LGPL allows closed-source programs to link with the library in question.

  9. Re:Large uptick in Qt usage? by vurian · · Score: 5, Informative

    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.

  10. Re:It's good news, but is it too late? by ardor · · Score: 5, Informative

    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.
  11. Re:Kills any idea of using Qt in our products by oever · · Score: 5, Insightful

    So buy a commercial Qt license. These are still available have no GPL/LGPL in them.

    --
    DNA is the ultimate spaghetti code.
  12. Re:Strategy fail by betterunixthanunix · · Score: 5, Interesting

    "if you avoid using programs from another desktop"

    Which is just not possible. Where is the CD burning program in GNOME that beats K3B? Where is the music player that beats Amarok? In the other direction, where is the office suite that beats OpenOffice.org? You cannot avoid mixing GTK and Qt apps on a desktop without hurting yourself.

    "Honestly, I have no trouble using mixed apps on the same desktop."

    Just three days ago at FUDCon, I saw someone try to use KGPG on their GNOME desktop. He had localized GNOME in Dutch, and when KGPG pops up...everything was in English. The localization settings are stored in different places, which is a problem that goes beyond "installing themes to make it look the same." There is also the failure to have OLE across Qt and GTK, which has so far only been solved by disparate hacks in specific applications, and only works for certain cases. The copy and paste problems being solved was a good thing, but that is only one of many issues that arise from mixing GTK and Qt apps on a single system.

    --
    Palm trees and 8
  13. GTK is not the target... by Saint+Fnordius · · Score: 5, Interesting

    I have a hunch Nokia is looking at XCode and Apple instead. After all, the main battle for them is in the mobile market, and Apple made a big deal about the iPhone being based on OS X. So this is a bid to win over the talented developers.

    QT is available on more platforms, true, and it always has been. Still, XCode was free for anyone with a Mac, and the developer kits for the iPhone only required that you own a Mac and that you registered as a developer.

  14. Re:Strategy fail by buchner.johannes · · Score: 5, Interesting

    That is the chance and duty of freedesktop.org. Combining the parts that are common and the platforms can agree upon. Defining the standards (like trash, cache, drag+drop, etc.).
    It is getting better and better (e.g. I think KDE+GNOME both use DBUS now? ), some services/libs (NetworkManager) are already commonly used.
    What I'd really like to see is a common password storage.

    --
    NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
  15. Re:congratulations to Nokia by darkvizier · · Score: 5, Insightful

    I'm assuming we're talking about development for Linux, or cross platform here, since this is QT. Two questions:

    1) Why would you program in C# on Linux? Mono support is years behind the feature sets that MS is rolling out. There are a variety of languages/frameworks that are better supported than .NET.

    2) What's wrong with GUI programming in C++? QT tools seem pretty nice to me, and objects are much easier to work with than a mountain of procedural code. C++ should also be plenty efficient for application space.

    So, what advantages are there in using C/Gnome?

  16. Re:Hello Moto by Nick+Ives · · Score: 5, Insightful

    No, the GPL just presumes to attempt to restrict what I do with my code that has no GPL code in it.

    Flat out wrong. The GPL restricts what you can do with other peoples code who have chosen to license it under the GPL. If you don't want those restrictions on your code then don't creative derivative works from GPL code.

    Don't bitch because you can't leech other peoples code: Your code, your rules means their code, their rules.

    --
    Nick
  17. Re:Yeah but KDE doesn't work. by Enderandrew · · Score: 5, Insightful

    The Ubuntu devs screwed up their KDE 4 packages in a bad way. That isn't KDE's fault.

    Furthermore, KDE doesn't depend on video drivers. If the Ubuntu devs made a certain Nvidia driver a dependency, then they screwed up big time. KDE does not change your kernel or video driver in any way.

    I'm not calling you a liar or saying you didn't have problems. I'm sure your box got hosed somehow, but it is more likely the problem was with Ubuntu's packaging.

    It should also be noted that the QT 4/Nvidia problems have largely been remedies. Qt 4 used Xrender heavily, and Nvidia's driver had a piss-poor Xrender implementation. The forthcoming Qt 4.5 is supposed to move away from using Xrender all over the place, and the latest Nvidia driver has much better Xrender support to boot. openSUSE even provides a repo with weekly snapshots of the KDE 4.2 branch compiled against the weekly snapshots of Qt 4.5. In theory it is unstable, but I've had good luck with it so far.

    I know I'll get modded Troll for this, but I don't care. Ubuntu has got some serious problems, and is very overrated. openSUSE puts out quality KDE 3, KDE 4 and Gnome desktops. They support all 3 currently (though KDE 3 is being dropped in the future).

    Novell hires a large staff of developers that make quality packages, fix upstream bugs, backport features, etc. As much as I hated Novell for the MS deal, Novell is one of the best contributors to several upstream projects, and openSUSE is a fantastic distro.

    I can't recommend it enough.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  18. Re:Hello Moto by Hurricane78 · · Score: 5, Insightful

    The problem is that you're criticizing the GPL for not living in your perfect dream world.
    I think the GPL is way better, because I know, that in reality, businesses tend to rip you off, fuck you in every hole, and leave you bleeding on the street, (metaphorically speaking) if they just can!
    It's the rule of profit maximization. The first rule of every business. And more often than not, it's unfortunately the only rule.

    And that's exactly why we need the GPL to enforce giving back something. Because in reality, businesses will not give back anything. Why would they? To lose money and then to lose against their competition who is winning because they are not giving anything back? Makes no sense.

    But why would you care about your reality, if you can perfectly continue to rant about your dream world not coming true, while ignoring it?

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.