Nokia has announced that starting with version 4.5, Qt will be available under the LGPL 2.1. From the announcement,

The move to LGPL licensing will provide open source and commercial developers with more permissive licensing than GPL and so increase flexibility for developers. In addition, Qt source code repositories will be made publicly available and will encourage contributions from desktop and embedded developer communities. With these changes, developers will be able to actively drive the evolution of the Qt framework.

This exciting change, made with consultation of the
KDE Free Qt Foundation, should encourage KDE and Qt use among commercial and proprietary developers and makes the philosophy of "Qt Everywhere" complete.

Kai Öistämö, Executive Vice President of Devices at Nokia expands,

"By opening Qt’s licensing model and encouraging more contributions, Qt users will have more of a stake in the development of Qt, which will in turn encourage wider adoption."

The change in licensing for Qt is happening under the mantra "Qt
Everywhere" and is a step to remove any and all possible blocking objections
for not using Qt. Nokia explains further,

Qt will be available under the LGPL version 2.1 with the upcoming Qt 4.5 release. Qt will also continue to be licensed under commercial license terms, as well as the GPL, version 3.0.

Nokia will also be opening up the development of Qt. A clear path for the
extension of external contributions is currently being built, including
publicly available source code repositories and access to the same level of
support, independent of the license.

The simple fact behind this is that Nokia is less reliant on the
income from Qt licensing than Trolltech (now Qt Software) was, and this has
given Qt Software more room to approach the market with more permissive
licensing strategies in order to increase adoption of the Qt toolkit.
This is part of the 10x growth target announced at last year's Akademy
to achieve ten times as many developers and ten times as many free software community users.
Or as KDE and Qt developer Thiago Maciera put it "we want KDE to be ten times as big".

While kdelibs has always been available under the LGPL, this marks the first
time that both Qt and kdelibs will both be available under the LGPL.
This will help make the licensing of KDE's libraries more permissive, flexible
and coherent. KDE's licensing is summarised on
href="http://techbase.kde.org/index.php?title=Policies/Licensing_Policy">TechBase,
and can be described as "LGPL or equivalent for libraries, GPL otherwise".

Meanwhile, Nokia reiterates their commitment to a commercially viable and,
technology-wise, best-of-breed toolkit. In fact, the performance and
functionality improvements that can be seen in the upcoming Qt 4.5 release are
impressive. Running KDE 4.2 with Qt 4.5 is already being tested by several
engineers inside Qt software, which has resulted in a number of bug fixes in
both KDE and Qt. Independent of the licensing changes, the KDE release team
plans to update the version of Qt in KDE's development tree (qt-copy) shortly
to snapshots of Qt 4.5 which is due to be released in March.

All-in-all today's news means tremendous things for Free and Open Source software. The
possibility of extending the reach of all of our work is exciting in and of
itself, and this announcement could lead to a veritable explosion of Qt and
KDE adoption.

> We will see many more smaller proprietary apps using Qt and KDE in future.

And that is good news. Sometimes, there is no choice and you have to use/write non-free software. Now, you have a fair chance that this software will at least integrate well with your KDE desktop. And become more convenient, as a side effect of using the excellent Qt framework (think of the bletcherous GTK open-file dialog!).

Or am I the only one who gets annoyed at the GTK interfaces of some apps (e.g. the NVidia driver configuration applet) standing out in KDE (both in terms of look and (un)usability)?

I won't even talk about the issues of license freedom that GPL-hating open source pundits (including BSD guys) would gladly pound into your head with their trusty rugged clue-by-fours :).

> And that is good news. Sometimes, there is no choice and you have to use/write non-free software.

How exactly do you define "no choice"? Someone is forcing you to write non-fre software? Maybe you should call the police ;)
No, seriously. I dont run around telling people which software to use, I don't even think that its bad to install a single proprietary driver on you mom's laptop, but I am decidedly against developing non-free software. You *do* have a choice.
I am also gainst buying hardware that would require you to use non-free-software or donating time/resources/money to the cause of improving non-free-software beit by features or look'n'feel.

> I won't even talk about the issues of license freedom that GPL-hating open source pundits (including BSD guys) would gladly pound into your head with their trusty rugged clue-by-fours :).

