A few questions about the LGPL license



  • Hi. I am about to complete my first project with Qt. So happy that I used it -- a great program!

    I need some advice with regard to the license, as I am getting confused with what exactly I should do. If I have created an application that will be paid, what requirements do I need to comply with? First, I understand that all libraries should be linked dynamically. This is clear.

    LGPL says: "To apply these terms, attach the following notices to the library." And then it says: "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version." Well that is the point, what if it is not free software?

    Then it says: " You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." How would the user have received a copy of the LGPL? Do I need to distribute it separately?

    Then I have a question about what must be included in the source code. Do I include only the small part found at the end of the license (starting with "<one line to give the library's name and a brief idea of what it does.>" Or do I include the whole text of the license?

    Lastly, I have my own License notice in the application. How do I properly incorporate the Qt's license into it? Should I add Qt license text to my text? Again, do I add the small part or the whole license?

    Thank you for your help. Sorry, I am not a lawyer!


  • Moderators

    I'm not a lawyer either, so keep that in mind, but here are my 3 cents :)

    "This library is free software..." part is about Qt libraries, not your app (the executable). That's why you need to keep things separated when using LGPL Qt. It basically means that if someone wants to, he/she should be able to take Qt library from your app (the dll or whatever) and use it in his own work. Again, this says nothing about your app, your libraries or how you use Qt inside them. They can still be paid for and closed-sourced. You also don't have to include the LGPL (or any other) license in your code if you don't plan to open-soure that. Of course if you do you can just point the reader to a readme file that contains the whole text.

    As for the licensing. What some apps often do and I kinda like is a separate "license" entry in the about dialog. You can split it into sections - license of this app, license of 3rd party lib 1, license of the 3rd party lib 2 etc. But access to the license from within the app is not mandatory.

    Since user should be able to read the license without starting your paid app you can put these licenses in some readme or licenses file and distribute alongside your executables and libs. To keep things simple you can load that same file into your about dialog.

    The full text of licenses (in particular the LGPL) should be included. It doesn't matter if the different licenses are in one or separate files as long as they're clearly distinguishable (like html formatted) and it's stated which license is for which part of your package.

    So this would be a sort of pseudo-template:
    This software is distributed under X license. It also contains 3rd party libraries under these licenses: lib1 - LGPL, lib2 - Some other license, ...
    Text of license X:
    ...
    Text of LGPL:
    ...
    Text of some other license:
    ...

    Also keep in mind that LGPL says that anyone should be able to get a copy of source code for the LGPL library from you, so you can either link to some place this can be freely obtained from or (as I've seen some apps do) state that a user can send you a blank CD with return address and you will send it to him/her. Don't worry, I can't imagine anybody would actually do that :)



  • Thanks, very helpful!



  • A few useful links about Qt licencing under LGPL:



  • leon.anavi. Thank you, this is where I started, but it was a bit confusing, especially with regarding to the clause that "Source code must be provided". It was not clear whether I have to provide my whole source code, which I do not want to do, or just include the Qt cpp and header files, and that would satisfy the requirement of sharing the source code.

    So, based on what Chris said and what I have read in the provided links, my plan is to include in the License Agreement the following text: "This application has been developed using the following libraries.... The source code for these libraries can be obtained here: [LINK. Hm, Is there a good link for the source codes?] Please read below the License Agreement pertaining to these libraries. [a copy of LGPL]." By the way, I also planned to include some boost libraries. I will do the same for those.

    Do you think this would suffice? Anyone from Digia reading this.

    Many thanks to all of you!


Log in to reply
 

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