Slashdot Log In
Qt Becomes LGPL
Posted by
CmdrTaco
on Wed Jan 14, 2009 09:31 AM
from the that's-just-adorable dept.
from the that's-just-adorable dept.
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."
Related Stories
[+]
Qt Opens Source Code Repositories 230 comments
sobral writes "Following the announcement of the LGPL license model, since yesterday the Qt source code repositories are open to the public together with their roadmap. The contribution model is online and will enable developers from the community to submit patches through a single click process, avoiding the previous hassle of sending in signed paperwork. The code is hosted at qt.gitorious.org and an instant benefit of this launch is that Qt Software has been working together with Gitorious maintainers for the last four months to improve Gitorious and all these new features are already submitted upstream."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
time to port gnome! (Score:5, Insightful)
It is a mistake to even think of porting (Score:5, Insightful)
Parent
Strategy fail (Score:5, Interesting)
Of course, porting GNOME would take so long that people would forget that GNOME even exists. The unfortunate reality is that this split will only be resolved when either GNOME and all of the associated GTK applications die, or KDE and its associated applications die (unfortunately, that would mean a loss of K3B, one of the applications that made open source desktops usable for non-technical users).
Parent
Re:Strategy fail (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.
Parent
Re:Strategy fail (Score:5, Interesting)
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.
Parent
Re:How would *you* know? (Score:5, Insightful)
Parent
Re:time to port gnome! (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.
Parent
Re:time to port gnome! (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.
Parent
Re:time to port gnome! (Score:5, Insightful)
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.
Parent
Re:time to port gnome! (Score:5, Insightful)
The argument was primarily a licensing one: LGPL versus GPL. Going for GTK+ because it was LGPL wasn't a weak argument.
With both QT and GTK+ being LGPL, the argument will be about toolkit quality, third-party support and language experience (C++ versus C). This is a much more useful comparison, and as a developer well-versed in GTK+ I'm looking forward to using both.
From QT4.5 onwards, the best tool for the job wins. Thanks Nokia!
Parent
Re:time to port gnome! (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 [fedoraproject.org] just fine. It even has nice native look and feel.
Parent
Re:time to port gnome! (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+.
Parent
Re:time to port gnome! (Score:5, Interesting)
Qt supports more than just Windows/Linux/Mac OSX... It also supports embedded applications (Qt/Embedded - used for Qtopia, which assumes nothing more than a framebuffer graphics interface), and most recently also Windows CE.
I think Google's decision to go with their own graphics API for Android is looking very much like "not invented here". The Qt API is excellent (I've been using the free version for years), and it's available pretty much everywhere. Now with LGPL licensing, any remaining objection has pretty much disappeared. Qt Jambi (the Java API for Qt) would be perfect for Android.
Parent
Re:time to port gnome! (Score:5, Informative)
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++.
Parent
Re:time to port gnome! (Score:5, Informative)
Qt Designer is part of the core package, and is excellent.
Parent
Re:time to port gnome! (Score:5, Informative)
There is also now Qt Creator [qtsoftware.com] which show some promise as a cross-platform IDE.
Parent
Re:time to port gnome! (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).
Parent
Re:time to port gnome! (Score:5, Informative)
Parent
More.. (Score:5, Funny)
Ars Technica report (Score:5, Informative)
It's official... (Score:5, Funny)
...no reason for Gnome to exist anymore! ;)
Let Joy Be Unconfined (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.
Hurrah (Score:5, Insightful)
Large uptick in Qt usage? (Score:5, Interesting)
The only complaint I've seen before about Qt is that it's too expensive for proprietary apps, and that's not an issue anymore. I won't be surprised to see a large uptick in Qt usage now, and that's a big plus for cross platform apps, as Qt is quite portable.
Re:Large uptick in Qt usage? (Score:5, Informative)
Parent
Wow, great news (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.
Re:Wow, great news (Score:5, Informative)
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 [wikipedia.org]
Parent
Way to go, Nokia! (Score:5, Insightful)
I love to see when a company understands that giving something away they will get ten times more in return. And nowadays that happens too rarely.
For a while it seemed that Nokia is about to lose to its competitors, because of Symbian and bad software. This will totally remedy it. I've also heard from Nokia insiders that they're actively dumping everything related to Symbian. It won't take more than couple of years and all their phones use Qt.
Seeing how well Apple has been selling iPhone applications, I can only imagine the potential Qt phones have in future. With Symbian that just wasn't possible, it was a total nightmare for the developers.
PyQt? (Score:5, Interesting)
KDE is a perfect cross-platform environment (Score:5, Informative)
One year after Nokia bought Trolltech [kdedevelopers.org], 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!
Jump onboard Firefox and Adobe! (Score:5, Interesting)
With this development, I hope Firefox and Adobe developers will jump on board...fast. I would also like to see the folks at OpenOffice.org on board the QT bandwagon as well. The interfaces I see on Openoffice and Adobe's PDF reader would look better with QT in my opinion.
Re:Jump onboard Firefox and Adobe! (Score:5, Interesting)
Parent
GTK is not the target... (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.
Re:I'm not a copyright lawyer (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.
Parent
That would be a disaster (Score:5, Insightful)
Parent
Re:Die Gnome (Score:5, Insightful)
I really like Gnome better than KDE. You can run QT applications under Gnome just fine. :)
What I wonder is if we could see OpenOffice or Mozilla move to QT for the widgets
Parent
Re:Yeah but KDE doesn't work. (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.
Parent
Re:It's good news, but is it too late? (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.
Parent
Re:Kills any idea of using Qt in our products (Score:5, Insightful)
So buy a commercial Qt license. These are still available have no GPL/LGPL in them.
Parent
Re:congratulations to Nokia (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?
Parent
Re:Hello Moto (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?
Parent
Re:Hello Moto (Score:5, Funny)
No, the GPL just presumes to attempt to restrict what I do with my code that has no GPL code in it. Which is within their rights, but thoroughly corrupt and domineering of them.
Which makes sense, as Stallman is the ugliest type of human being--the zealot.
cough Kettle, pot, black, what?
Parent
Weird license restriction: (Score:5, Interesting)
Nokia DOES presume to tell you what you can do with your LGPL code. Read this quote [qtsoftware.com]:
"Can I switch from using Qt under the LGPL to commercial afterwards?
"Users of the LGPL versions of Qt need to comply with the LGPL licensing terms and conditions. Qt's commercial license agreement contains a restriction that prohibits customers from initially beginning development with the LGPL licensed version of Qt and then transitioning to a commercial version of Qt."
Wow! How do they know how you "initially" began development?
It seems as though some lawyer or marketing guy with no technical understanding got involved.
How does this affect the open source cross-platform GUI toolkit WxWidgets [wxwidgets.org]?
Parent
Re:Hello Moto (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.
Parent
Re:Hello Moto (Score:5, Funny)
Which makes sense, as Stallman is the ugliest type of human being--the zealot.
Stallman is a member of a Jewish political movement from the first century AD whose primary goal is to incite the people of Iudaea Province to rebel against the Roman Empire?
Parent
Re:Hello Moto (Score:5, Funny)
Stallman is a member of a Jewish political movement from the first century AD whose primary goal is to incite the people of Iudaea Province to rebel against the Roman Empire?
No, he's a ground melee fighter armed with psi-blades, serving as the core of many Protoss forces, especially in the early-to-mid game.
Parent
Re:Hello Moto (Score:5, Funny)
You mean... The Judean People's Front?
Parent
Re:Hello Moto (Score:5, Interesting)
I don't have a problem with the GPL, I usually use more liberal licensing like BSD, Creative Commons Attr. or MIT myself, and find GPL incompatible for inclusion. If you use GPL code, your code is GPL, it's that simple... if you don't like it, don't use it. There's LGPL, MPL, BSD, MS-PL and a host of other options. You have no place to bitch about it. I like the GPL for applications, it prevents people from subverting your application without giving back (not so great in web/SaaS models though). I think that SaaS using modified GPL apps does subvert GPL a bit. It's a balancing act, trying to preserve your rights as the original developer, while allowing people to utilize your code.
I happen to kind of like MS's MS-PL license. It's kind of like BSD with a nuclear deterrent clause (anti-patent/anti-lawsuit). I feel it's probably more appropriate in most cases over BSD. Since it would allow you to protect yourself, at least a little, from the patent trolls. Sure it works better for larger companies like MS, but is a kind of cool idea just the same.
Parent
Re:Hello Moto (Score:5, Insightful)
Parent
Re:Hello Moto (Score:5, Insightful)
The definition of derivative work is the issue.
I'd love to be able to utilize GPLed code, provide the code, credit the author(s), and create a work that utilized that functionality, intact, as an accoutrement to the rest of the application.
Unfortunantly, a strict reading of the GPL leads me (and my companies OSS group) to believe that this would mean that my entire application is a derivative work that would fall under the GPL. I've gotten around this in the past by having the GPLed code in a plugin form that is dynamically specified and then dynamically loaded so that the application is significantly distanced from the GPLed code.
Perhaps that's not how the GPL is intended to work, but there's enough leeway in interpreting it, that you have to be really careful.
Parent