Suppose a developer named Peter has an application named AppMIT
licensed MIT that has a dependancy on Tony's library named LibLGPL
licensed LGPLv3.
Please help me understand if the cases below are correct.
Case1 - What if Peter does NOT modify Tony's LibLGPL
?
a. If Peter does not modify LibLGPL
and wants to share his code by open-sourcing his AppMIT
then nothing is required of Peter.
b. If Peter does not modify LibLGPL
and wants to keep his AppMIT
closed source and share within his organisation then nothing is required of Peter.
c. If Peter does not modify LibLGPL
and wants to keep his AppMIT
closed-source and wants share his application with his Company's clients (outside his company) then he has to allow within his application for his clients to switch Tony's LibLGPL
to a different version and also make the source code of LibLGPL
available to his clients. This means Peter has to either make his code open-source to only his client so they can change the build file (package.json
, maven
or some other build file) to switch the LibLGPL
dependancy or if Peter does not want to share his source-code then he should allow some other way for his clients to dynamically update the LibLGPL
dependancy.
- In the above point 1c if Peter does not allow his clients to switch
LibLGPL
and does not make the source code ofLibLGPL
available to his clients then Peter is in violation of LGPLv3.
Case2 - What if Peter modifies Tony's LibLGPL
?
a. If Peter modifies LibLGPL
and makes his changes public by open-sourcing it as another project under the same LGPLv3 license or any other GPL license then nothing is required of Peter.
b. If Peter modifies LibLGPL
and makes his changes public by creating a pull-request to Tony's LibLGPL
Git repository then nothing is required of Peter even if the PR does not get approved as the PR (Peter's changes) is still available in history and therefore is open-source.
c. If Peter modifies LibLGPL
and does not make his changes public and uses the LibLGPL
code only within his organisation then nothing is required of Peter.
d. If Peter modifies LibLGPL
and shares his closed-source application outside his Company (clients) making only the changes to the LibLGPL
available to his clients then nothing is required from Peter. Open-sourcing his changes to the public is not required here as long as his clients have access to the modified LibLGPL
source-code.
- In the above point 4 if Peter does not allow his clients to switch
LibLGPL
AND does not make the source code of his modifiedLibLGPL
available to his clients then Peter is in violation of LGPLv3.
AppLGPL
is a library. Thank you for the link but it doesn't mention about how to deal with the LGPL library if it was modified.