-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update licensing to MIT AND Apache-2.0 WITH LLVM-exception #717
Conversation
d64750d
to
8a25302
Compare
8a25302
to
42c3b66
Compare
One thing I am not certain about here; anyone who contributed to this repository between the 2019-01-19 LLVM relicense and now did so with no mention of I think it could be sufficient that any work derived from an |
42c3b66
to
efef752
Compare
IANAL, but I don't think it works like that. Even with copyleft licenses, any modifications aren't automatically licensed under the same license (with copyleft, not licensing the modifications compatibly just means that you're violating the original license, not that your modifications are automatically correctly licensed). That said, there's no requirement for changes to |
Yeah, I think you are right. I am hoping for some sort of sound way to correct the licensing without needing to get an okay from all contributors since LLVM's relicense (~150) but I'm not sure if that is feasible. There is some more discussion on the Zulip link asked in the top post if you want to drop in, but this is one question I haven't yet heard back about.
I don't think I follow here - what is the |
@tgross35 The license updates look correct to me. We also need to make sure we preserve any relevant copyright notices here. |
I don't know of any copyrights that are relevant here. Searching for "copyright" in the LLVM directory only comes up with a few results we don't use https://github.com/search?q=repo%3Allvm%2Fllvm-project+path%3A%2F%5Ecompiler-rt%5C%2F%2F+copyright&type=code and the current license literally says "Copyright [yyyy] [name of copyright owner]" |
LICENSE.txt
Outdated
* compiler-builtins is derived from LLVM's compiler-rt (https://llvm.org/). | ||
Work derived form compiler-rt prior to 2019-01-19 is usable under the MIT | ||
license, with the following copyright: | ||
|
||
Copyright (c) 2009-2016 by the contributors listed in CREDITS.TXT | ||
|
||
The relevant CREDITS.TXT is located at | ||
https://github.com/llvm/llvm-project/blob/main/compiler-rt/CREDITS.TXT. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joshtriplett but I did include this to cover the copyright in the old license
(just fixed the form/from typo I noticed here)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I don't think we have a legal requirement to, we might want to consider reproducing CREDITS.TXT
(inlined into LICENSE.txt
). It's short.
The one caveat there being that if we start including it, we should update our included version if the upstream version changes and we copy any new code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did consider this but it didn't seem like it was ever really used on LLVM's side. The latest update is from two years before compiler-builtins
existed, and it had only ever been updated twice before that.
efef752
to
b961f11
Compare
Cargo.toml
Outdated
@@ -2,7 +2,7 @@ | |||
authors = ["Jorge Aparicio <[email protected]>"] | |||
name = "compiler_builtins" | |||
version = "0.1.135" | |||
license = "MIT/Apache-2.0" | |||
license = "Apache-2.0 WITH LLVM-exception AND MIT AND (MIT OR Apache-2.0)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
license = "Apache-2.0 WITH LLVM-exception AND MIT AND (MIT OR Apache-2.0)" | |
license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)" |
(Minor consistency/readability nit, not a blocker.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, made this change
LICENSE.txt
Outdated
compiler-builtins as a whole is available for use under both the MIT license | ||
and the Apache-2.0 license with the LLVM exception (Apache-2.0 WITH | ||
LLVM-exception AND MIT). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
compiler-builtins as a whole is available for use under both the MIT license | |
and the Apache-2.0 license with the LLVM exception (Apache-2.0 WITH | |
LLVM-exception AND MIT). | |
compiler-builtins as a whole is available for use under both the MIT license | |
and the Apache-2.0 license with the LLVM exception (`MIT AND Apache-2.0 WITH | |
LLVM-exception`). |
Minor consistency and readability nit. Not a blocker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Posted a couple of minor nits, but they're not blockers.
b961f11
to
752e2a6
Compare
Currently, Cargo.toml specifies Apache-2.0 OR MIT, but LICENSE.txt describes MIT OR NCSA. compiler-builtins is derived from LLVM's compiler-rt. LICENSE.txt correctly reflects the state of compiler-rt prior to relicensing on 2019-01-19, during which time software was available for use under either MIT or the University of Illinois NCSA license. After relicensing, however, compiler-rt is available for use only under Apache-2.0 with the LLVM exception; this is not reflected anywhere in the repository. Update the SPDX license identifier to `MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)`. Each AND portion covers something specific: * Apache-2.0 WITH LLVM-exception: this covers work that is derived from the LLVM repository since after the LLVM relicensing. * MIT: This covers work that is derived from LLVM before the LLVM relicensing (under MIT OR NCSA), as well as the vendored `libm` components. * MIT AND Apache-2.0: This ensures that any contributions to this repository, in addition to meeting the above required licenses, is also released for use under the Rust-standard Apache-2.0 with no LLVM exception. See also the parallel license update in rust-lang/libm [1]. Fixes: rust-lang#307 Closes: rust-lang#511 Link: https://rust-lang.zulipchat.com/#narrow/channel/335408-foundation/topic/Request.20for.20legal.20team.20input.20on.20crate.20licensing Link: rust-lang/libm#317 [1]
752e2a6
to
8646087
Compare
This includes: * The license change rust-lang/compiler-builtins#717 * The `libm` submodule update, which also has a license change rust-lang/libm#317 * Re-enabling `math` on i686 UEFI rust-lang/compiler-builtins#715
Update compiler-builtins to 0.1.136 This includes: * The license change rust-lang/compiler-builtins#717 * The `libm` submodule update, which also has a license change rust-lang/libm#317 * Re-enabling `math` on i686 UEFI rust-lang/compiler-builtins#715 Fixes: rust-lang#128533
This includes: * The license change rust-lang/compiler-builtins#717 * The `libm` submodule update, which also has a license change rust-lang/libm#317 * Re-enabling `math` on i686 UEFI rust-lang/compiler-builtins#715
Update compiler-builtins to 0.1.136 This includes: * The license change rust-lang/compiler-builtins#717 * The `libm` submodule update, which also has a license change rust-lang/libm#317 * Re-enabling `math` on i686 UEFI rust-lang/compiler-builtins#715 Fixes: rust-lang/rust#128533
Update compiler-builtins to 0.1.136 This includes: * The license change rust-lang/compiler-builtins#717 * The `libm` submodule update, which also has a license change rust-lang/libm#317 * Re-enabling `math` on i686 UEFI rust-lang/compiler-builtins#715 Fixes: rust-lang/rust#128533
This should be "MIT OR Aapache-2.0", right? You were listing the 3 AND clauses, but the third thing you list does not match the third AND clause. |
As a contributor, you agree that your code can be used under either the MIT | ||
license, or the Apache-2.0 license, or the Apache-2.0 license with the LLVM | ||
exception. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be clear, this means I agree that you can choose any of these licenses, right? It doesn't mean I as the contributor can choose one of these licenses to make the contributor under? IMO this is not clear enough.
@RalfJung Fixed. |
Currently, Cargo.toml specifies Apache-2.0 OR MIT, but LICENSE.txt describes MIT OR NCSA. compiler-builtins is derived from LLVM's compiler-rt. LICENSE.txt correctly reflects the state of compiler-rt prior to relicensing on 2019-01-19, during which time software was available for use under either MIT or the University of Illinois NCSA license. After relicensing, however, compiler-rt is available for use only under Apache-2.0 with the LLVM exception; this is not reflected anywhere in the repository.
Update the SPDX license identifier to
MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)
. Each AND portion covers something specific:libm
components.See also the parallel license update in rust-lang/libm [1].
Fixes: #307
Closes: #511
Link: https://rust-lang.zulipchat.com/#narrow/channel/335408-foundation/topic/Request.20for.20legal.20team.20input.20on.20crate.20licensing
Link: rust-lang/libm#317 [1]