Depuis les débuts de Qt, il y a une vingtaine d’années, l’édition libre existe. Elle fut d’abord limitée aux plateformes UNIX et X11, puis s’est progressivement ouverte, notamment pour Windows et divers systèmes embarqués. De même, la licence a évolué : depuis une licence non standard, de plus en plus libre avec les versions (qui se souvient de la QPL ?), Qt 4 est passé à la GPL 2, ce qui a eu pour effet d’éliminer les conflits juridiques qui empêchaient d’utiliser Qt dans une application GPL, avec une mise à jour vers la GPL 3 dès sa diffusion par la FSF. L’une des principales fonctionnalités de ces licences est d’imposer que les logiciels dérivés (soit tout utilisateur) publient leur code source sous la même licence (« licence virale »). En 2009, Qt 4.5 devient disponible sous la LGPL 2.1 : la licence commerciale n’est plus requise pour un développement fermé, la LGPL n’impose plus la licence sur les produits dérivés.
Cependant, cette version de la LGPL n’est pas parfaite : on peut lui reprocher de n’être pas assez claire au sujet des modifications de la bibliothèque, Qt en l’occurrence. Ainsi, bien qu’en violation totale de l’esprit de la licence, certains constructeurs interdisent l’installation de versions modifiées de la bibliothèque sur leurs appareils. La FSF a corrigé cette faille dans la LGPL 3, qui formalise de manière juridique l’intention première, ce qui protège mieux la liberté des utilisateurs. C’est pour cette raison que Digia proposera Qt 5.4 également sous licence LGPL 3, en plus de la LGPL 2.1 et de la licence commerciale.
Nouveaux modules
Cependant, certains modules de Qt ne seront disponibles qu’en LGPL 3 et sous une licence commerciale, comme le nouveau Qt WebEngine (pour l’édition libre). D’autres nouveaux modules pourront être libérés (alors que Digia ne les prévoyait que dans l’édition commerciale !), comme Qt Canvas3D (support complet de WebGL à l’intérieur de Qt Quick) ou Qt WebView (intégration assez légère du moteur de rendu Web natif dans Qt, actuellement uniquement pour Android). De même, le style Android pour les Qt Quick Controls sera disponible : il posait problème avec la LGPL 2, puisqu’il utilise des composants sous licence Apache 2.0, une licence incompatible, mais pourra être intégré grâce à la LPGL 3.
Impact sur les utilisateurs de Qt
Tous ceux qui utilisaient Qt sous la licence GPL 3 n’auront aucun souci à se faire, étant donné la compatibilité avec la LGPL 3. Tous les modules de Qt 5.3 seront toujours disponibles sous LGPL 2.1, ce qui ne posera aucun problème. Par contre, si vous mettez à jour vers Qt 5.4 et utilisez l’un des nouveaux modules disponibles uniquement en LGPL 3, vous devrez vous plier aux exigences de la nouvelle version.
Impact sur KDE
Lors du lancement du projet KDE, un environnement de bureau libre entièrement basé sur Qt, un accord juridique a été établi entre Trolltech (qui développait Qt) et KDE e.V. (l’entité légale derrière KDE), afin de s’assurer que Qt reste toujours disponible sous une licence libre : l’idée est que, si le projet quittait la scène du libre, le code puisse toujours évoluer, sans remettre en question KDE (cette utilisation d’une bibliothèque pas entièrement libre a été un frein à son adoption à la fin des années 1990). Cet accord est géré par la KDE Free Qt Foundation, administrée tant par KDE e.V. que par Digia.
Ce changement de licence est une occasion d’améliorer le contrat liant ces deux entités. Notamment, toutes les plateformes, mobiles ou non, y sont intégrées (soit Windows, OS X, iOS, Windows RT, actuellement). Également, la fondation reçoit les droits sur toutes les contributions au Qt Project.
Voir aussi les textes de licence : GPL 3, LGPL 3.
Sources : Adding LGPL v3 to Qt, Protecting Software Freedom – the Qt License Update