Making Qt Systems Comply To LGPL Version 3

Many companies shy away from using Qt under the “difficult and dangerous” LGPLv3. Instead, they pay per-developer and per-unit fees every year. Is this a good decision? It depends. I’ll explain step by step how to comply to LGPLv3 and discuss when to use Qt under LGPLv3 and when Qt Commercial.

The hardest and most instructive cases for LGPLv3 compliance are Qt embedded systems. A Qt embedded system typically runs one or more Qt applications on a Linux system custom-built with Yocto. It consists of hundreds of packages under dozens of different licenses like GPL, LGPL, MIT, BSD and Commercial, which come in different variants. You must ensure that all these packages comply with their licenses. The Qt libraries are just a fraction of these packages. However, they come under a complicated FOSS license: LGPLv3.

Fully understanding the obligations of LGPLv3 is essential in deciding whether to use Qt under LGPLv3 or Qt Commercial. That’s why I’ll give a step-by-step guide for LGPLv3 compliance in the first part of my talk. Yocto and tools like Fossology make your life easier. In the second part, I’ll discuss the pros and cons of each license type with respect to cost, features and anti-tivoisation.

Once you understand (L)GPLv3 compliance for Qt embedded systems, compliance for other systems like desktops and phones becomes easy.