Important: Please read the Qt Code of Conduct -

problem in LGPL and GPL licensing

  • my app is licensed in GPLv2 .
    and i am willing to add some file that are licensed in LGPL .
    the author gives me permission to include those file in my app.

    but problem is
    1 if i include those ,is my app license will be count as LGPL or GPL.
    2 could i just include the licensing information on top of those file.
    3 .soulde i also include another LGPL license in that folder where those files are.

  • Lifetime Qt Champion

    @saber: I'm not a lawyer and I have few experience with such things.

    But I can tell you what I would do:

    1. Add a license header to every file
    2. Keep all third party code below a "3rdparty" directory
    3. Of course don't mix several third party libraries in one directory, keep them separated
    4. For every third party library, keep a separate license text file describing the license and maybe providing a link from where you got that library.
    5. In your main program, state your licence and then add a chapter like: "This software contains third party code: Lib A (BSD), Lib B (GPL), Lib C (LGPL) ..."

    But as said, this is no legal advise.

  • @aha_1980
    i am doing as you told(most of it)

    but i am facing a big problem.

    that library that i am talking , there is another library named same in Linux(arch) .
    so when i add it and build it and then install it , it dose not call the library that i included ,rather it calls the other library that named .

    Do i have the permission to change the name and some code in LGPL licensed app ?? i will include it the way you shown .

    here is how i included in my app COREBOX

    please help me

  • Lifetime Qt Champion

    As long as you keep the changes open source, i see no issues.
    Also the is a product of your compile so you are allowed to rename it. ( the binary output)

    BUT! cant u use the system version ?
    Its critical to have your own ?

  • @saber
    On Linux, you can set the application's rpath to give it a default search path for libraries, so that it will find yours first. (You can google rpath to find the right compiler flags to set. It's a more interesting topic than fits in one forum comment.) You can also ship a bash script that is a wrapper for your application that sets the LD_LIBRARY_PATH environment variable before it runs your app. This accomplishes a similar thing in a different way -- it tells the dynamic linker to look first in the path in that environment variable when looking for libraries, so it will find yours first. The configure functionality for the library you are building may also support a feature for easily changing the name of the compiled library, and you can just link to that name instead. If not, you can just rename it in your build scripts before you try to link to it. The library won't care if it is called or when you try to link to it.

    You can definitely make changes to an LGPL library - (Yay, open source) - you just have to make the changes available under the LGPL to comply with the license. Your modified version of the library is mostly made of code you didn't write, and you can't change the license terms on that code. Only the people who own it can. (So you can't say "my version of this library is the full GPL, but the original version was LGPL.") But maintaining forked version just to avoid an issue of the binary having a certain name seems like a lot of work.

  • @wrosecrans @mrjj
    i trying to keep it simple.i also don't want the mess .

    i think i am not doing the right way to include a lib.
    after install i set no pathe to put the lib in.

    can you please cheack the qmake's to see if i am doing right.

Log in to reply