1

There is a BSD 3-clause open source project I would like to contribute to.

The code I would like to contribute is code that I do not own from an open source library released under the LGPL version 2.

Quite simply:

  • Can I use the LGPL licenced code in source form in the BSD 3-clause project?
  • What special precautions (if any) would I have to take to include it?
  • If I must reproduce the LGPL licencing header, would it be better to move the code to a separate file?
4

You cannot use LGPL code in a BSD-licensed project. When you are using LGPL'ed code the LGPL behaves very similar to the GPL. You can then only publish your project under the LGPL or GPL (even though some individual files in your project that do not depend on the LGPLed parts may use compatible licenses such as BSD).

A LGPL-licensed library can be used by a BSD-licensed project, as long as users (incl. all end users) are free to study and swap out the LGPLed parts of the software. This means either

  • dynamically linking to the LGPL library, or
  • distributing your project in a way that allows it to be relinked with a different version.

Note that the LGPL doesn't just bind you but also other people distributing your project. This would go beyond the usual requirements of the BSD license, so it is worth documenting these additional obligations in your project.

You do not have to link to the original LGPL code. In theory, you can slim down the LGPL'ed code to a smaller library that is still under the LGPL, but that you can link to in your project.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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