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."
Let's hope Motorola sign up. Their UI is consistently inconsistent and awful
Watch those corners
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.
FYI: This article needs more acronyms. STAT. ASAP.
I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
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
...no reason for Gnome to exist anymore! ;)
One that hath name thou can not otter
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.
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.
Get your own free personal location tracker
It's not every day that a cross-platform GUI framework suddenly turns into (becomes) a licence...
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.
Game! - Where the stick is mightier than the sword!
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.
Ummm...I think Nokia, who now owns Trolltech, will be paying their bills.
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.
Comment removed based on user account deletion
Perhaps now we can finally get enough momentum to end this Gnome\KDE battle and get KDE to win so we can settle on ONE desktop environment so we can get back to writing 40 different window managers.
QT + KDE = 1 Desktop Standard Linux (hell even Windows) folk can get behind.
Gnome + KDE = Goblin Desktop (You can thank me for coming up with that name
Merge the teams, move forward with KDE and lets get Linux on the desktop in earnest.
-=[ Who Is John Galt? ]=-
Excellent news!
And a sensible move - the best way for any technology to become a standard (defacto or otherwise) is for it to be freely available and demonstrably good.
Now this is both we can predict swift adoption of it. Some firms may view Linux as a hobby, but even that is changing - my new job I started last week has two Ubuntu PCs in this very room I am typing from.
Open source desktops fail really hard from a strategic point of view because of the split between GTK and Qt. They store l10n and i18n settings in separate places, they look different, the dialogs have different configurations, etc. It creates a desktop that feels less unified, more like a bunch of random applications than a single system.
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).
Palm trees and 8
Could someone summarise the difference between the LGPL and the GPL? Thanks.
LGPL allows closed-source programs to link with the library in question.
If you have a piece of GPL code in your program, all of the program must be GPL. LGPL only applies to the LGPL code and any changes you make to it (your original code can be under any license)
"I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
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.
I wonder what will happen to PyQt? They have traditionally offered the same licensing as Trolltech, but at a much cheaper rate. I'm curious to know what Qt's change to the LGPL will mean to them.
.there is enough of everything for everyone.
I considered QT when I was looking for a good GUI for an open source project I was considering, but ended up rejecting it on licensing agreements. It has actually gotten better licensing twice since then, and now I would actually choose it.
That project, sadly, never happened because I never found a GUI toolkit I thought would do what I needed. How many other projects were similarly stalled like this?
This is indeed good news.
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
At last! Qt has gone LGPL! The final obstacle to our creating a front-end for MySQL has been removed!
What on earth are you talking about?
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
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.
Think about Xfree. it was basically a closed monopoly. Then X11 grabbed it and opened it up further. Has it improved things? Absolutely. Basically, we NEED competition. GNOME is good competition, vs. say MS's form of competition (involving lots of dirty tricks and legal maneuvers).
I prefer the "u" in honour as it seems to be missing these days.
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.
If they do what this article suggests they will, this is a big step towards better code and community involvement. Go Qt, go!
df -h
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.
So buy a commercial Qt license. These are still available have no GPL/LGPL in them.
DNA is the ultimate spaghetti code.
Um, wxWidgets has been around for many years, and it can be used to write decent-looking GUIs for OS X, Windows, Linux, and many more operating systems.
While I think Qt's API is a bit nicer, it was already pretty easy to make cross-platform GUIs.
Karma: Terrifying (mostly affected by atrocities you've committed)
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.
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.
Over my dead body. I can't stand KDE 4.0.
Can you send us your address?
I wonder if you ever had to develop new widgets based on GTK ... This post should get developers quite excited.
It's great that Qt becomes LGPL, but it doesn't mean that we should stop developing GNOME and GTK...
Seriously there's lots of business that depends on GNOME and/or GTK, and lots of reasons to keep them alive...
Competition among desktop environments is good and having two large desktop environments if probably a good idea... As it drives competition and innovation.
Presumably, if folks want to make changes to the libraries themselves, they'd need to make those changes public when redistributing the binaries.. Sort of defeats the purpose if you ask me, but I'm sure there's potential customers who would demand commercial licenses for dopey legal reasons, and perhaps they'll only offer support on the non-LGPL?
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?
It caught Mono through an ill-considered tryst with Miguel ;)
For every problem, there is at least one solution that is simple, neat, and wrong.
Screwed up kernel... BTW, what distro are you running, and what version of KDE 4.x did you run?
I am running Ubuntu Hardy Heron with nVidia drivers. The problem was the KDE, and I think it was 4.0, went and updated my kernel. This in turn hosed my nVidia drivers for some god aweful reason and brought down my whole desktop.
I used to use OpenSuse before Ubuntu and that was where I really liked KDE the best. It was nice because under OpenSuse you could switch between KDE and Gnome quite effortlessly and this has never really worked under Ubuntu. However, there's a lot that I do like about Ubuntu, in particular, the whole package management system is out of this world good compared to OpenSUSE when I used it, and honestly, I think Gnome desktop just looks a lot more polished even though KDE has a lot of features to it.
This is my sig.
Nokia never insisted anything of the sort.
While they may have opposed the HTML 5 standard, their opposition is based upon their relationship with Webkit (recall that Nokia is one of the big players backing Webkit ... in addition to the fact that Qt now bundles a derivative of it).
When Nokia purchased Trolltech, they promised not to change much. That's the opposite of what you just claimed. Those of us heavily entrenched in the Qt world knew that there was likely to be a shift in priorities ... the profitability of Trolltech was measured in digits that were not significant to a massive company like Nokia.
They bought Trolltech for the IP rights on the phone operating system Qtopia (now Qt Extended) because it enabled them to get back into the smartphone game (which they've been losing to Apple, RIM, and soon Google). The purchase was not for direct Qt profitability.
Disclaimer: I work for the biggest Qt shop in North America, www.ics.com (and we're already under heavy load, so that link is cached).
Use my userscript to add story images to Slashdot. There's no going back.
http://en.wikipedia.org/wiki/HTML_5#Ogg_controversy
I realize that Nokia bought Trolltech for Qtopia. Nokia is now trying to push a mobile GTK platform while owning the Qt platform. I did think it was a really smart move to give Nokia n810 tablets to KDE devs. Then the KDE devs worked on getting KDE 4 to work on the n810. Nokia could easily ship a full KDE 4 based desktop on future smart phones and tablets.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
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.
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.
Rich Internet Application platforms, like Adobe Flex, are making it easier to get rid of client-side GUI libraries entirely.
Have a browser? Most apps can be done in AJAX, the remaining apps can be done in Flex. Why use GTK or QT?
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
> You'd be the first I've seen. Kopete is terrible.
How would you know?
You should put a bit more effort into making your trolling consistent, no?
Qt requires people that contribute to give them a permissive license. That is good enough for inclusion of the code in the commercial version.
DNA is the ultimate spaghetti code.
Interesting point.
Nokia DOES presume to tell you what you can do with your LGPL code. Read this quote:
"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?
This all boils down to Nokia having to compete with the other key smartphone SDKs basically being free and popular. If lots of people learn to love QT for the various computer OSs then they will then have the skills ready for Nokia development. But corporate development just doesn't sit well with GPL so the LGPL is the only real option. If anything this might be a huge win. The iPhone makes you use at least some Objective C and Android gets all Java on your ass. But for really cool killer apps you might want to use C++ to do something really cool on the tiny processors found in most handsets. What would be really cool and daring for Nokia would be to make QT for iPhone. Then people might port their apps to both iPhone and Nokia.
Your company has a very silly policy.
At first glance, it sounds that way, but we have to be careful because we don't know all the details. I've seen companies rejecting all sorts of external software based on apparently permissive licence agreements. One example is companies that produce libraries rather than end-user products, who can't necessarily impose any changes on their entire customer base without rewriting every contract they ever signed; this can be triggered by something as simple as a required attribution clause in the licence of a sub-library.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Here: https://rubyforge.org/frs/?group_id=181&release_id=23283
No need to stick with C++ and Java, the QT bindings for Ruby work like a charm.
{{.sig}}
Your company has a very silly policy. I've worked in quite a few places that did commercial closed-source development, and none of them had any problems with LGPL; after all, it was written precisely so that closed-source apps can use it! Why waste time re-writing the code somebody has already written before, and allowed you to use?
They may have been feeling very cautious about the possible issue of developers not only "linking with" but actually "deriving from" LGPL code...
Basically when code is open-source, but with a license restrictive enough to make the lawyers uncomfortable, there's a bit of a liability there - the developers, of course, have total freedom to read and learn from that code. But not all of them will be disciplined enough, when reading a piece of code which does exactly what they need a closed part of their app to do, to not reuse that information inappropriately.
Some would be careless enough to misinterpret the LGPL and either link it improperly or reuse it within closed portions of the code. Aggressively warning employees to avoid GPL/LGPL code is easier that teaching the proper discipline in handling it - and even if a violation didn't wind up costing them a lot of money, it does tend to raise a bit of a stink when it's discovered...
Bow-ties are cool.
"rather will use it as the desktop containment"
having actually seen packages of 4.2, i can tell you that this is incorrect. i do expect *some* distros out there to do this, however. that's sort of why we have the feature there, of course. =)
"it takes time to rewrite the entire KDE project. "
just to put this into perspective, the only full rewrite is of the desktop shell. we added a lot of new library frameworks (Phonon, Solid, ThreadWeaver, Nepomuk, etc, etc.) did a massive amount of work on the existing libraries (particularly so that libkdecore doesn't require a GUI, sorted the functionality out properly so that they aren't massive globs of semi-random class collections, etc), introduced a number of new apps (akonadi, dolphin, the new printer configuration tool, numerous games, some edu apps ..) and obviously ported everything to Qt4. massive, massive effort, but it wasn't technically a rewrite, with the exception of the desktop shell.
Vala is hardly a failure if you examine why it exists and what is used for (and how it relates to the post I was originally answering). Well Vala is really syntactic sugar over C and the existing gobject facilities. So yes, memory management isn't going to be like C#, and it's not like C++ either, alhough C++ doesn't have a garbage detector or a cycle detector... nothing big ever gets written in C++ for those reasons. Like Qt Apps. Right. Big applications can and have been written in straight C with GTK and have done fine. Worst case, Vala just makes writing such applications easier, though you do have to manage memory yourself.
But I should have been more clear when I was promoting Vala. Vala could be used to write big apps I'm sure, but like you say with real nice languages like Python, there's really no point. However I was addressing the concern expressed that creating new widgets in GTK or even extending widgets is very painful in C. Vala is intended to address this and make it easier to develop GTK libraries and extend GTK. That's the point.
Sure if you want to compare GTK to Qt you'd be better off to compare GTKmm to Qt. But of course if you were to write widgets in GTKmm you're locked to C++ and can never offer them to other languages without a port.
"I wasn't necessarily saying Vala was an app development language (although it could be)."
GNOME devs are already writing full apps with it, so it is being used as such.
"If Gtk used some other language like, say, Python, with Python GTK widgets and so forth, then how would Java, C#, or even C or C++ have access to these components?"
yes, i understand that is what has driven Vala's design and implementation. i just don't agree with the "we'll wedge another home grown language in between the C and the other languages" approach. i think it's overly complicated and limits the number of people who can (and will) hack on it.
time will tell if i'm smoking crack or not, of course .. =)
"Vala isn't actually a language in the same sense as Python, C# or Java is. It's really just a syntactic extension of C and produces plain, simple, C code."
that is produces C is both a feature and a bug. it makes debugging much more awkward (and for a while wasn't even possible at all! how do you go from your generated C to your Vala code in gdb? there's a plugin now for gdb, but really .. oy vey!) and you lose all the interesting security possibilities of managed code.
"How will using Javascript help in GTK development or building custom widgets or extending GTK and its reach?"
it's simply a language that is well known. pick a different well known language if you wish. make your own runtime if you wish. certainly add your own sugar on top (see QScript for a really nice example of how that can all be done with JavaScript). there's nothing particularly magical about the Vala syntax, except that it's a new language specific to one toolkit.
which is precisely my point.
"it will be possible to extend and improve GTK to equal Qt while still maintaining the ability to use it from any language binding."
let's do this then: let's come back to this in 2-3 years (it takes time to get these things going, i know) and see if that theory works out.
my theory is that it will just be one more baroque tool that people working with Gtk will have to get their head around (and people complained about moc with Qt; they ain't seen nothing yet ;) thereby limiting the pool of candidate developers. as a non-transferable skill it won't gain much in the way of value that might cause people to learn it "just because", and yet people will write applications with it. i expect to see more and more vala usage in Gtk+/GNOME (because, well, that's already happening =) and it will cause the project to become more insular rather than less.
i do expect that those using it will get more done with vala than with plain C, but not to an extent that will make up for the number of people lost by not choosing a language syntax that is already widely known or a language that avoids compile cycles, dealing with the intricacies of C debuging, etc.
given that it's homegrown, it will also soak up resources maintaining and extending vala itself that could be put elsewhere.
combined, i expect individual efficiency of existing contributors to increase due to vala, but the overall effect on the project to be a net negative. i predict that in a few years vala will get quietly binned. bonobo 2.0 if you will: a cool idea that "just has to work, it's so well designed and advanced!" but which just didn't pan out in reality.
again, i could be wrong. and i certainly don't want to see the GNOME team falter. but vala gives me the heebie-jeebies.