Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Using QtCharts in a MIT software



  • Hi guys!

    I am creating a software that uses QML and QtCharts. All the software I am creating is licensed as MIT. However, it uses QtCharts, which is licensed under GPL (and not LGPL).

    Question: I know both licenses are compatible. However, what kind of cautions should I have when it is completed? I think that I can post my MIT source-code on Internet as MIT, right?


  • Lifetime Qt Champion

    Hi,

    That's a question you should ask to a lawyer.

    Since it's GPL related, you can get advices from the folks of gnu.org.



  • IMHO I would be pretty ticked off to find out software I thought I licensed under MIT was indeed built on top of GPL license software, UNLESS it clearly stated this and the GPL software was optional. I would still most likely cause to steer clear of the library though. MIT embedded in GPL I can see, but GPL embedded in MIT is asking for trouble.



  • It turns out that there is not problem at all!

    The argument is pretty simple: just look at FFmpeg.

    What will happen is: my entire source-code is MIT. If I, or anyone else, create a binary build of my source-code, which will use QtCharts (GPL), then this binary software is under GPL 3 and the redistribution requires to send the source-code.

    On the other hand, someone can take my MIT source, remove all dependency to QtCharts, and build a MIT License binary. Precisely what I need.

    More information here: https://opensource.stackexchange.com/questions/1640/if-im-using-a-gpl-3-library-in-my-project-can-i-license-my-project-under-mit-l?rq=1



  • Doing something like FFmpeg, I add the following LICENSE.md:

    # License
    
    All the source code files of <my software name> are under the MIT "Expat" License. Read the file
    `COPYING.MIT` for details. However, the graphical user interface (GUI) uses the
    QtChart component of Qt to plot the simulation graphics. This component is under
    the GNU General Public License version 3 (GPLv3). Read the file `COPYING.GPLv3`
    for details. Thus, all binary versions built from this source code as is, which
    will be linked against QtChart, will be under the GPLv3.
    

Log in to reply