11

If I understand it correctly, when I develop a program that depends on a GPL library, it becomes a derivative work of the library and the GPL license also aplies to it. But what happens if I develop a new version of the program which doesn't need the library anymore? Am I still obligated to use the GPL license?

From one point of view, the old version was GPL and this is clearly a derivative work of it, so it needs to be GPL too.

From a different point of view – this is nonsense! I'm not using the library so nothing is forcing me to use GPL anymore! Right?!

1
  • The concept of "derivative work" in this context included an implicit assumption that it includes the original library. It does not have the connotation of being based on something - that is a slightly different meaning. Commented Aug 27, 2017 at 10:49

3 Answers 3

11

This depends on who you accepted contributions from while the code is under the GPL license.

If you didn't accept contributions from others and you are the sole copyright holder, then you can change the license to any license you want once the dependency on the GPL licensed code is removed.

If you did accept contributions from others, then those contributions are likely to be under the GPL license themselves. You can't change the license without explicit consent from all the other contributors.

2
  • 1
    Cool, this makes sense! And would it be theoretically possible to double-license the code while I'm using the library? Something like „this repository is GPL, but if you manage to use the code without the library, you can use it with the MIT license“?
    – csha
    Commented Aug 26, 2017 at 13:45
  • 4
    @m93a: Yes, you can licence your code as "The code in this repository is licensed under the MIT licence. However, the use of library X makes that the terms of the GPL license apply to the project as a whole." Commented Aug 26, 2017 at 14:11
2

But what happens if I develop a new version of the program which doesn't need the library anymore? Am I still obligated to use the GPL license?

Not at all: how would the copyleft of non-existent code flow back to your code that does not use it?

1
  • This is the intuitive way of dealing with it and I agree that it feels right, but is this legally right? The counterargument would be: library is GPL, program v1 uses the library, therefore it's a derivative and must use GPL; program v1 is GPL, program v2 is based upon it, therefore it's a derivative and must use GPL; program v2 is GPL.
    – csha
    Commented Aug 25, 2017 at 17:18
1

GPL only applies if you use a GPL library or source code. As long as you own the source code for you closed source project (e.g: you replace the GPL library with your own implementation), you don't have any GPL obligation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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