I use BSD almost exclusively, I don't hate the GPL. It makes no difference for BSD-licensed software, since the BSDL is compatible with both GPL and LGPL. Also there was an additional GPL-Exception for BSD-licensed code in Qt.

GNU's licensing recommendations are directed at you, the reader. License your own software however you want, but allow Nokia and its customers the same freedom. How other people use Qt does not affect your use of Qt.

My personal preference is GPL over LGPL. It is absolutely unbelievable to see people attacking Stallman here. As someone involved with free software for nearly 10 years and managing projects and watching companies let me give you my take. When I first read Stallman's ideas in the 1990s I thought it was a lovely hippie pipe dream. Now for reality... If you're reading this you probably are interested in the Linux kernel and associated libraries and KDE on top of it. Read up. There was no need for a Linux kernel except that the hurd kernel being developed by GNU wasn't cutting it. Who cares. There was BSD which was solid stable and free. If you don't know the BSD license look for it in the TCP/IP stack in Windows NT or newer. (LGPL offers something between BSD and GPL) Why then is is the Linux kernel so popular? Individuals and companies felt more secure with the protections that their work would not end up being forked for private projects. Linux was not better than BSD for years. And I should point out Linux is just a kernel. It is compiled with the GNU compiler and and linked to GNU libraries. Hello? That's Stallman's baby and why he suggests you call it what it really is, GNU/Linux. Linux would never have overtaken BSD without the GNU GPL and GNU software.

So if you are hostile to the GPL and Richard Stallman I suggest you either check your history or go back and kiss up to Stallman's former contemporary, Bill Gates. For years it looks like Gates was a visionary, but now it looks like Stallman had the vision that persisted. Having said that I don't worship the guy nor do I think he's the most fun geek to meet at a cocktail party. I just recognize that whatever your opinion of him is you have to give him his due.

So am I against Qt being LGPL's? No. Idealistically I like the GPL and the dual license makes rational sense. Pragmatically the LGPL option is killer. I say this for one reason. Even an idealist likes to listen to MP3s and watch DVDs. Idealists also have to process documents. In a perfect world new programs and technologies come to us without proprietary hooks. In a nightmare world nothing is accessible without approval by a gate keeper. In our world we allow the two ideas to compete because we know open standards, freedom and quality software has an edge and can attract content and development. By compromising our ideals we can introduce a viral element into the mix that favors our world view and fosters development of our software. We want more people drinking out koolaid because that's how we infect them to work with us.

Again, the stated goal here for Qt is to make it 10 times as big, and in effect this is the first time ever that commercial development on KDE makes any real sense. Let me point out I'm talking KDE, not Qt which I feel always made sense if there was a profitable model. Imagine having 10 times as many developers on KDE. I get excited about that.

Where does this make a difference? GNOME on Qt? It's funny but they have swung from we're GPL and C to we're LGPL and Mono. It will be interesting to see if there is another argument. I'm not a fan of Gtk but I don't wish it dead. Where this will make a difference is in programs like OOo where they take community contributions and then make additions and package them into a commercial version. Projects like Firefox or other programs running on Linux for media and such may show up running Qt.

I may prefer the GPL to the LGPL idealistically, but I prefer a more wide spread adoption of my software tools and a larger developer base of our associated projects in practice. There can be no doubt the acquisition of Qt by Nokia has turned out to be a huge boon to KDE users.

I am not sure whether I understand you completely though.
> Again, the stated goal here for Qt is to make it 10 times as big,
[...]
> I may prefer the GPL to the LGPL idealistically, but I prefer a more wide spread adoption of my software tools and a larger developer base of our associated projects in practice.

To me "adoption of software" in itself has no ethical value. It is only benificiary to "the people", as a whole, if it also leads to more freedom. There are situations where permissive licensing can be the right decision, e.g. concerning open standards or free alternatives to non-open-standards, but giving Qt "away for free to proprietary developers" will primarily improve non-free software.
This means that the free software community is losing an advantage and proprietary developers are gaining one.

> and in effect this is the first time ever that commercial development on KDE makes any real sense.

