github not recognizing lgpl #22258
-
The way the LGPL works is that it modifies the GPL. Therefore a program “released under the LGPL” in fact is a program whose license consists of the GPL and the LGPL. Conventionally this is represented by two files named COPYING and COPYING.LESSER, respectively. Including both licenses is not a source of ambiguity; the licenses are written such that the LGPL takes precedence when both are present. Indeed, gnu.org advises against shipping the LGPL without including a copy of the GPL. (source) TL;DR, according to gnu.org, “LGPL program” = program + GPL + LGPL. Now, GitHub’s license-managing software, it doesn’t think like that. It thinks something like this:
(Assume “licenses” is an array that starts with “gpl, lgpl” and contains all the licenses GitHub recognizes.) This isn’t an especially unreasonable way of doing things, but it fails pretty badly on the LGPL. It could be patched by changing the order of the array to put the LGPL before the GPL (assuming it’s an array and not, say, a hash table), but “the seemingly arbitrary order of this array is actually important to functioning in a way that not only could or will but has come up” is no way to do programming. I see several potential patches that don’t do that:
For the record, I like 2 best, but 1 or 4 would probably be easier to implement. Example of the issue in action: https://github.com/kindnesstheorist/lgpl-java-template. Is this a known issue? Anybody have a workaround? I don’t want people to scroll past my code because they have the wrong idea about its license, but I also really don’t want to use the LGPL in a way that its publishers specifically say not to do. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
GitHub uses the licensee project to do its license detection. It appears they already have an issue open for LGPL detection. You may want to follow along there. I hope that helps! |
Beta Was this translation helpful? Give feedback.
-
…huh. How’d this get marked as a solution before I saw it? Anyway, brb, off to rename my license files and see if that fixes it. |
Beta Was this translation helpful? Give feedback.
-
As soon as I renamed COPYING.LESSER.txt to COPYING.LESSER, it recognized the LGPL. Shouldn’t have tried to get fancy, I guess. Thanks for the info; the discussion was interesting to read and I’m glad this is getting fixed soon. |
Beta Was this translation helpful? Give feedback.
GitHub uses the licensee project to do its license detection. It appears they already have an issue open for LGPL detection. You may want to follow along there.
I hope that helps!