[clangd-dev] LLVM Relicensing Update

Chandler Carruth via clangd-dev clangd-dev at lists.llvm.org
Tue Oct 16 16:35:32 PDT 2018


Greetings,

I wanted to provide an update to all the LLVM project (including all of its
sub-projects) developers about the ongoing effort to relicense under LLVM
under a new, unified license.

TL;DR: It’s actually happening. If you are a contributor to LLVM, help us
out by filling out our form and signing an agreement to cover any
individual contributions you have made:
https://goo.gl/forms/X4HiyYRcRHOnTSvC3

All of this information and the latest status can always be found on the
relicensing website here:
http://llvm.org/foundation/relicensing/


## Background and Process

For background, here is the new license:
http://llvm.org/foundation/relicensing/LICENSE.txt
The motivation, scope, and discussion of the license itself, please see the
most recent thread from Chris on the subject:
http://lists.llvm.org/pipermail/llvm-dev/2017-April/112142.html
Also, we have the proposed new developer policy discussed here:
http://lists.llvm.org/pipermail/llvm-dev/2017-August/116266.html

Based on these discussions, there seems clear consensus to move forward,
and we (the Foundation) have been working on this for the past year. I want
to update folks on the progress and the next steps in the more boring
logistics side of this: how do we actually switch.

Our plan, roughly outlined when discussing the developer’s policy last
year, is to install the new license and the developer policy that
references both the new and old license. At that point, all subsequent
contributions will be under both licenses. To ensure contributors are
aware, we have a two-fold plan:

1) We’re going to get as many active contributors (both companies and
individuals) to explicitly sign an agreement to relicense their
contributions. This will make the change clear and will cover historical
contributions as well.
2) For any remaining contributors, turn off their commit access until we
can confirm they are covered by one of the above agreements.

We plan to have the *vast majority* of contributors handled via #1 ahead of
time, so this will not be disruptive. If necessary, we can delay this to
ensure that #1 covers enough of the active contributors. We do not want to
unnecessarily disrupt contributions, but we also want to move this forward
as fast as we can. For contributors who cannot, for whatever reason,
complete the outlined process (#2 above), please send email to
license-questions at llvm.org and we'll work, in conjunction with our legal
counsel, to find a path forward.

Our current planned timeline is to install the new developer policy and the
new license after the LLVM 8.0 release branch in January. We will then be
focused on getting all of the historical contributions under an agreement
to relicense so we can remove the old license(s).


## Relicensing Agreements

For #1 to work, we need both individuals and companies to sign an agreement
to relicense. The Foundation has worked with our lawyer and built a process
for both companies and individuals.

For individuals, we’re asking everyone to fill out a form so we have the
necessary information (email addresses, potential employers, etc.) to
effectively relicense their contributions. It contains a link to a DocuSign
agreement to relicense any of their individual contributions under the new
license. We’re really hoping that most people will just sign this agreement
as it avoids us needing to prove whether every contribution is definitively
covered by some company. You can fill out the form and sign the agreement
here:
https://goo.gl/forms/X4HiyYRcRHOnTSvC3

For companies, we also have a DocuSign agreement:
https://na3.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=5a2bb38c-41c4-4ce0-a26e-52a7eb8ae51c
We have already reached out to many major companies already, and a few have
already signed this agreement. We will be collecting more companies from
the form responses and reaching out to them. Feel free to reach out to your
employer with the DocuSign link above, but please check the list of
companies <http://llvm.org/foundation/relicensing/#coporate_agreement> we’ve
already contacted and try to coordinate internally to avoid duplicate work.

Once we get the new policy and license in place, we’ll be iterating with
these tools until we have everything relicensed, or we have a concrete plan
about what to do with any remaining material.


## New File Headers

With the new license and developer policy, we also need to update the file
headers. The Foundation worked with our lawyer to get a new header approved
that is both minimal and functional:
```
//===-- file/name - File description ----------------------------*- C++
-*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
```

Some notable aspects:
- No explicit copyright notice. After discussion with our lawyer, the value
doesn’t seem worthwhile and it avoids the yearly need to update these.
- Super compact, but includes things like an SPDX marker to ease automated
license analysis.

We will install these new file headers at the same time as the new
developer policy and license.


Thanks all, and don’t hesitate to reach out with any questions!
-Chandler (on behalf of the LLVM Foundation)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/clangd-dev/attachments/20181016/d8a80227/attachment.html>


More information about the clangd-dev mailing list