Bug 1866468 - llvm: Incorrect License tag
Summary: llvm: Incorrect License tag
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: llvm
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom Stellard
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1866471 1866472
TreeView+ depends on / blocked
 
Reported: 2020-08-05 16:02 UTC by Florian Weimer
Modified: 2021-03-29 16:52 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1866471 1866472 (view as bug list)
Environment:
Last Closed: 2020-08-05 17:34:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Florian Weimer 2020-08-05 16:02:56 UTC
LLVM has been relicensed to ASL 2.0 with exceptions, so

License: NCSA

is no longer correct. There is a discussion here about the appropriate tag:

<https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/message/4OT2CHT3UX7AYI7LDK4YFZEU3QIDZKPY/>

I think relicensings like this should also be announced on the devel list.

Comment 1 Tilmann Scheller 2020-08-05 17:34:19 UTC
There is an ongoing effort to relicense LLVM (and related projects) under the Apache 2.0 with LLVM Exception license (see https://llvm.org/foundation/relicensing), however that process will still take a long time to be completed. The assessment that LLVM has been relicensed already is incorrect. What has happened is that the LLVM contribution policy has changed a while ago to require any new contributions to be under both NCSA as well as Apache 2.0 with LLVM Exception (see https://llvm.org/docs/DeveloperPolicy.html#id32). This means that the entirety of LLVM is still under the NCSA license (details here: https://llvm.org/docs/DeveloperPolicy.html#id34) and as such the current license description in the spec file is still accurate. Since the completion of the relicensing is still far out in the future I'll go ahead and close this bug. Please let me know if you have any questions.

Comment 2 Florian Weimer 2020-08-05 18:55:17 UTC
(In reply to Tilmann Scheller from comment #1)
> There is an ongoing effort to relicense LLVM (and related projects) under
> the Apache 2.0 with LLVM Exception license (see
> https://llvm.org/foundation/relicensing), however that process will still
> take a long time to be completed. The assessment that LLVM has been
> relicensed already is incorrect. What has happened is that the LLVM
> contribution policy has changed a while ago to require any new contributions
> to be under both NCSA as well as Apache 2.0 with LLVM Exception (see
> https://llvm.org/docs/DeveloperPolicy.html#id32). This means that the
> entirety of LLVM is still under the NCSA license (details here:
> https://llvm.org/docs/DeveloperPolicy.html#id34) and as such the current
> license description in the spec file is still accurate. Since the completion
> of the relicensing is still far out in the future I'll go ahead and close
> this bug. Please let me know if you have any questions.

The source tree is full of files that specify something like this:

// 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

Examples are tools/llvm-nm/llvm-nm.cpp, include/llvm/Analysis/ScalarEvolution.h, lib/Target/PowerPC/PPCScheduleG4Plus.td.

<https://llvm.org/LICENSE.txt> no longer mentions the NCSA license.

To an outsider, it does look like the relicensing has concluded.

Comment 3 serge_sans_paille 2020-08-06 06:58:03 UTC
There has been a discussion about it on the llvm-dev mailing list recently (http://lists.llvm.org/pipermail/llvm-foundation/2020-July/000214.html) with a confirmation that relicensing is still on-going.

Comment 4 Tilmann Scheller 2020-08-06 08:40:48 UTC
Florian, I agree that the licensing headers in sources files are somewhat misleading in that regard. If you look at the LICENSE.TXT in the project repository you'll still see both licenses mentioned: https://github.com/llvm/llvm-project/blob/master/llvm/LICENSE.TXT

And yeah, the email thread mentioned by Serge provides accurate status in terms of the ongoing relicensing.

Comment 5 Elliott Sales de Andrade 2021-03-15 03:46:21 UTC
If portions are old, and portions are new, should not the License tag reflect that, and say 'ASL 2.0 and NCSA'?

Comment 6 Florian Weimer 2021-03-15 07:05:52 UTC
(In reply to Elliott Sales de Andrade from comment #5)
> If portions are old, and portions are new, should not the License tag
> reflect that, and say 'ASL 2.0 and NCSA'?

I think the idea is that while the project has the ability to license new contributions under ASL 2.0, the releases being made are exclusively NCSA. It does not matter that the source code gives a different impression.

Comment 7 Elliott Sales de Andrade 2021-03-16 09:35:40 UTC
It's not just the source code, which does have headers saying:

> // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

But also the Developer guide (https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents), which says:

>  The code is licensed under permissive open source licensing terms, namely the Apache-2.0 with LLVM-exception license, which includes a copyright and patent license. When you contribute code to the LLVM project, you license it under these terms.

And the FAQ (https://llvm.org/docs/FAQ.html#can-i-modify-llvm-source-code-and-redistribute-the-modified-source):

> The modified source distribution must retain the copyright notice and follow the conditions listed in the Apache License v2.0 with LLVM Exceptions.

And the docs have said this since at least LLVM 10.

It is quite buried somewhat inconspicuously in the Relicensing section (https://llvm.org/docs/DeveloperPolicy.html#relicensing) 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.

They don't have a CLA to re-license later, thus any authors of new code have dual-licensed their contributions. I don't see anything saying they are still *only* NCSA, only that they are not NCSA-free.

Comment 8 Tom Stellard 2021-03-29 16:52:13 UTC
(In reply to Elliott Sales de Andrade from comment #7)
> 
> They don't have a CLA to re-license later, thus any authors of new code have
> dual-licensed their contributions. I don't see anything saying they are
> still *only* NCSA, only that they are not NCSA-free.

This is correct.  There is still some code that is licensed as NCSA only, but new code is dual-licensed with NCSA and Apache License v2.0 with LLVM Exceptions.


Note You need to log in before you can comment on or make changes to this bug.