DEMKO.CA

Qt goes LGPL! (part two)

Aleksander Demko, June, 2015

Background

I celebrated when, almost seven years ago, Troll Tech licensed the venerable Qt library under the LGPLv2. This meant that you could use this library without having to get a costly commercial license, greatly expanding its usability and use.

However, many things have happened since then. Nokia bought Troll Tech and did this as a way to try to increase developers on their mobile platforms. To Nokia, sacrificing the commercial Qt license income was nothing compared to their phone sales and thus the trade off made sense. However, Nokia proceed to make some epic mistakes in the mobile world. The first was having Symbian, a visually stagnant operating system with a terrible programming interface, a non-unified app store and poor touch support. The second was hiring Stephen Elop, a Microsoft trojan horse of sorts that proceeded to hitch the struggling Nokia not to Android, the dominant mobile operating system but rather to Microsoft's mobile operating system with its negligible market share.

Unsurprisingly, the company failed spectacularly and Elop delivered its shattered remains to Microsoft to buy up for cheap. Microsoft then proceeded to layoff many of the staff and now uses what's left as a launch platform for what remains of their mobile OS strategy. Somewhere along the way the Qt part of Nokia was sold off to a small company called Digia, which is where it remains today.

Now Digia, lacking a larger revenue stream from which to subsidize Qt development needed Qt to be profitable by itself. It inherited the LGPLv2 situation from Nokia, and for the 4.x series of Qt it continued to release them under that license, even though it sacrificed commercial license sales

Enter Digia, Qt 5.x and mobile

For the Qt 5.x release cycle things get a little murky. 5.x added some new features the most notable of which is support for mobile platforms such as Android and iOS. Wow, you think to yourself, a free modern toolkit that can work on all the desktop and mobile platforms.

The web page says it's all open source. That's a broad question though, so it'd actually simpler and more direct to ask a more specific one:

Can one use the open source licensed Qt to write any type of Android applications and sell them on Google Play app store?

This should be a straightforward to answer. However, you won't find the answer anywhere on Digia's site. Instead, you'll find:

Having said all this, please note that my critique us really just about the messaging:

No. I'd don't think you use it to write mobile apps.

This is my personal opinion/answer on the matter, deduced both from the tone of Digia's messaging and my understanding of the licensees involved. My reasoning goes like this:

Is the sunning setting on the GPL licenses?

There seems to be a general trend going on in industry as a whole. The GPL ("copyleft") family of licenses seem to be on the decline and the more permissive (eg MIT) seem to be on the rise. Some reasons for this could include:

Ending Thoughts

As a programmer, I now prefer non-GPL open source licenses (like MIT) for both for my own software and for software I use. If a library is LGPLv2 I'll use it, but I stay clear of libraries with any of the other GPL variants (especially the v3 ones). As a user I'm not so particular.

I wish Ubuntu or Google would just buy the Qt code base and release it under a uniform license. Some motivations on why they should do this would fill another blog post.

For now I guess I'll stick with platform specific SDKs for mobile UI development, and generally treat UI code as throw away. The platforms are still young and rapidly changing, so who knows what will happen in the future.