Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPL Licensed component #75

Closed
bcssov opened this issue May 11, 2023 · 4 comments
Closed

GPL Licensed component #75

bcssov opened this issue May 11, 2023 · 4 comments

Comments

@bcssov
Copy link

bcssov commented May 11, 2023

I understand your project is MIT license but a component that you're using is licensed under GPL, is this still valid for your own project?

https://www.nuget.org/packages/NexusMods.Paths/

@erri120
Copy link
Owner

erri120 commented May 23, 2023

Most of GPL is clear-cut when it comes to modifying the source code. However, "using" a GPL-licensed library has been a point of debate for a long time: https://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works

You can dive into this rabbit hole, but there is no definitive answer. The "using" debate is also only relevant for direct dependencies, not transient ones. This means libraries and programs using GameFinder (MIT) aren't affected by the direct dependency NexusMods.Paths (GPL-3) since it's a transient dependency at the end:

flowchart TB
  A[NexusMods.Paths: GPL-3]
  B[GameFinder: MIT] --> A
  C[Consumer] --> B
Loading

As a consumer of GameFinder, you are only impacted by the MIT license. I'm the author of both GameFinder and co-author of NexusMods.Paths since I work at Nexus Mods.

@bcssov bcssov closed this as completed May 23, 2023
@lostmsu
Copy link

lostmsu commented Aug 27, 2023

@erri120 since you are a co-author of NexusMods.Paths, can you advocate the library to switch to LGPL to clear the "debate"?

AFAIK, transiency of the dependency is inconsequential: for all practical purposes I will have to distribute NexusMods.Paths with my software if I am to use GameFinder.

If LGPL change proves too hard, GameFinder could take the dependency out into an addon, and remove the dependency from the main lib.

@bcssov
Copy link
Author

bcssov commented Aug 27, 2023

@bcssov since you are a co-author of NexusMods.Paths, can you advocate the library to switch to LGPL to clear the "debate"?

AFAIK, transiency of the dependency is inconsequential: for all practical purposes I will have to distribute NexusMods.Paths with my software if I am to use GameFinder.

If LGPL change proves too hard, GameFinder could take the dependency out into an addon, and remove the dependency from the main lib.

I am sorry but I am not related to either project(s). I was in the same boat as you.

@lostmsu
Copy link

lostmsu commented Aug 27, 2023

I am sorry but I am not related to either project(s). I was in the same boat as you.

Sorry, mixed you up with @erri120

erri120 added a commit that referenced this issue Sep 3, 2023
Resolves #75 and Nexus-Mods/NexusMods.Paths#12.

The library was originally GPLv3, as seen in d54ca74,
but I decided to switch from GPLv3 to MIT in cb1396b.

Funnily enough, this licensing situation was one I created myself.
I maintain GameFinder (MIT) in my free time and NexusMods.Paths (GPLv3)
as part of my job. GameFinder is used in NexusMods.App and NexusMods.Paths
is used in GameFinder. Some of the core concepts in NexusMods.Paths were
developed to be used specifically in GameFinder.

Anyways, I don't particularly have a strong attachment towards the MIT
license, I just don't like changing licenses after two years.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants