You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think that isn't 100% necessary, but since this crate is pulled by libstd, it would simplify things if it would support the same licenses as the Rust runtime.
@gnzlbg No deep reason. I'm fine changing it. Would (Apache-2.0 WITH LLVM-exception) OR MIT be acceptable? It's strictly more permissive than Apache-2.0 OR MIT.
@newpavlov Do you agree to relicensing? If so, please comment with:
I license past and future contributions under the dual (Apache-2.0 WITH LLVM-exception) OR MIT licenses, allowing licensees to chose either at their option.
I license past and future contributions under the dual (Apache-2.0 WITH LLVM-exception) OR MIT licenses, allowing licensees to chose either at their option.
But do we really need the LLVM-exception? Shouldn't MIT license already be compatible with LLVM?
I'm also not a lawyer and can't say whether triple licensing is really necessary here, but I also don't see any problem with it.
@newpavlov Would you mind making another post, for completeness:
I license past and future contributions under the (Apache-2.0 WITH LLVM-exception) OR Apache-2.0 OR MIT licenses, allowing licensees to chose any of these at their option.
I license past and future contributions under the (Apache-2.0 WITH LLVM-exception) OR Apache-2.0 OR MIT licenses, allowing licensees to chose any of these at their option.
FWIW I think Apache-2.0+LLVM exception or MIT is fine for this purpose. With the LLVM exception it's better-licensed than everything else in the runtime.
Adding the MIT license (as has been done) is required for compatibility with GPL 2.0 (this is why Rust is dual licensed). So everything in the Rust runtime must have a non-Apache, BSD/MIT-like license attached to it, with Apache as a bonus.
Personally I lean toward Apache-2.0/BSL-1.0/MIT trilecense over the LLVM exception, but there's definitely something to be said for just copying the LLVM license, since they have lawyers vetting it.
Oh, I see that it's now trilicensed Apache-2.0/Apache-2.0+LLVM/MIT. I think that isn't necessary, Apache-2.0+LLVM/MIT would be fine, but the triliscense doesn't hurt, can trivially be trimmed to a dual-license later, and might have slight advantages, e.g. tooling might understand Apache-2.0 but not the LLVM exception.
Oh actually, there might be a reason to prefer BSL-1.0 over Apache+LLVM - the GPL 2 compatibility. Now, I don't remember why Apache 2.0 is not GPL 2.0 compatible, so caveat, but the Apache+LLVM/MIT license presumably implies that "you are allowed to use the runtime exception, unless you are linking to GPL 2 code". Though perhaps the LLVM exception fixes the GPL 2 problem, or it has since been determined that Apache 2 and GPL 2 are compatible.
Though perhaps the LLVM exception fixes the GPL 2 problem, or it has since been determined that Apache 2 and GPL 2 are compatible.
The LLVM exception is specifically meant to make Apache 2 GPL 2-compatible. The legal departments of at least two large vendors we talked to see this as valid and thus see just APL 2+LLVM as GPL 2-compatible.
Activity
gnzlbg commentedon Aug 27, 2019
I think that isn't 100% necessary, but since this crate is pulled by
libstd, it would simplify things if it would support the same licenses as the Rust runtime.mati865 commentedon Aug 27, 2019
cc rust-lang/rust#63676 which is integrating this crate into
libstd.sunfishcode commentedon Aug 27, 2019
@gnzlbg No deep reason. I'm fine changing it. Would (Apache-2.0 WITH LLVM-exception) OR MIT be acceptable? It's strictly more permissive than Apache-2.0 OR MIT.
@newpavlov Do you agree to relicensing? If so, please comment with:
newpavlov commentedon Aug 27, 2019
I license past and future contributions under the dual (Apache-2.0 WITH LLVM-exception) OR MIT licenses, allowing licensees to chose either at their option.
But do we really need the LLVM-exception? Shouldn't MIT license already be compatible with LLVM?
gnzlbg commentedon Aug 27, 2019
Maybe @brson knows?
I'm not a lawyer, so I really have no idea. Triple-licensing it as "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT" would probably work though.
sunfishcode commentedon Aug 27, 2019
I'm also not a lawyer and can't say whether triple licensing is really necessary here, but I also don't see any problem with it.
@newpavlov Would you mind making another post, for completeness:
newpavlov commentedon Aug 27, 2019
I license past and future contributions under the (Apache-2.0 WITH LLVM-exception) OR Apache-2.0 OR MIT licenses, allowing licensees to chose any of these at their option.
Change license to (Apache-2.0 WITH LLVM-exception) OR Apache-2.0 OR MIT
Change license to (Apache-2.0 WITH LLVM-exception) OR Apache-2.0 OR MIT
brson commentedon Aug 30, 2019
FWIW I think Apache-2.0+LLVM exception or MIT is fine for this purpose. With the LLVM exception it's better-licensed than everything else in the runtime.
Adding the MIT license (as has been done) is required for compatibility with GPL 2.0 (this is why Rust is dual licensed). So everything in the Rust runtime must have a non-Apache, BSD/MIT-like license attached to it, with Apache as a bonus.
Personally I lean toward Apache-2.0/BSL-1.0/MIT trilecense over the LLVM exception, but there's definitely something to be said for just copying the LLVM license, since they have lawyers vetting it.
brson commentedon Aug 30, 2019
Oh, I see that it's now trilicensed Apache-2.0/Apache-2.0+LLVM/MIT. I think that isn't necessary, Apache-2.0+LLVM/MIT would be fine, but the triliscense doesn't hurt, can trivially be trimmed to a dual-license later, and might have slight advantages, e.g. tooling might understand Apache-2.0 but not the LLVM exception.
brson commentedon Aug 30, 2019
Oh actually, there might be a reason to prefer BSL-1.0 over Apache+LLVM - the GPL 2 compatibility. Now, I don't remember why Apache 2.0 is not GPL 2.0 compatible, so caveat, but the Apache+LLVM/MIT license presumably implies that "you are allowed to use the runtime exception, unless you are linking to GPL 2 code". Though perhaps the LLVM exception fixes the GPL 2 problem, or it has since been determined that Apache 2 and GPL 2 are compatible.
tschneidereit commentedon Aug 30, 2019
The LLVM exception is specifically meant to make Apache 2 GPL 2-compatible. The legal departments of at least two large vendors we talked to see this as valid and thus see just APL 2+LLVM as GPL 2-compatible.
tschneidereit commentedon Aug 30, 2019
Ah, I now see that @sunfishcode made much better points regarding this over here.