Tuesday, 28 April 2009

Oh Qt, you almost had me sold

The past week and a bit, I've been getting to know more about the Qt cross platform toolkit. It's one of those software toolkits that looks like the total package. At first glance, it seems to have all the attributes I was after:
  • Multi-platform
  • High-performance
  • Rich set of features
  • Excellent documentation
  • Powerful IDE
It is one of those C++ libraries that would make we want to seriously relearn C++ :-) (I haven't really used C++ since my University days, ie. 5 years ago!)

I was about to possibly consider using this toolkit for one or more of my company's future commerical software projects, because it seems to have ticked all the right boxes...

... until I saw this legal disclaimer:
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 Qt GNU LGPL v. 2.1 or GNU GPL v. 3.0 license versions into a commercial product.
IANAL, but as a Qt newbie, this is an absolute bummer. It means if I used the Open Source edition for evaluation purposes, as a testbed for ideas and concepts (because we can't just dive in head first without testing the waters), they are forever bound under the Open Source licensing terms. I'm aware a 30-day commercial evaluation license exists, but in my line of work, 30 days flies by real quickly.

While I'm all for Open Source software, this is really disappointing in my company's interests. If I was to use Qt in my company, I would want to use it under the commercial license for peace of mind (even though LGPL would probably be safe enough). To me, that statement reads more like:
If you decide to purchase a Qt commercial license, you better damn well know what you're going to do with it.
Operating essentially as a "one-man band" developer in my company, it's quite hard to justify a purchase of a commerical license to "learn" this toolkit which at the end of the day, may not do what I was originally hoping it would do. It is even harder in this economic climate (It's cliché I know).

This would be like saying, if you use MapGuide Open Source to serve your maps and spatial data, you can't upscale to MapGuide Enterprise (or even Topobase) in the future. Others may not think this is the most suitable analogy :-)

I may have come off as ranting a bit, but I'm not really. I guess I'll have to shelve my plans for using Qt in my company for now (or convince them it is safe to use LGPL libraries). Maybe I'll come back in a year or two, when I'm no longer a Qt newbie and can dive into development straight away.

But for my future personal projects? I'm still waiting for Qt to finish compiling.


Aron said...

You can also develop commercial software using our LGPL licensed version of Qt. You just have to abide by the terms of the LGPL.

deviceguy said...

Then just get an evaluation package with evaluation license and evaluate it that way.

Mateusz Loskot said...

deviceguy, that sounds like a clever idea :-) Have you tested it in real life? Any miles long lines of lawyers in front of your house?