Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Licensing, clarification?



  • Sorry if this is in the wrong forum. Can someone please clarify as I'm no legal expert in simple terms when is a license required?

    I'm asking because I've been at several corporations where Qt is used and when asked the answers are never clear. I think that most believe they do not require a license unless they statically link with the Qt libraries.

    My own feeling is that if the product is being sold and the source code is private then a license is required...I'm told that this isn't the case and that a license is only require if the application is statically linked with the Qt libraries.



  • @SPlatten said in Licensing, clarification?:

    My own feeling is that if the product is being sold and the source code is private then a license is required

    Incorrect

    https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3)



  • This post is deleted!


  • @SPlatten
    Apart from what @VRonin has pointed out, I used to think that static linking automatically implied need license, but in fact that is not correct. However, there is no point discussing that further if you can use dynamic linking in any case....



  • @SPlatten said in Licensing, clarification?:

    Thank you, I was looking for a plain english response, I am more than capable of using Google to find the legal stuff myself.

    Well, to be fair, @VRonin was trying to helpfully draw your attention to the fact LGPL most certainly does not imply a product being sold with private source code requires a license. You can use LGPL Qt while keeping your own code private and sell your work quite happily.



  • I realise my post is not great but unfortunately Qt removed the helpful comparison table between (L)GPL and commercial they had on their website.

    I notified of the missing feature here: https://forum.qt.io/topic/108603/licensing-page-broken-link if they put it back up that's a great reference of what you can and can't do



  • @VRonin said in Licensing, clarification?:

    unfortunately Qt removed the helpful comparison table between (L)GPL and commercial they had on their website.

    Very interesting. I wonder why they did that? ;)



  • Thank you, I think in at least one previous position they decided to go commercial license just to avoid and later legal issues and to be fair it was a company providing solutions for military purposes so money was not an issue.


  • Lifetime Qt Champion

    @SPlatten You need to clarify whether you can fulfil LGPLv3 or not (I assume you only link dynamically). If you can you can use open source version if not you need commercial license. In both cases you can use own license for your software.



  • I'm employed as a contract software developer writing software for the company I am contracted to at there premises using they're hardware and tools.

    I have no idea if they have a Qt license or not, my post came out of an internal conversation with another developer who is employed by the company and I wanted to get clarification.

    To be honest I'm still unsure, the developer I spoke to was saying that a license is not required for them because although there product is a commercial product it does not require a license because they link with DLL's and not statically.


  • Lifetime Qt Champion

    @SPlatten Dynamically linking only requires conformance with LGPLv3, if this is OK for the company then no commercial license is needed. And it's the company who should make sure they don't violate LGPLv3 :-) Or did you suggest to use Qt?



  • I had nothing to do with the decision to use Qt, however I am curious and keen to understand how and what a company has to do to require or not require a license.


  • Moderators

    In short LGPL version requires you to provide to the user of your app ability to replace the version of Qt you used with their own. It does not specify whether linking needs to be static or dynamic. This is just a practical result of the way linking works.

    You could (in theory) use static linking, provided you also create some sort of tool or at least a guide that would let users "patch" your app with their own version of Qt. Of course this is completely impractical and a project of its own, so it's just reasonable to use dynamic linking and simply let user replace the library files. Another problem with static linking, apart from technical details, is that modifying your app's binary could easily break the licensing scheme that that binary is distributed under.

    As an interesting side note - The problem with using library headers is that some of that code gets inlined into your own app and thus makes replacing it difficult if not impossible. LGPL v3 explicitly allows this where LGPL v2.1 didn't, thus Qt adds this specific exception to the LGPL v2.1 version.



  • It should be noted that not all of Qt is LGPL. Some pieces are GPL, but those are clearly marked as such when you use the installer.

    @SPlatten as a software developer it would be in your interest to more fully understand the various licenses used for open source. I felt as a developer I should be aware of this to keep myself and my employers out of trouble.


  • Moderators

    @VRonin said in Licensing, clarification?:

    unfortunately Qt removed the helpful comparison table between (L)GPL and commercial they had on their website.

    You can see an archived copy at https://web.archive.org/web/20190825123222/https://www.qt.io/download


Log in to reply