Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. LGPL Static Linking
Qt 6.11 is out! See what's new in the release blog

LGPL Static Linking

Scheduled Pinned Locked Moved General and Desktop
2 Posts 2 Posters 4.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    learc83
    wrote on last edited by
    #1

    After reading up on the LGPL license it seems that I'm probably OK releasing statically linked executables as long as I include a way for end users to change/update the Qt libraries the library uses. [1]

    I've heard talk about releasing object files so end users can recompile, but what about just releasing 2 versions of an executable-- One that is statically linked and one that is dynamically linked. That way anyone who wanted to change the libraries could simply download the dynamically linked version.

    [1] http://qt-project.org/wiki/Licensing-talk-about-mobile-platforms

    1 Reply Last reply
    0
    • M Offline
      M Offline
      MuldeR
      wrote on last edited by
      #2

      This all comes down to the question, what is considered a "work that uses the library" and what is considered a "derivative of the library". If your program is a "work that uses the library" you may release it under a proprietary license, even if it uses a LGPL'd library. Only any modifications that you applied to the library itself would ave to be released under the LGPL. BUT: As soon as your application becomes a "derivative of the library", the complete source code of your application must be released under the LGPL, no matter what.

      The LGPL says:
      [quote]A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

      However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.[/quote]

      This all is a bit vague and I'm not a lawyer. But I know from my experience as a software developer that linking an application against a "shared" library (DLL or SO or DYLIB file) is generally accepted as being a "work that uses the library". At the same time, when linking the library in a "static" way, the resulting all-in-one binary (EXE) file, is considered a "derivative" of the library.

      That's why commercial application, if they make use LGPL'd libraries, pretty much always ship those as a separate DLL or SO or DYLIB file...

      See also here:
      http://qt-project.org/forums/viewthread/22609

      My OpenSource software at: http://muldersoft.com/

      Qt v4.8.6 MSVC 2013, static/shared: http://goo.gl/BXqhrS

      Go visit the coop: http://youtu.be/Jay...

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved