Please nominate your Qt Champions for 2021! https://forum.qt.io/topic/132134/looking-for-the-2021-qt-champions

Difference Between Commercial Static Build and Open-Source Static Build



  • My company wants to distribute a statically built executable, so my understanding is that we need a commercial license. Before we got the license, I built a static Qt with the "open-source" option and then was able to create a static build of my application. Now I've received the commercial license and have built a commercial static Qt from the same source as above. It also works and creates a static build of my application. My question is: what's the difference? Are both executables exactly the same? If so, then I guess the license is just giving me legal protection?

    Just curious more than anything else... Thanks!


  • Moderators

    @SlyPig said in Difference Between Commercial Static Build and Open-Source Static Build:

    My question is: what's the difference? Are both executables exactly the same?

    Yes they are the same. I think commercial license injects some "fingerprint" into the libs to make them distinct, but other than that the code is the same.

    If so, then I guess the license is just giving me legal protection?

    If you break LGPL or GPL licenses, you are breaking the copyright law (if it applies in your country of course). It's not only about legal protection, it's also about being a thief vs. not being a thief :)


  • Lifetime Qt Champion

    Hi,

    WARNING: I am not a lawyer

    @sierdzio said in Difference Between Commercial Static Build and Open-Source Static Build:

    If you break LGPL or GPL licenses, you are breaking the copyright law (if it applies in your country of course). It's not only about legal protection, it's also about being a thief vs. not being a thief :)

    License and copyright are two distinct issues even if somehow related.

    Technically speaking you can provide an application using your LGPL statically compiled version of Qt but you have to abide the LGPL restrictions. One of which states that your application users/customers shall be able to replace your version of Qt by another one. This means that you have to provide the build artefacts for your application to them so they can link to whatever versions of Qt they want. In practice, this is so unpractical that people don't even bother with static builds of any library under LGPL.

    Another constraint is that if you modified Qt, you have to publish the patches you used and you have to provide a mean in your application for your users to see all dependencies LPGL/GPL dependencies. With Qt you have an aboutQt slot that shows a message box with all relevant informations.

    With the commercial license you don't have these constraints with regards to Qt.

    Note that I may have missed some points.

    As for the difference in builds, AFAIK, there are none if you use the same switches.



  • Thank you both for your answers. Sounds like the executables are the same, so if somebody wants to see source code, I can't say "no, the executable was built with a Qt license" because I can't prove it that way. I'll have to show them that I have an actual license file. I guess that's what I meant by "If so, then I guess the license is just giving me legal protection?" meaning I don't have to legally give them anything.


Log in to reply