Qt Webassembly only for commercial?

  • I want to port some part of my Qt Qml C++ code into the browser via webassembly and just read that the necessary 'Configure' tool is only part of Qt Commercial. Is there right now any way to use Qt Webassembly with LGPL?

  • Lifetime Qt Champion


    Where did you read that ?

  • @SGaist Hi, I read it here.
    "To use the tool, you must have a commercial Qt license."

  • Lifetime Qt Champion

    It's the Qt For Device Creation documentation which is a commercial product.

    The Qt For Web Assembly documentation is here.

  • @PowerNow
    That is in Qt for Device Creation. Is that what you are using? How does this relate to webassembly?

  • Qt for WebAssembly is GPL and Commercial licensed. Not LGPL.

  • @SGaist, @JonB : Thxs, I've overlooked this. But the configure tool is commercial? If yes do I have to use the Qt binaries? What's the difference between using the Qt sources and static compling them and using the Qt binaries? Especially regarding the size of qtloader.js and using multithreading which should work partially with Qt 5.15/5.14 and Emscripten 1.39 ? From where do I get them? Do I have to use the Online Installer or are they also part of the Offline Installer?

    @lorn-potter : Thxs. Is the LPGL valid for the C++ or the wasm code?

  • @PowerNow
    The "configure tool" you refer to is for Qt for Device Creation. Assuming you are not using that, ignore it, there is no "configure tool".

    @lorn-potter has brought to your attention that Qt WASM is one of the "special" Qt components which is GPL, not LGPL.

    Assuming you do want to use WASM, you can still use it & Qt as open source/free, but the GPL (unlike LGPL) licence requires in a nutshell that you must supply all of your own projects' source code. If you do not want to do this, you will need to buy a Qt commercial licence. You need to make this decision from the outset. At which point you can then do static linking with commercial if you wish.

  • @JonB : Regarding the configure tool I can't really follow you. As descripted on Qt

    1. Download the Qt Source Files (e.g. via the Qt Online Installer)
    2. "configure -no-warnings-are-errors -xplatform wasm-emscripten -platform win32-g++ -nomake examples -prefix %CD%\qtbase"
      Here you setup via configure the static build and no multi thread
      I assume the configure is maybe downloaded together with the source files?
    3. Build required modules: "make module-qtbase module-qtdeclarative [other modules]"
    4. Build and run your application
      "$ /path/to/qt-wasm/qtbase/bin/qmake
      $ make"

    Regarding LGPL, so there is right now no way to protect the own proprietary C++ code using Qt webassamply? I think it's a shame, because every proprietary code program is suddenly open to everyone. Wasm/Wat is much more difficult to decode than C ++. This way you can also better protect Javascript code.

  • @PowerNow
    You were asked where you got your information for

    just read that the necessary 'Configure' tool is only part of Qt Commercial.

    and you replied that you got it from


    Which we pointed out is not for WASM. If you are now looking at some other configure, I have nothing to say, I'm sure you can read its docs.

    Regarding LGPL, so there is right now no way to protect the own proprietary C++ code using Qt webassamply?

    As stated, Qt WASM is GPL, not LGPL. Not much point debating this, it's up to Qt Company. As also stated, if you want to hide your source code when using WASM buy a commercial licence.

  • @lorn-potter When using the installer qt-unified-linux-x64-4.1.0-online.run, and picking to install the WebAssembly component for Qt 5.15.2 I do not see any mention of it falling under GPL instead of LGPL. I make sure to install only LGPL components. Is this an oversight in the installer ? For all other modules (Qt Charts etc...) there is an explicit warning that the module is under GPL and not LGPL.

Log in to reply