5

https://www.gnu.org/licenses/lgpl-3.0.html

  1. Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.

e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version.

Does this mean that the authors of Combined Work must provide a way to update Combined Work on user's computer/device so as to allow the user to run a modified version of Combined Work?

For example, if I make firmware for an embedded device and use LGPL library (by dynamic linking), do I have to provide a way to update the firmware on the device so that a user can replace the library with a modified version and then run it?

If it is true, is it applicable only for LGPL version 3 license? Because I don't see "e)" clause in LGPL version 2 license.

3

1 Answer 1

8

Does this mean that the authors of Combined Work must provide a way to update Combined Work on user's computer/device so as to allow the user to run a modified version of Combined Work?

Yes. You must make it possible for the user to relink the application's code (in your choice of object or source form) to a modified version of the LGPL library. This does not have to be done on the device itself. LGPLv3 4(d)(0) requires that you "Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code..." but does not require that that conveyance nor linking actually occur on the same hardware. It is sufficient if the user can do so with a cross-compiling tool chain, emulator, alternative hardware, etc.

For example, if I make firmware for an embedded device and use LGPL library (by dynamic linking), do I have to provide a way to update the firmware on the device so that a user can replace the library with a modified version and then run it?

If there exists no way to update the firmware at all, then you do not need to add one. Section 6 of the GPLv3 limits when Installation Information must be supplied:

But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

If you can update firmware, you must instruct your users how to make use of this functionality (but only to the extent necessary to update the library). If you cannot update firmware, then the (L)GPLv3 does not require anything for this section.

As you correctly note, (L)GPLv2 does not require supplying Installation Information in any case.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.