LLVM Blog: August 2022 LLVM relicensing update & further suggestions for help

New on the LLVM Blog:

Please feel free to comment or discuss here.

Hi @tonic, thanks for the update. Is there a way for the community to see which code/commits the old licensing still applies to?

Seeing the Apache License header in all source files (that’s the case right?), the uninvolved reader might be surprised to notice that it doesn’t cover 100% of the code. Maybe it could also help finding volunteers for your manual verification?

Hi Stefan!

The LLVM Foundation keeps a list of whose contributions we have a relicensing agreement for. The list contains both individuals and corporations.
We also keep a list of which corporations people have told us may own the copyright on their contributions.
Based on those lists, we can distill which past commits are definitely already covered by all necessary relicensing agreements. The commits not on that list may or may not already be covered. An example of where a commit may already be covered without us knowing is for someone who we couldn’t reach so far, but whose contributions are copyright owned by a corporation who already agreed with relicensing.
Furthermore, the list of commits we know are covered changes frequently as we receive more information and agreements. Keeping a published list well-maintained would be quite a bit of work.
So, given that a list of which code/commits the old licensing applies to is an over-approximation - i.e. not fully accurate, and that it’d be a lot of effort to maintain such a not-fully-accurate list, we’d rather invest our effort in progressing other parts of relicensing rather than trying to keep such a list maintained.

The header in the source files was carefully reviewed by the Foundation’s world-class IP lawyer. The header information is correct. Please notice it contains “See https://llvm.org/LICENSE.txt for license information”. That License file does point out that the Legacy LLVM License also applies.
I’ll note that https://llvm.org/LICENSE.txt until recently accidentally only contained the Apache2.0-with-LLVM-exception license. That has been fixed in Copy LICENSE.txt from source repo. by kbeyls · Pull Request #21 · llvm/llvm-www · GitHub.

I haven’t published a list yet of commits that need manual verification to check they no longer are present in top-of-trunk. Those are commits that probably are not covered by a relicensing agreement and that a heuristic script indicates are probably no longer present.
I haven’t thought through what exactly the best way would be to coordinate such work yet. I thought that once someone volunteers to try and help with such manual verification of that list, we could talk about how to best organize and maintain such a list - e.g. in a shared google spreadsheet or some other way.
Would you happen to be interested in helping with such manual verification?

I hope that answers the questions you had?

Thanks,

Kristof

Hi Kristof, good catch with https://llvm.org/LICENSE.txt !

Yeah that sounds reasonable. Thanks for the update!