License auto-identification failing for tri-license MPL/GPL/LGPL?

I know that several/many kinds of license are auto-identified by the GitHub UI, and it tells you “BSD 3-clause license” or whatever you have in your LICENSE file; and obviously for strange custom licenses it won’t say anything.

Now, I have a tri-licensed MPL/GPL/LGPL repo (still private; will go public with it soon), with this license; the license text is boilerplate, albeit from 13 years ago, and still - it’s not recognized. I’d like to try and figure out why that is - or get the GitHub site server code to recognize it.

Welcome to the community. Thanks for reaching out!

GitHub uses the licensee RubyGem to identify which license applies to a repository. You can use the gem locally to test to see how GitHub would classify a particular repository. So you can look at the PR that added multiple license support to see how licensee would recognize something like that.

And you may also want to look at how other repositories that are multi-licensed have things arranged. That should give some hints as to how to make things more recognizable by the automated tools.

Thanks for the quick reply @lee-dohm, but I think I mis-communicated what I mean.

The way my extension is multi-licensed is not by using different license files, independent/ignorant of each other, but rather - the same file gives you, at your discretion, either an MPL license, a GPL license or an LGPL license.

I would really rather avoid having 3 separate license files…

Yes, I noticed the way that you had constructed your license. Unfortunately, it doesn’t appear that the licensee gem supports detecting multiple licenses in that fashion.

1 Like