Why didn’t Nokia change Qt’s licensing model?
Background
Licensing issues have always surrounded Qt. The GNOME project was started partially because at the time, Qt was closed-source and there was a need for a free software desktop. Today, Qt is dual-licensed: GPL and commercial, so KDE is certainly a free software desktop just as GNOME.
However, the GTK/GNOME library stack has one major difference: it is LGPL. Why does this matter?
Commercial development. Now, please don’t get me wrong – I’m a huge fan of free software and the GPL, but there are certain situations where GPL is not an option. A example is an ISV with a flagship free, open source product who wants to sell customizations to businesses. These customizations would likely contain code to access proprietary internal systems, and are just not something this ISV would be able to release to the wider world.
Nokia, Trollltech, and mobile development
After hearing about Nokia’s acquisition of Trolltech, I started thinking about why they bought them, and what their plans are.
My initial thought was (written from Nokia’s point of view):
Wow, the iPhone is a very nice phone – and a very nice software platform, people love writing iPhone applications. Right now, most of our phones are based on Java Mobile or Symbian, which nobody really enjoys. We could try to write our own new platform, but that would take a lot of time… and hey! There’s this thing called Qt which is arguably just as good as Cocoa, and already has a lot of developer support. Let’s buy them and adopt it as our future phone platform, and build a great community of both open source and commercial developers.
Then I realized there’s a serious flaw with this theory: Nokia has maintained Qt’s dual-licensing model as-is.
Qt is now the only mobile phone platform that costs money to develop with.
Sure, Apple and other companies charge a per-release fee to digitally sign your application, make it available for download, etc… but Qt is different. Qt licenses are sold on a per-developer basis. But that’s not the worst part:
You must purchase a Qt Commercial License from Qt Software or from one of its authorized resellers before you start developing commercial software. The Commercial license does not allow the incorporation of code developed with the Open Source Edition of Qt into a commercial product.
Qt is the ONLY framework I can find that forces you to shell out before you have a single line of code written. This completely prevents developers from experimenting, and makes the platform unreachable to individuals and startups. You’re either all in or all out – there’s no middle ground.
Let’s compare that to other mobile platforms:
| Name | Costs |
|---|---|
| iPhone | Free SDK; a one-time $99 developer fee for an unlimited number of applications; 30% of app sales to cover hosting and distribution costs or free distribution and hosting of free applications |
| Windows Mobile | Free SDK |
| Blackberry | Free SDK; You can get your app signed/certified but its not required, and most people dont bother |
| Palm | Free SDK |
| Symbian | Free SDK; $200 per year; $20-$500 signing fee per application release depending on type of application |
| Java ME | Free SDK; Presumably on its way to being open-source along with the rest of java |
| Android | Free/open-source SDK |
| Qt | Unknown per developer cost at start of development. Pricing information is unavailable online, and they’ve been completely ignoring a friend’s sales inquiry. A commercial Qt linux desktop license was around $3,500 earlier this year. |
Note I’m only comparing platforms that anyone to publish software. BREW doesn’t count because you have to form a business deal with the carrier to make apps available (Verizon “Get it now”, etc.). Also please let me know if you have any additional information to add to this table – companies seem to go out of their way to make this information extremely hard to find.
Qt is unique – no other platform works this way. With this sort of pricing structure, Nokia Qt phones will never see the type of developer interest that we’re seeing with the iPhone and Android.
But Nokia certainly knows this, so why not change things? It’s hard to say – maybe they aren’t excited about the cell phone industry becoming more open, maybe they think they can make more money off of a small number of Qt licenses than thousands of developers under the iphone model. And how does Maemo fit into all this?
Qt is a really great toolkit – it’s a real shame to see its potential squandered.
You may have noticed that almost everything here applies beyond the mobile realm too. KDE is the only modern desktop platform out there without a free commercial SDK. I suppose it really is the true free software desktop.
Categorized as Open Source
18 Comments
Trackbacks & Pingbacks
-
Qt to be LGPL! | eric's extremeboredom
[...] A few months ago, I asked the question Why didn’t Nokia change Qt’s licensing model? [...]
This is exactly why I have never given Qt any consideration as a programmer. Even when I used C++ as my primary language, and wanted to do GUI apps for Linux, I didn’t touch it. (I was strongly tempted to do so because GTK+ is really kind of barfulous, but that’s neither here nor there.)
I don’t agree with you. First, you talk about commercial software, which is an inappropiate term for privative software, because you can sell free software if you want, and thus free software is commercial too.
Second, if you want to sell privative software developed with Qt, part of your benefits will go to Qt (3,500$). And I’m ok with that: if you want to use Qt for developing privative software, you’ll at least finance Qt so that open source development can benefit from it in some way. If you can’t afford to this, then sell your software as open source, which is what you should be doing in the first place anyway.
I had written to Qt too for the pricing, and they got back some 3 weeks later and when they did get back, the price was exorbitant.
It looks like the Qt/Nokia people have lost interest in the business side of things.
Qt should be LGPL. Otherwise it prevent lots of developer’s initial work.
GTK+ is rock solid, but someone complains about C API, while gtkmm is not adored by many people.
Gtk# changed everything.
The future should be a world of mono+Gtk#.
Productivity rules all.
I’m sure you would like this post and the table comparing developer costs to be accurate. The $99/$299 per year claim for iPhone is not correct. The one-time fee applies to developer registration, $99 for individuals or firms creating applications for the app store and $299 for enterprises creating internal applications *only*. You can verify this yourself at http://developer.apple.com/iphone/program/apply.html.
This fee is not for hosting, but is primarily for issuing an unlimited number of certificates that can be used to deploy applications. The 30% fee on sales is intended to cover the cost of hosting. However, free applications are exempt from any fee.
Please correct your post. It should state something like: “Free SDK; a one-time $99 developer fee for an unlimited number of applications; 30% of app sales to cover hosting and distribution costs; free distribution and hosting of free applications”
I have a prediction:
Nokia will relax the license for those writing applications for its phones, but it will cost a license fee for those writing applications for other phones (Qt Extended is multiplatform and it wokrs on plenty of phones).
The desktop license will remain the same, since Qt must but self sustaining for Nokia.
Ronald: Thanks for the information, I’ve updated the post.
Eduardo: Your first criticism seems to be about terminology. When I say “commercial software” I mean non-open-source.
Second, you’re forgetting a very important part of the GPL: If you write a GPL application, you can’t write non-GPL plugins for it. So this means that in order to have the ability to write “private” plugins down the road, you have to buy a Qt license right away so you have the option to dual-license the application.
Swaroop: Do you have more up to date pricing information than what’s on the forum post I linked to? I’m very curious.
And Eduardo I should have added:
If you could develop an open-source application for free and then buy a license when you knew you had a solid business plan, and customers lined up at the door I think the current pricing might be fine. I have no problem funding the development of Qt. I certainly think Qt is worth money.
However, since you have to buy it in advance, it’s just too expensive for independent developers and small businesses. You can’t even get something started.
You forgot about Brew which has a similar model to QT. You also have VXWorks, Nucleus (super cheapo cell phones), and a bunch of other RTOSs :-)
fwiw, we got a replacement for qt in the pipes. Just waiting for more people to be angry enought of both Qts license and GTKs unproductiveness.
with the current speed i expect something to get public around end of 2009
Man, by your reasoning, you could come to the “conclusion” that Qt is not widely used in closed-source software… which is very far from the reality!
The fact is that, if you do closed-source software, but can’t afford to pay, say, 3000$ per developer per year, then something is completely wrong in your business! Paying this licensing fee increases your overall development costs by at most, say, 3%. The advantages of using Qt outweigh that by an order of magnitude.
This is why companies doing closed-source software aren’t scared away by Qt’s licensing model.
As to individuals/startups using Qt for pay-for-license software, it makes the most sense for them to adopt the same dual-licensing model that Qt does. This gets them the advantages of both worlds, and allows them to start coding without having a commercial Qt license (they just start initially as, say, GPL, and then add the dual-licensing).
This is for example how PyQt (the Qt Python bindings) are being successfully developed.
FireRabbit:
It also seems that you didn’t know that Qt’s free(GPL) edition comes with an exception to the GPL allowing most other Free licenses (BSD, etc…)
See here:
http://doc.trolltech.com/main-snapshot/license-gpl-exceptions.html
Benoit Jacob:
Did you even read my post? YOU CANNOT START WRITING A GPL QT APPLICATION THEN SWITCH TO DUAL LICENSING LATER! THIS IS MY WHOLE POINT!
And actually, I did know about the exceptions. I don’t see how it changes anything.
Zac: Actually, if you had actually read my post, you would have seen that I did mention BREW. By name. Exactly.
C’mon people!
We’re working on a replacement for Qt, becouse we bumped into a licensing issue with nokia ourselfs. Expect an alpha version end of 2009. unfortunatly out team is small and investors euqal zero, becouse C++ is considered a dead market.
i have no clue why i posted twice. can you please remove this and the previous comment? thanks.