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
Forum Updated to NodeBB v4.3 + New Features

LGPL Static Linking

Scheduled Pinned Locked Moved General and Desktop
2 Posts 2 Posters 4.5k 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