views:

52

answers:

2

I have found a bug in an LGPL Lib that I currently link against dynamically.

  • The application is closed source
  • I link dynamically to the LGPL Lib
  • The application will be available to the public

If I modify the lib my understanding is that I will have to make the changed source files availible with the application, is this correct?

+2  A: 

You are redistributing the modified code of the LGPL library, so you need to release the source for that library (your bug fix). That does not mean you need to release the source code for your entire application, just the library that's LGPL'ed.

Also note that the GPL/LGPL only requires you to give the source code to someone that you give the binary to. It does not require you to e.g. put the source on the web for anyone in the world to download. A sure way to comply is to pack the source inside your distribution so people get it together with the binaries, then nobody can ever complain that the source wasn't available.

Nate C-K
Although if it's a useful fix, ideally you will submit it to the developers of the library so they can incorporate it into the distro that everyone uses.
Nate C-K
+1  A: 

Another solution (although it may not always be possible) is to derive your own subclasses from the LGPL'ed library and make the necessary fixes there. Of course a better approach is to submit the fix to the maintainers of the library, but if you need to ship your code soon, this may be something to consider. By deriving stuff, you're not violating the LGPL.

From the License:

An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.

Pawel Marciniak