commercial as in proprietary? Who would benefit from that? How long before everybody starts finding excuses why this and that proprietary application should be considired part of kde/qt/${gnulinuxdistro}? "It fits in so well" "It's just this one module" "my friends have it"...

Absolutely agree. I like the GPL since it forces payment of some kind. And prevents the type of situation where free software developers are free workers for someone else.

However, this is interesting. Nokia seems to be attempting to build a platform. Cross platform, cross hardware, cross business plan. A place for everyone. And much larger than Nokia/QtSoftware.

What is very interesting, and probably bigger news than the license change is the announced opening up of the repository.

Maybe all those KDE developers they hired are convincing when they say how an open and free development system produces amazing results. Maybe the decision makers have been listening to what makes a free software community tick. Nokia seems to be attempting to unleash something instead of exploiting.

And if they manage to unleash what I think, they will benefit monetarily. And we will benefit immensely.

I've been reading of instances in previous economic downturns where game changing businesses were established. Time will tell, but this is going to be interesting to watch.

Complitely agree. I'm more and more shocked about how little Freedom is considered among GNU/Linux users, expecially Ubuntu ones that scream "I want Skype included", install proprietary video drivers, etc..
Also about how few understand that GPL "restrictions" are the golden rules to keep software (and USERS) Free.

I see a Qt 4.5-based GNOME in the horizon... This move has shattered the only serious obstacle impeding that. If KDE and GNOME agree in the next GUADEC/aKademy, and you have a LGPL licensed Qt 4.5, this is coming, sirs. Maybe not now, but in a 2-3 years frame from now.

Since a large proportion of GNOME developers hate C++ (and Qt itself, for reasons that often have little to do with its license), I don't see this as being very likely. Additionally, it's unlikely that GNU would throw its weight behind a project where a really core part - the toolkit - had a commercial company as its copyright holder, "poison pill" or no.

Even more - what would a Qt-based GNOME look like? They may as well go the whole hog and make use of kdelibs. In which case, if they want to write a desktop, they might as well use libplasma, which would basically boil down to "GNOME will be a special case of Plasma".

I really don't see this happening, to be honest - GNOME is a big project and is GTK through-and-through, so the only way it could switch to Qt is effectively to die completely and re-write itself using KDE technologies, in which case it would simply end up being a small specialisation of KDE.

I've long said that Gnome as a project has a differing philosophy than KDE. That's fine. A Gnome built upon Qt wouldn't look like KDE, or operate like KDE. They have very different opinions on how a UI should be designed, and how apps should work.

That being said, the idea behind the Free Desktop project is to unify some core concepts and technologies between desktops. I think building upon Qt would further that goal.

Gnome can have a Clearlooks engine, put their Cancel buttons in weird places, and have a desktop operate how they want. More common libraries are a good thing.

I think the C++ issue will sadly be a deal-breaker, but I really would love to see gnomelibs built upon Qt regardless, especially given the unclear direction of Gnome 3.0.

The current plan is to clean up and deprecate portions of GTK+ moving forward to refactor it while still preserving compatibility. Yet other devs are calling for breaking of APIs and a major refactoring. I don't think the Gnome devs want to go through the KDE 4.0 process because of the negative reaction it provoked. That being said, they either hobble along on a poorly written GTK platform that was never designed to carry a desktop platform, majorly rewrite GTK, or jump over to Qt.

Hobbling along is not the best decision for the future. The two remaining options are to redesign GTK, and that takes time, as well as fighting over that design. Moving to Qt means they can start on rewriting gnomelibs tomorrow as opposed to first designing the new GTK.

I haven't run a diff between the two versions of kdelibs, and frankly I wouldn't know what I was looking at anyway.

I based my comment on Aaron's comments that kdelibs was completely rewritten.

I did see the plans for Gnome 3, but I've also seen dissenting comments from various Gnome devs who weren't invited to that conversation and feel that GTK needs a major rewrite, not just a compatibility release with some deprecation.

I believe I saw those comments in response to people calling for KDE forks, and people wondering why not all the KDE 3 features immediately ported over to KDE 4. He insisted that they didn't just port KDE 3 to QT 4, but many of the core underlying libraries of KDE were completely rewritten.

