4

I am developing a product that links to a number of LGPL (or compatible) licensed libraries.

The product itself is a creator tool for intellectual property work of its users. The LGPL libraries are used in implementing the tool, but the derived user works do not reference the LGPL libraries directly.

I have no problem perfectly abiding to the LGPL, my product is free (as in free beer) and open source, but I would like to set a different license under which my product is to be used, that would cover all the user content it is used to generate, which could be either FOS or commercial/proprietary.

Does using LGPL libraries in my product prevent me from distributing it under my own license or extending it to cover all work, derived from it?

As an additional point, will the situation be different for GPL, and if so - how?

dtech
  • 479
  • 3
  • 12
  • 1
    The LGPL does not require users of an LGPL licensed library to license their application under LGPL. If you used the GPL you would have to license your application under the GPL, but your users would probably not have the same requirement. Consider: software compiled with GCC is not forced to license under the GPL – Charlim Dec 10 '19 at 04:57
  • @Charlim - thanks for the input. But I was wondering whether there is a difference between an "own work" like GCC that opted to be licensed under GPL and a "derived work" that is obligated to be licensed under GPL by incorporating a GPL library.Also, in the context of a compiler, its output is raw data whose generation was from a GPL product, but the use of that data doesn't intrinsically involve any GPL'd routines, that's up to the user to handle. In my case the usage of user generated data by another user still would go through GPL code indirectly through the GUI viewer/editor for said data. – dtech Dec 10 '19 at 07:59
  • From what I read on the "interpreters" clause of the GPL, any mechanism that leads in any way to any sort of execution of any GPL licensed data is still subject to GPL as well, regardless of how indirect, remote or abstract it may be. – dtech Dec 10 '19 at 08:04
  • 1
    @dtech That is not how the FSF sees it, and they wrote the license. See GPL FAQ - GPL Plugins. See also the part of the license that talks about "mere aggregation." – Brandin Dec 10 '19 at 08:45
  • 1
    "In my case the usage of user generated data by another user still would go through GPL code indirectly through the GUI ..." - For this please see Is the output of an open source program licensed the same? – Brandin Dec 10 '19 at 08:48

1 Answers1

3

Does using LGPL libraries in my product prevent me from distributing it under my own license or extending it to cover all work, derived from it?

The LGPL only requires that

  • changes made to the LGPL code itself are published under the LGPL
  • users of your product have the possibility (and right) to replace the LGPL code with a version of their own. The possibility part is most easily achieved by dynamic linking.

The only restriction that this places on your choice of license for your own code is that you can't forbid users to replace the LGPL code.

As an additional point, will the situation be different for GPL, and if so - how?

Yes. The GPL requires that your product gets distributed under the GPL license.


[…] I would like to set a different license under which my product is to be used, that would cover all the user content it is used to generate, which could be either FOS or commercial/proprietary.

Under copyright law, work A is derived from work B only if portions of work A are present in work B. And the license of work A can only affect the license of work B if B is a derived work from A.

This means that if your product is used to create user content, then you can only affect the license of that user content if it also contains parts of your product. See also Is the output of an open source program licensed the same?

Bart van Ingen Schenau
  • 29,549
  • 3
  • 46
  • 83
  • Well, the user content can be seen in two context - in the first it is just binary data, which is the serialized version of the user project in my application, so it doesn't contain any of my product's code. But in the second context, the only way this data is usable is if it is interpreted and instantiated by my product. Additionally, user data is product on its own, and can be used by another user to create another product on top of that, but it all still very much relies on the base product to be useful in any way. – dtech Dec 10 '19 at 13:06
  • @dtech, if the user content is just data for your application, the license of your application doesn't influence the license of the user content. – Bart van Ingen Schenau Dec 10 '19 at 13:09
  • According to what law or rule? Considering it is still derived work, and practically unusable outside of the base product, why wouldn't it be subject to the license of the base product, as it is technically an extension of it and can't be used without invoking the base product's code routines? I understand how the binary representation may not be subject to the base license, but the actual functional product it constitutes as it is being used - that should be covered, as in this form it does link against the base product code. – dtech Dec 10 '19 at 13:38
  • Maybe I should have disclosed a bit more information on how my product works - it prompts the user to set licensing options for each and every product created inside of it, which in turn define what 3rd party products it can use internally and how it is to be used by derived products as well. So it is technically not possible to create a derived product without committing it to the base license, as the same step that creates the product sets its licensing options. The whole idea is to allow for flexibility and take away legal woes, all licensing is automatically applied rather than by users. – dtech Dec 10 '19 at 13:44
  • @dtech, it is copyright law what defines what gets protected and when works are related to each other. Presenting data to a user does not make the data derived from the application doing the presenting, even if it is the only application in existence that can understand the data format. Otherwise, every word document would be a derived work of MS Word. – Bart van Ingen Schenau Dec 10 '19 at 13:59
  • What if such a condition was in Word's EULA and setting the license was an explicit step in creating each word document? The user is entitled to licensing his work, and it would constitute an agreement to license it under the license of its generator. So it is not technically a "by default" licensing but something to which the user agrees to as a part of the usage conditions. BTW the license in question's one goal is to ensure fair use - it is fully configurable for both distribution and usage options, and the only restriction is to not violate the options of extended or aggregated products. – dtech Dec 10 '19 at 14:19
  • @dtech, I am not sure if an EULA is actually a copyright license. If it is, such a condition would be void (equally valid as a requirement that you must not eat meat). If it isn't, then basically anything goes. I would recommend you check with an actual lawyer. – Bart van Ingen Schenau Dec 10 '19 at 15:27
  • Yep, I am sure I'll get a long line of actual copyright lawyers to advise me on my plan to automate their job :) BTW my EULA is very short and simple, and includes a quiz on it as the final step of agreeing to it, so there isn't much room for plausible deniability as with traditional great walls of legal obligation type of EULAs laymen aren't really qualified to understand. – dtech Dec 10 '19 at 15:38