How to allow private modifications when using Qt in a commercial product under LGPL

I am considering creating a closed source application that dynamically links to Qt libraries. Target platforms will be Linux and Windows. To fulfill LGPL obligations:

"The user of your application should be able to re-link your application with a different or modified version of the Qt library" ( Qt faq ).

I am struggling to understand what is technically necessary to make this possible. Especially if you do not free the source code.

  • Under what conditions can a user simply replace the .so / .dll files supplied with the application with their own modified versions?

  • Is this even possible? Since the same libstdc ++ faq question says:

    LGPL requires that users can replace the LGPL code with a modified version; it is trivial if the library in question is a common C library. But there is no way to do this work with C ++, where most of the library consists of built-in functions and templates that extend inside the code that uses the library. So that people can replace the library code, someone using the library would have to distribute their own source, providing the LGPL equivalent to the GPL.

Thanks!

Edit: The second problem is explained by LGPL version 3 , section 3. Useful link: a old version of Eigen Frequently asked questions about this problem and their relevance to the FSF about it.

+5
source share
1 answer

In practice, people usually connect to a common Qt library; so a small upgrade to Qt - as long as some regular APIs remain, maybe. An advanced user can, in principle, adapt the Qt library (starting from the source code of the version you are using) according to his needs (for example, fix a naughty error, in particular, without touching any Qt header file). Of course, give all the details to help him (at least mention exactly the version of Qt that you link to).

In principle, as you have noticed, this may not be enough. Only the court and judge can really decide, so ask your lawyer .

Of course I'm not a lawyer.

By the way, have you thought about asking your manager or client (or legally responsible person) to release your code as free software and publish it (for example, under GPLv3 + on github )? In my biased opinion, this would be the best solution!

+1
source

All Articles