I know for one I can point to Plasma being a part of the new kdelibs as a huge difference.

Perhaps Aaron can come in and clarify, but I know I've seen those comments.

the desktop shell has been rewritten (kdesktop+kicker -> plasma), and that meant libkicker and some classes in libkdeui bit the dust as well.

we did add a lot of stuff to kdelibs: solid, phonon, threadweaver, the paged dialog classes, sonnet, the model/view based file listings, etc..

and we did do a massive amount of moving stuff around to make the library better segretated and more sensible.

and we did do a massive amount of API cleansing, and in some cases that resulted in huge changes in API approach.

but through all of that, kdelibs wasn't actually rewritten. it was refactored and augmeneted.

that effort was gigantic as it was; a rewrite of the rest of the stuff that already works would have been insane.

i don't think it's overly analogous to what's in GNOME, however. they are busy removing dependencies on things like libgnomeui and slowly moving everything into Gtk+ or below.

at the end of it, which will probably take a few more years, they'll probably end up with a bunch of applications on top of one library: gtk+. various apps will use different libs for application specific things (e.g. reading tags out of oggs/mp3s, etc).

once they are 'there' i have no idea what they'll do next. i could hazard a few sensible guesses, but they'd only be WAGs really so i won't bother. =) one of the GNOME devs could do a much better job of that than me anyways.

Gnome is due for a major port/upgrade anyways if you listen to all the rumblings. If you're going to do a refactoring, you might as well discuss what to build around. Gnome seems to be building more and more on Mono (more and more Gnome packages depend on Mono every month it seems). I for one would prefer to see a Qt-centric Gnome rather than a Mono-centric Gnome. But that is just me.

I really have never thought this will happen! Qt is so much better and faster than GTK(+). Unfortunately it's expensive license has spoiled a lot of shareware developers away.

It will give the community the possibility to build a commercial friendly desktop environment for linux with a state of the art toolkit!

Let's just hope there will be strong and experienced projects leaders who avoid horrible design mistakes done in KDE4 (like using threads for desktop applets instead of processes).

With good marketing (like not using childish names like K*****, over hyping pre-alpha releases, etc.) this could be another step stone for Linux on the desktop. Professional cross platform apps are finally possible - Linux with the current market share (below 1%) on the desktop can only benefit from it.

Strongly disagreed. KHexEdit > Okteta. I can look at the former and know what it does. Apple also disagrees with you, except in their choice of letter. iTunes and iPhoto communicate what they are for. Amarok does not. KPDF does, Okular does not. I very literally hate this unfounded bashing of k**** names.

Actually, I refactored all the Plasma code to use threads instead of processes. But it was a mistake, so I never committed it. So, he's actually agreeing with something which is factually correct. Possibly. Depending on whether I'm telling the truth or not...

whatever gave you the idea we're using threads for desktop applets? (because, well, we're not.) i'd also love to hear your solution for out of process rendering and interaction that doesn't result in insanity. remember, these aren't tabs in a window, but interacting objects.

i do have the inkling of moving the dataengines out of process at some point, however.

For the short term Qt going LGPL is ending a very long troll, on the long term Qt software is becoming a cost center for Nokia.

The quality of Qt was also reliant on the paying customers that would not pay if the documentation was bad, or cross-platform was shaky and had a wide range of interests from the desktop to the embedded market.

Now there is only one client, Nokia, with little interest on the desktop. If the going gets tough they will cut Qt software staff or community-source it. Qt will certainly work very well on Nokia platforms but it will be up to the community to make it work elsewhere. There is a clear risk in the long term of an 'androidification' of Qt.

It will also make it hard for the small Qt ecosystem to bill clients for extra software or services. If you can write commercial software with Qt for free why pay for quality python bindings or extra testing tools ?

The fact that Gtk is LGPL was not a real blessing for the library. Red Hat has reduced its investment in it, different groups of payed developpers have pushed the library in orthogonal ways...

I don't think the LGPL'ing of Qt will hurt the ecosystem. In fact, I think the opposite will happen.

