Skip to content

License #9

Closed
Closed

Description

@gnzlbg

Is there a reason this isn't dual-licensed with Apache 2.0 OR MIT ?

Activity

  1. gnzlbg commented on Aug 27, 2019

    @gnzlbg
    Author

    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.

  2. mati865 commented on Aug 27, 2019

    @mati865

    cc rust-lang/rust#63676 which is integrating this crate into libstd.

  3. sunfishcode commented on Aug 27, 2019

    @sunfishcode
    Member

    @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.

  4. newpavlov commented on Aug 27, 2019

    @newpavlov
    Contributor

    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?

  5. gnzlbg commented on Aug 27, 2019

    @gnzlbg
    Author

    Would (Apache-2.0 WITH LLVM-exception) OR MIT be acceptable?

    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.

  6. sunfishcode commented on Aug 27, 2019

    @sunfishcode
    Member

    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.

  7. newpavlov commented on Aug 27, 2019

    @newpavlov
    Contributor

    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.

  8. brson commented on Aug 30, 2019

    @brson

    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.

  9. brson commented on Aug 30, 2019

    @brson

    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.

  10. brson commented on Aug 30, 2019

    @brson

    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.

  11. tschneidereit commented on Aug 30, 2019

    @tschneidereit
    Member

    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.

  12. tschneidereit commented on Aug 30, 2019

    @tschneidereit
    Member

    Ah, I now see that @sunfishcode made much better points regarding this over here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions