Skip to content
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

How, if at all, should rustup display the licence terms for Rust etc? #2668

Open
clehner opened this issue Feb 16, 2021 · 3 comments
Open

How, if at all, should rustup display the licence terms for Rust etc? #2668

clehner opened this issue Feb 16, 2021 · 3 comments

Comments

@clehner
Copy link

clehner commented Feb 16, 2021

Should Rustup include license text and copyright notices for the Rust toolchain and its internal dependencies, to be installed alongside the binaries? Or do the binaries have command-line options to output this info? Should license info be displayed at install time also?

Related: rust-lang/rust#67014

@kinnison
Copy link
Contributor

I am not certain what (if any) licence obligations would require that we do that. The licence texts for the toolchains are included in the documentation components I believe, though perhaps copies ought to accompany the rustc and cargo components too.

As I am not at all sure either way what would be best, I'd like to leave this open for possible input from others, and I've subscribed to the related issue that you have linked. Thank you for bringing this up.

@kinnison kinnison changed the title Licenses How, if at all, should rustup display the licence terms for Rust etc? Feb 20, 2021
@rbtcollins
Copy link
Contributor

Unless there is a specific legal obligation to ensure that the user has read the licence (ugh), I would very much like to follow the Ubuntu approach of minimalism here: though they are a founding enabling capability for what we do, the licenses are not themselves what we do.

And if we do have to show them, then at a UX level I think that we should only interrupt a user the minimum number of times. Various approaches have been used for this. For instance Ubuntu just says that the licenses are available on the system and lets folk go and grab them from /usr/share/doc/copyright as desired. I'm not even sure if the Ubuntu installer mentions that much these days.

Also I think that we need to look at this holistically, as we're now used underneath GUIs as well...

so to that end, I think the attributes we want from the system as a whole are:

  • scriptable / machine driveable
  • data driven
  • does not require running processes
    • (because e.g. installing a toolchain that doesn't run locally doesn't free use from any license obligations, and if we have decided that showing the text is an obligation, then we can't be dependent on the ability to execute).
    • and because running processes makes it harder to de-duplicate license texts
  • good UX (whatever that means)

@MaulingMonkey
Copy link
Contributor

The licence texts for the toolchains are included in the documentation components I believe

Yep:

  • %USERPROFILE%\.rustup\toolchains\1.6.0-x86_64-pc-windows-msvc\share\doc\rust\{COPYRIGHT, LICENSE-APACHE, LICENSE-MIT}
  • %USERPROFILE%\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\share\doc\rust\{COPYRIGHT, LICENSE-APACHE, LICENSE-MIT}
  • ${rustup show home}\toolchains\${rustup show active-toolchain}\share\doc\rust\{COPYRIGHT, LICENSE-APACHE, LICENSE-MIT}

(share\doc\{cargo, clippy, rustfmt, ...} are also a thing)

These contain a lot of (bitrotted) external references to license files not included in said docs, but that should be fixed upstream in rust-lang/rust.

though perhaps copies ought to accompany the rustc and cargo components too.

Might technically be required for rustup to comply with some of the license terms? 🤔

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

No branches or pull requests

4 participants