Licensing Headaches, with Qt creator and Compilers?



  • Hi, so im fairly new to Qt and Qt Creator, been doing c++ for years but just as a hobby etc, i finally got fed up of visual studio and wanted to be able to code things for other platforms. Qt seems like a very good fit and i very much like the Qt creator IDE and the Designer.

    • Can i use the opensource version of Qt Creator under the LGPL to make closed source software and sell it, as long as the Qt libraries are dynamically linked?

    • If i use MinGW is anything i compile with it then restricted to the GPL, meaning i can sell the software but have to make the code available to the user upon request?

    • If i use MSVC then i will have to have visual studio installed and then im also restricted to windows, is there another option (e.g. CLang/LLVM)?

    • If i use LLVM (not tried it yet but seems promising), will i have to compile Qt Creator, and the Qt framework with CLang(++) in order to then compile my Qt projects with CLang?

    I've spent the past few days trying to work out the best method to do this, if i use CLang/LLVM it has the bonus in that it can run across all platforms, with this i don't mean to cross compile (although can it be done?) but i mean in terms of, i can then use the same setup of Qt creator/framework as well as the same compiler, meaning i then don't for instance use MSVC for windows and gcc for linux but can use LLVM for both.

    I'm not looking for legal advise and i totally understand that any response is going to be opinion based/interpretative and its my responsibility at the end of the day to ensure what im doing is correct. I'm just looking for some clear definitions that i can understand, im not looking to sell the software for huge amounts of money more donation based being an Individual developer, but would prefer to fully understand and get a work flow setup so i can decided what i want to do when i have completed a project.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    1. Qt Creator is just the IDE, AFAIK, it's not concerned by what version of Qt you currently use to build your software
    2. Following MinGW's faq it doesn't seem so (again, you can't link against GPL modules in that case)
    3. Yes you have to install MSVC. What do you mean by restricted to Windows ?
      IIRC, there's a clang port for windows in the making.
    4. No Qt Creator is really just an IDE, you can use it to build your projects with MSVC, MinGW, Android's compilers etc.

    You can use MinGW to cross-compile from Linux to Windows. There's no cross-compiler for OS X. In any case, you don't need to focus that hard on the compiler. You should rather look what libraries you need outside Qt if any and for which compiler they are available.

    Hope it helps


  • Moderators

    Hi,

    @wolfgang959 said:

    • Can i use the opensource version of Qt Creator under the LGPL to make closed source software and sell it, as long as the Qt libraries are dynamically linked?

    I presume you mean the LGPL version of Qt (the libraries), not Qt Creator (the IDE)? The Qt Company is happy with what you have described: http://www.qt.io/faq/

    "The LGPL allows you to keep the source code of your application private as long as it is “work that uses” the library. Dynamic linking is usually recommended here."

    Note: Nobody really knows the legal answer to this question from a broad LGPL point of view, because this has never been dealt with by the courts before.

    • If i use MinGW is anything i compile with it then restricted to the GPL

    No. The tools are GPL, but your code doesn't have to be GPL.

    • If i use LLVM (not tried it yet but seems promising), will i have to compile Qt Creator, and the Qt framework with CLang(++) in order to then compile my Qt projects with CLang?
    • You don't have to compile Qt Creator.
    • You might have to compile Qt... I'm not sure, but I think the GCC version of Qt is compatible with clang.

    i can then use the same setup of Qt creator/framework as well as the same compiler, meaning i then don't for instance use MSVC for windows and gcc for linux but can use LLVM for both.

    Frankly, this has zero impact on my development workflow. I use MSVC on Windows and GCC on Linux, but my code can be shared between the two machines without any modifications, and the way I use Qt Creator is exactly the same on both machines.



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.