144

I want to use an LGPL-licensed library in my app for Microsoft's app marketplace. Is that OK?

2
  • 1
    IANAL. The question is really do the terms of the MS App Marketplace and the LGPL conflict in any way? If the answer is "No" then it shouldn't be a problem. Otherwise it may be. Does the app marketplace prevent source distribution? Does the app marketplace forbid open source? Edit More info from a quick google of the problem: social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/… Commented Feb 13, 2011 at 4:16
  • 8
    Also, keep in mind that you should NEVER EVER follow the legal advice that you get on the Internet, except if it comes from a lawyer. Preferably one who specializes in the given field, in this case: software licenses. So do take all these answers with a grain of salt, because otherwise you may be exposing yourself to lawsuits. Commented Feb 3, 2014 at 8:01

3 Answers 3

96

Here is an encompassing answer:
https://web.archive.org/web/20220712000832/http://answers.google.com/answers/threadview/id/439136.html

In short: yes you can. But one important thing to take care of is that the GNU LGPL covered library is dynamically linked, not statically mixed with the main application.

It should also be possible to exchange that dynamically linked library for an independently compiled build. Otherwise you have likely intertwined the library and main application code.

9
  • 6
    This is true for LGPL 2, but LGPL 3 seems to allow static linking if I understand it correctly. Commented Aug 14, 2014 at 8:10
  • 4
    @mario, so is it also allowed on a closed-source app? Am I required to give credit? Anything? Commented Apr 15, 2015 at 20:37
  • 9
    > it's paramount to mention that software that statically links an LGPL library must be issued under an LGPL license itself, if I understand correctly ===> Absolutely not. Any closed-source application can link statically with LGPL libs if it provides its object files to allow relinking with further / alternative versions of the LGPL library : gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic Commented Apr 7, 2016 at 21:08
  • 5
    What happens with header-only LGPL libraries?
    – gnzlbg
    Commented Jun 25, 2016 at 13:26
  • 3
    Please provide a plain English explanation of what a "GNU LGPL covered library [being] dynamically linked" means for a web app that uses a GNU LGPL covered library.
    – Daniel
    Commented Feb 24, 2021 at 16:19
12

The LGPL license allows an application that references the binaries to remain closed-source. Also, there's nothing preventing you from selling an open source app on the Microsoft App Marketplace.

1
  • 1
    can you please mention, if i want to use LGPL code in close-source app, should I use separate .dll version (which will be available as separate file after user installs my app) or can i embed LGPL inside my .exe directly (just creating a way for users to "get the source code for that LGPL part" )?
    – T.Todua
    Commented May 31, 2020 at 16:05
4

This article may help.

I suspect that because LGPL allows making the source code (of the library that you linked to) available via a download, it must be OK to use an LGPL-licensed lib in your app for Microsoft's marketplace.

Quote from LGPL version 2.1:

If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.

The only thing that seems to be an issue is the "same place" requirement, which you will not be fulfilling if your app is being distributed via the marketplace.

1
  • 1
    Actually nothing stops you to bundle source code as resources in your app, say as a zip file and have some option to save it locally from your app if user wants to do so. Thing is if you have multiple libraries with different licenses you start losing track of what you need to do for each one Commented Oct 5, 2017 at 1:03

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