There will be more people evaluating Qt and using in their projects. In the past, either they made it opensource (in which case, the ecosystem was of little interest anyways), or they acquired a license. And to justify the expense of the license, they really needed to evaluate it and have a solid business plan.

Now, we may get a surge of short-on-cash companies who will jump onto Qt and may require the services of partners to complete their work.

Besides, testing tools? Hell yeah, every one should use them, regardless of whether they're paying a license to Nokia or not.

> For the short term Qt going LGPL is ending a very long troll, on the long term Qt software is becoming a cost center for Nokia.
> Now there is only one client, Nokia, with little interest on the desktop. If the going gets tough they will cut Qt software staff or community-source it.
> Qt will certainly work very well on Nokia platforms but it will be up to the community to make it work elsewhere. There is a clear risk in the long term of
> an 'androidification' of Qt.

If eveyone codes with Qt API's, how is Nokia going to loose? :-/ They've opened themselves for a much larger pool of developers. Instead of coding on Android, Java or .Net you can to Qt all the way now.

All those applications can be migrated easily to Nokia phones. Getting people to use your API is important (MS all thought us that, and this could beat them at that same playing field :-p). Killing the desktop would kill the stream of applications which can be easily ported, so I wouldn't be too pessimistic about it.

As a Qt developer for a Nokia partner, let me chime in here: Putting Qt under the LGPL is awesome news for me! The only way this news could have gotten better is if they had used the BSD or MIT license instead :-)

The business model for Trolltech/Nokia has now shifted from selling licenses to selling professional services. That's where I am. The more commercial software firms there are using Qt, the more demand there is for me. I'm not a pollyanna, and expect some rocky situations as the ecosphere rebalances itself, but in the long term this is awesome news.

LGPL license for Qt will make the situation more similar with the GPL license of the Linux kernel.

A lot of companies develop for Linux as a platform for their commercial applications and/or special needs.

There are hundreds of full time developers of the Linux kernel.

- Will it be a need for paid developers? Yes! Someone needs to get the job done.
- Will it be a need for a commercial support and services company? More than ever. Different users have different needs. They need someone to help them and to develop for their needs.

My guess is that OpenOffice.org and Firefox will be ported to Qt. LGPL Qt will also open up a lot of possibilities for open source Java.

A LGPL Qt version of OpenOffice.org will be a huge step.

I am a Gnome user since the start of Gnome. Why? The Qt license is the major reason. I also agree with the philosophy of the Gnome Desktop. A Gnome desktop integrated with Qt would be great.

you analysis hinges on this point. unfortunately for the analysis, this point is incorrect.

Qt Software will continue to sell commercial licenses and provide professional support. the goal is to actually increase the number of clients, not decrease it to one (Nokia) while ignoring the other users of Qt.

if it was indeed a Nokia-for-itself play, i'd agree with some of what you said.

because the Python bindings have value, as do the testing tools. in fact, with more people using Qt at lower cost, there are going to be more people using Qt and less money taken out of their budget in the process. this means a bigger market with more money per consumer to spend on things like Python bindings or testing tools.

i actually expect the ecosystem of add-ons and professional services to grow as a result.

>Qt Software will continue to sell commercial licenses and provide professional >support. the goal is to actually increase the number of clients, not decrease >it to one (Nokia) while ignoring the other users of Qt.

I hope you are right but I doubt it. The idea that Open Source will support itself by selling services is a mantra we keep repeating. But, we have always overestimated the amount of services people are ready to pay if they have a product for free.

Now that Qt is LGPL, it makes it possible for other companies to offer support. These companies will not bear the cost of developping Qt and will be able to cut the prices. We saw that for Linux distributions. Suse missed the München municipality market, Mandriva missed the French National Assembly because the "serious" distributions were undercut in the tenders by cheap competitors that were just rebranding Debian.

In the corporate world, rarely do suits seem to trust anything free. I just tried convincing two VPs that we should move to Untangle from expensive proprietary network appliances where we are paying for the device, and subscription fees. Even though we are in cost-cutting mode, they just didn't trust someone that was free.

The only version of Linux the suits are happy with is Red Hat, because we pay for support on it, even though we've never once called Red Hat. When I suggested that we could use CentOS for free, immediately people became skeptical.