Important: Please read the Qt Code of Conduct -

Would like to use Qt, but am having a license-related predicament

  • While I do enjoy using Qt and applaud the addition of LGPL as a licensing option, I'm rather troubled by the clause Digia adds to it, regarding the need to open source if my program uses more than 5% of Qt. At least, that's what I'm interpreting from it.

    I do regularly open source my work, but sometimes I'd prefer sharing something closed source, most likely free, with donations encouraged. Is there a way I could make some things of mine closed source without having to open my wallet and still avoid any legal action from Digia?

  • Moderators


    [quote author="schala" date="1403395435"]I'm rather troubled by the clause Digia adds to it, regarding the need to open source if my program uses more than 5% of Qt.[/quote]Where did you see this, and how did you reach that conclusion?

    The common interpretation is that LGPL libraries can be linked to closed-source applications, no problem. (This has not been tested in court though)

  • Moderators

    Where did you get the idea about use of "5% of Qt" from? The Qt LGPL addon works precisely the other way: it allows you not to publish the source code if your changes to Qt itself are minimal. Source.

  • Sorry, here's where I read it, at the bottom:

    @Digia Qt LGPL Exception version 1.1

    As a special exception to the GNU Lesser General Public License version 2.1, the object code form of a "work that uses the Library" may incorporate material from a header file that is part of the Library. You may distribute such object code under terms of your choice, provided that the incorporated material (i) does not exceed more than 5% of the total size of the Library; and (ii) is limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates.@

  • Moderators

    wow, I did not know about it! You are right, this sounds really scary! Although I have never heard it being used agains anybody, throughout the years.

    Header size compared to source size is small. Plus, this says about distributing object files, not executables.

  • I just hope your earlier interpretation was the right meaning and that Digia/Nokia's lawyers just didn't word it correctly.

  • Moderators

    I should have given my source: "link":

    This is from a file distributed with all copies of Qt source code. Amazingly, the LGPL license text distributed with Qt does not include the Digia exception you have linked to in your previous post. Which is baffling. Right now I am really confused. I think this is a bug of some sort, maybe in the documentation.

    I will ask on the dev mailing list.

  • I recently had to dig deep for that link I provided as opposed to before.

  • Moderators

    I've posted the question, you can follow the discussion (if there will be any) here: "link":

    I will update this thread if anything new springs up.

  • Appreciated

  • Moderators

    Wow, this is quite a find. I think it is an oversight from the legal/documentation team.

    Thank you schala for bringing this up, and thank you sierdzio for researching and escalating this to the dev mailing list.

  • Moderators

    According to Thiago (maintainer of QtCore), the one that is found in source code should be followed. See the dev mailing list thread.

  • Yep, I noticed. Thanks again! Been excitedly coding away since reading that.

  • Moderators

    For the record, I will quote Thiago's answer here:
    [quote]An exception cannot restrict the rights. Both expand: both are granting you
    the right to distribute binaries that incorporate a certain amount of code
    from Qt into the binary. That is necessary due to the nature of inline and
    template functions -- most C++-based projects carry an LGPL exception like

    In any case, the one in the source code is the valid one.[/quote]

    Hope he does not mind. Mailing lists are public anyway. Source: "link":

Log in to reply