One of dependencies of a game engine that I'm using has an LGPL license. If I, for some reason, forget to upload the license file, do I lose rights to my own part of the code that isn't GPL?

Likewise, if someone reverse-engineers my game (which I would like people to do), how are they going to comply with the LGPL if they change the portion of code that belongs to the LGPL program? Will they be unable to use my program again?

If yes, does removing the LGPL part of the program solve the problem?


In the first case, you wouldn't lose any rights to your code. What you'd lose would be the right to copy and distribute the LGPL'd code, or more precisely you wouldn't be granted that right in the first place since you didn't comply with the license and it's grant is conditional on that. That would then allow the author of that code to sue you for copyright infringement for copying and distributing their code without a license to do so. The easiest way to avoid any problems here is to either distribute the original dependency package or to simply note in your documentation that the dependency is licensed under the LGPL and provide a link to wherever you got it from. If it's a standard package on the platform, eg. any of the LGPL'd software in Debian Linux, you needn't even distribute it, just note it as a prerequisite and require the user to install the packages before installing your program (most packaging systems let you automate that by declaring the dependency and letting the packaging system automatically do the installation of any required packages).

In the second case, if they just change the code it won't make any difference. It's only if they start distributing their modified version that they'd run into the same issue of copyright infringement that you'd run into in the first case. This shouldn't involve your code at all, you said the dependency was LGPL so it's a separate shared-object library or something similar and (aside from the small bits of declarations and constants) the code's entirely in it's own files not physically part of your program.

  • But how am I going to make the game portable if it will have dependencies? – Foxcat385 Apr 29 '16 at 22:20
  • You always have dependencies. You've already committed to that by choosing to use that library. All this is is the question of how you'll make sure they're installed along with your application. Every platform has a solution to that, Windows for instance lets you include required components or the installer for them in your installer, Linux package managers have the required packages in your package's metadata and add them to the list to be installed if they aren't already. – Todd Knarr Apr 30 '16 at 1:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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