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 2.0 licensing is rather prohibitive for repackaging old games #3

Open
CookiePLMonster opened this issue May 22, 2023 · 4 comments

Comments

@CookiePLMonster
Copy link

CookiePLMonster commented May 22, 2023

In the project's ReadMe it says

NOTE: This is currently early in development and aimed at people or companies repackaging old games.

However, as per https://www.gnu.org/licenses/gpl-faq.en.html#GPLStaticVsDynamic:

Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

it would potentially mean that any use of this project would "force" the entire said old game to become GPL? It's not clear how would this affect the project done without source code access, but IMO that's even more reason not to use GPL2.0 in this case.

@solemnwarning
Copy link
Owner

I'm not a lawyer, but AIUI dynamic linking GPL'd code to something proprietary is fine, so long as you provide sources for the GPL'd modules - this is how pretty much any appliance or device built on top of say, Linux is done.

IPXWrapper is also licensed under GPL and has been packaged with re-releases of games (e.g. on GOG).

@CookiePLMonster
Copy link
Author

CookiePLMonster commented May 23, 2023

I'm not sure. You might be correct, but there is still a relatively high chance that shipping those DLLs (whether it's this project or IPXWrapper) with a game makes the entire thing "combined work" as far as GPL is concerned, since games link against this library directly - unlike in the Linux example you mentioned, where those appliances do not link against the Linux kernel, and if they make changes to it then they are obliged to publish the source code.

I don't have a horse in this race but it seems to me like GPL puts a wrapper like this in a state of weird ambiguity that AFAIK would have been completely avoided with LGPL.

@hogsy
Copy link

hogsy commented May 23, 2023

After looking around I think Cookie probably has a point, and relicensing under LGPL might be the best course of action as it's a bit more explicit that this would be acceptable (so it would avoid any uncertainty). Might add that looking around, Wine is licensed under LGPL rather than GPL too, probably for the same reason.

@gynt
Copy link

gynt commented Jun 9, 2023

I'm not a lawyer, but AIUI dynamic linking GPL'd code to something proprietary is fine, so long as you provide sources for the GPL'd modules - this is how pretty much any appliance or device built on top of say, Linux is done.

IPXWrapper is also licensed under GPL and has been packaged with re-releases of games (e.g. on GOG).

I think @solemnwarning is right. See also this: https://opensource.stackexchange.com/questions/2338/can-i-use-gpl-libraries-in-a-closed-source-project-if-only-the-output-is-distrib

It would be entirely against the spirit of the open source movement to sue anyone using this library (to repackage old games), as this library is a reverse engineered library of proprietary code. Why would anyone sue you for using something that is more open source than the original? That does not make sense. The closed source part of old games can't be made open source (unless the copyright holders do it), that would be illegal in most countries. And older game can also hardly be a derivative work of this library.

The only issue I see is if the people who repackage old games are not properly crediting the intellectual work solemnwarning has done. I can see a situation in which making a derivative of this library (improving its functionality) and distributing that closed source and without credits is a reason to be upset/sue.

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

4 participants