Unsolved Qt webassembly license issues with LGPL V3
-
Hi all,
I was wondering if it's legal to use Qt under the LGPL V3 via webassembly in an commercial application.
If I want to use Qt in my commercial application via LGPL V3 it's totally fine if I use dynamic dlls. But with webassembly (one big file) is there a way to seperate the qt code frome mine so I can comply with the LGPL?
https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3)
http://blog.qt.io/blog/2018/05/22/qt-for-webassembly/ -
I know too little about web assembly to answer, but I'll raise a question that might help you: is it possible to ship some blob (like a precompiled webassembly code) that users could then add Qt to on their side? Not to run it in browser, but to recreate the server side? If it is possible, then LGPL is not broken.
How FSF sees running C++ code in a browser - no idea.
-
Thanks for the quick answer. If Qt for webassembly would be split up into modules (https://webassembly.org/docs/modules/) maybe then users could just swap them (like the dynamic libraries on the desktop) . Then commercial use under the LGPL V3 would be legal....
-
Feel free to recommend splitting it into modules to Qt devs.
However, just to reiterate: I don't think Web users of your app are bound by GPL/LGPL. Same as they are not bound by licenses of Apache, nginx, Django etc.
Your users in this case are people who run your server - so most probably you. That in turn means that you can keep your code under LGPL license while also not share it to anybody.
One thing more to consider: I don't know if what I wrote above in any way correct ;-) Best ask a lawyer.
-
Well the server is only there to statically serve the webassembly content. Then the user downloads and executes the webassemlby on their machine, so nothing is executed on the server :)
-
Ah right, my answer would better serve the remote execution plugin, not webassembly :D I stand corrected, then.
-
So I found this issue: https://bugreports.qt.io/browse/QTBUG-63925 (webassembly: dynamic linking and dlopen). I guess this would allow to use Qt under the LGPLV3 in commercial products :D
-