[llvm-dev] RFC: Improving license & patent issues in the LLVM community
David Chisnall via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 19 10:12:24 PDT 2015
On 19 Oct 2015, at 16:25, Chris Lattner via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 1) The problem
> 2) Potential solutions
> 3) Recommended path forward
> The TL;DR version of this is that I think we should discuss relicensing all of LLVM under the Apache 2.0 license and add a runtime exception clause. See below for a lot more details.
I agree that this is a problem. In another community, we’ve deployed an Apache-style CLA. From a legal perspective, it’s definitely the best way forward, but it does add a significant barrier to entry (though not as big as copyright assignment, as for FSF projects). I have two concerns, one related to the Apache 2 license in general, the other related to switching license in general.
Because LLVM has not had a policy of including copyright holders in files (something else that we should change), it’s difficult to identify copyright holders. When we relicensed libcompiler_rt and libc++ under the MIT license, there were only a few contributors and it was easy to identify us all. Over LLVM, it’s not clear that the people who have committed code on behalf of others have been good at ensuring that it’s correctly attributed. I’d be interested to hear what the Foundation’s strategy for dealing with this is (and what will happen if a contributor of a significant amount of code does not permit their code to be relicensed if the overall consensus appears to be in favour of relicensing).
On the Apache 2 front specifically, we’ve been slowly reducing the amount of Apache 2 code in FreeBSD and would be quite unhappy to suddenly increase it. LLVM is one of the largest bits of contrib code in our base system and, for us, it would be a step in the wrong direction. One worry is that Apache 2 is incompatible with GPLv2 (is it incompatible with other licenses?), which limits the number of places where it can be used (though possibly not to a degree worth worrying about). A related concern is that I can read the UIUC and, as a non-lawyer, be pretty sure that I understand it. I can not make the same claim about Apache 2, in spite of having read it several times. It’s probably not a show-stopper for us, but it would probably reduce LLVM contributions from within the FreeBSD community, which is something that’s been slowly increasing recently.
> With all this said, I’d love to hear what you all think. If you have a specific comment or discussion about one aspect of this, it might be best to start a new thread. I’d also appreciated it if you would mention whether you are a current active contributor to LLVM, whether you are using LLVM but blocked from contribution (and whether this approach would unblock that) or if you’re an interested community member that is following or using LLVM, but not currently (or on the edge of) contributing. I’d be particularly interested if you are blocked from contributing but this proposal doesn’t solve your concern.
I’m wearing a few LLVM-related hats (including a downstream consumer with my FreeBSD Core Team hat and a few research projects, and a contributor to various bits of LLVM, including clang, libc++, libcompiler_rt, optimisers, codegen and the MIPS back end). I’m not blocked from contributing by the current status quo (other than the fact that most of the changes in the LLVM trees that I’m responsible for at the moment are of no interest to people who don’t [yet?] have access to some currently quite rare hardware).
More information about the llvm-dev