LLVM relicensing status

Hi folks,

according to the documentation [0] we’re still in the middle of the migration. Does anyone knows where we actually are? I’m asking that because new projects (e.g. mlir or flang) don’t have the exact same License file in their top-level respective directory as llvm itself (basically the legacy license is omitted), while the documentation still states that « In the interim, all contributions to the project will be made under the terms of both the new license and the legacy license scheme »

Maybe @tonic nows more?

[0] LLVM Developer Policy — LLVM 16.0.0git documentation

This doesn’t answer your specific question about the status of the old license in new projects, but there was an update about the overall relicensing effort in November: LLVM relicensing update & call for help - The LLVM Project Blog.

1 Like

I believe that Flang and MLIR were contributed under the new license only and have no legacy code that needs to be relicensed so that is why it is not dual licensed.

Tagging @mehdi_amini if he has more to add. Also @kbeyls the expert in all things relicensing.

If this is true, then I think we should explicitly state this in the license file for those projects.

I am not sure we have to state it in the license file. The license file applies to everything in that directory already so I don’t think it needs a disclaimer that this is the only license. Maybe we should clarify in the DevelopersPolicy though as we only give commit access after someone has agreed to those policies. @clattner Thoughts?

@tonic I see it as more of a courtesy to people trying to interpret the license file than a hard requirement. Otherwise, I think people may just assume that the legacy license was omitted from those sub-directories by mistake.

1 Like

I am not a lawyer, and I can’t say if the license of code contributed by someone today to MLIR (or Flang) is dual licensed or not.

If we take the developer policy which states that all contributions to the project are dual-licensed, then everything should be.
But there is nothing at the top of the monorepo unfortunately, and if we look at llvm/LICENSE.txt

==============================================================================
Software from third parties included in the LLVM Project:

The LLVM Project contains third party software which is under different license
terms. All such code will be identified clearly using at least one of two
mechanisms:

  1. It will be in a separate directory tree with its own LICENSE.txt or
    LICENSE file at the top containing the specific license and restrictions
    which apply to that software, or
  2. It will contain specific license and restriction terms at the top of every
    file.

While MLIR isn’t “Software from third parties”, it matches the description that follows: it has a separate directory tree with its own LICENSE.txt. Someone contributing there could consider that this isn’t dual licensed.

1 Like