-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Add COPYRIGHT-*.html files to distribution and update COPYRIGHT
#133461
base: master
Are you sure you want to change the base?
Add COPYRIGHT-*.html files to distribution and update COPYRIGHT
#133461
Conversation
rustbot has assigned @albertlarsan68. Use |
This comment has been minimized.
This comment has been minimized.
r? @Kobzol (although as JP mentioned, this will need some opinions from the council, probably) |
Can you please rebase this to make it a bit easier to review? Thanks! |
c78c7ba
to
249479a
Compare
Done |
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.
Left a few nits/comments, but otherwise looks good, from the technical side.
I thought that we would copy the MIT/Apache licenses from the From the technical point of view, I'm fine with this PR (well, a squash of the commits would be nice, but that's a detail). For the legal side, we should probably wait for the council meeting (?). |
|
Have we tested, does GitHub still autodetect the license with these changes? It would seem unfortunate to lose that. |
This PR (at least currently) keeps the original |
Thanks @jonathanpallant for moving this forward, this looks great! The Council did briefly touch on this today, and there should be some more followup beyond my personal comment here. I had some questions:
This seems good to me, but I'm curious how someone is to interpret this directory. Is this directory intended for a user to look at when they download the source? Or is it primarily used for building/installing to generate the output?
Curious about your thoughts here. Is the intent to add more to those in the future?
Any particular reason to do this? Those files look like generic copies with placeholders. Shouldn't it be using the license files from the root that are the actual license we are asserting?
It looks like this has been reverted. Can you update the PR comment for whatever is now current? It looks like one of the few substantive changes is 683dbe4, can you include that in the PR description? I am recommending that we double-check with our legal counsel on this particular thing, because there has been some disagreement on which form it should take, and I think it would be good to have an official answer to settle that.1 It was helpful to me to actually see what this looks like, so I created a copy of the relevant files now in the binary distribution with the changes from this PR: copyright.zip Footnotes
|
As @ehuss mentioned, we discussed this in our council call today, and given that we had some questions here, including those that Eric mentioned above, we tabled this matter to our next call on 20 December. |
Good point. Now we're leaving those two files in, the Windows installer can use them. |
) add COPYRIGHT*.html files to the rustc binary distribution ) add contents of LICENSE folder to dist tarballs, because some of our in-tree licences will require that the license text is reproduced. ) The wording of COPYRIGHT is adjusted to not include license text (`reuse` ensures that it's in the LICENSE folder) ) A blanket copyright notice is added to LICENCE-MIT as required by the text. The general approach is that the license statements are now compiled using a tool in CI (generate-copyright), and you get either: * the source code (COPYRIGHT, LICENCE-APACHE, LICENCE-MIT, REUSE.toml and the LICENCES folder), or * the compiled version (COPYRIGHT.html, COPYRIGHT-library.html and the LICENCES folder).
683dbe4
to
f9c1699
Compare
Apologies for the messy PR - it has required an iterative approach. I've now squashed everything and re-worded the commit message and the opening message in this PR. |
LGTM from my side, I'll let the council take another look, but otherwise you can r=me. |
I sent an email to the Foundation to get a follow up on the MIT copyright notice. |
💔 Test failed - checks-actions |
@bors retry dist-aarch64-linux died somewhere during the upload stage The hosted runner: GitHub Actions 55 lost communication with the server. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error. |
…t, r=Kobzol,traviscross,ehuss Add COPYRIGHT-*.html files to distribution and update `COPYRIGHT` * Updates the `COPYRIGHT` file to describe how we actually do things now, and removes the licence text from it as they are stored elsewhere. * dist tarballs get all of the files in `LICENSES/*`. * This folder is managed by `reuse` and each file exists because we refer to the licence somewhere in our tree. We should be supplying these licence texts to anyone who obtains a copy of the source code and now we do. * The binary rust tarball gets `COPYRIGHT.html` and `COPYRIGHT-library.html`, which are auto-generated files that describe the licence information for both the in-tree source files used to build the Rust toolchain, and the out-of-tree dependencies we used to build the toolchain. * The other binary tarballs are unchanged, for now. In future you need to make a call whether to ship multiple version of COPYRIGHT.html, or whether to try and make, for example, a cargo-specific COPYRIGHT.html file. * The `LICENSE-MIT` file now includes a blanket copyright statement, as the text indicates that it should and because users will expect to know who owns the copyright of the material they have been given (even if the answer is 'lots of people'). try-job: x86_64-fuchsia
💔 Test failed - checks-actions |
@bors retry dist-aarch64-linux died in the exact same place? Maybe related to the ongoing incident? I'm really confused. |
…t, r=Kobzol,traviscross,ehuss Add COPYRIGHT-*.html files to distribution and update `COPYRIGHT` * Updates the `COPYRIGHT` file to describe how we actually do things now, and removes the licence text from it as they are stored elsewhere. * dist tarballs get all of the files in `LICENSES/*`. * This folder is managed by `reuse` and each file exists because we refer to the licence somewhere in our tree. We should be supplying these licence texts to anyone who obtains a copy of the source code and now we do. * The binary rust tarball gets `COPYRIGHT.html` and `COPYRIGHT-library.html`, which are auto-generated files that describe the licence information for both the in-tree source files used to build the Rust toolchain, and the out-of-tree dependencies we used to build the toolchain. * The other binary tarballs are unchanged, for now. In future you need to make a call whether to ship multiple version of COPYRIGHT.html, or whether to try and make, for example, a cargo-specific COPYRIGHT.html file. * The `LICENSE-MIT` file now includes a blanket copyright statement, as the text indicates that it should and because users will expect to know who owns the copyright of the material they have been given (even if the answer is 'lots of people'). try-job: x86_64-fuchsia
💔 Test failed - checks-actions |
@bors r- Looks like dist-aarch64-linux is running out of disk space. It's not immediately obvious to me looking at the diff here why that might be, but it looks like it is using over 2GB more space than a normal build? That doesn't seem right. |
Oh, I didn't realize this was using #135262 is going to be moving the job to a much larger runner. |
Yeah, sadly. I don't know any other way to trawl the source code for every dependency looking for the relevant notice and licence files that we are required to reproduce. |
I also note that the process added here is independent of the target being built (it's the same source code, regardless of target). So in theory, you could have a job that builds the COPYRIGHT.html and COPYRIGHT-library.html files once, and you can then just include those files alongside every binary artefact, without rebuilding the files N times. I don't know how to drive your CI pipeline to do that though. |
We will probably experiment with something like this (fan-off) to improve CI times, so ee can include copyright in that. But that's quite complex, so no need to gate this on these experiments. I'll reapprove this once the ARM job is moved to an ARM runner. |
COPYRIGHT
file to describe how we actually do things now, and removes the licence text from it as they are stored elsewhere.LICENSES/*
.reuse
and each file exists because we refer to the licence somewhere in our tree. We should be supplying these licence texts to anyone who obtains a copy of the source code and now we do.COPYRIGHT.html
andCOPYRIGHT-library.html
, which are auto-generated files that describe the licence information for both the in-tree source files used to build the Rust toolchain, and the out-of-tree dependencies we used to build the toolchain.LICENSE-MIT
file now includes a blanket copyright statement, as the text indicates that it should and because users will expect to know who owns the copyright of the material they have been given (even if the answer is 'lots of people').try-job: x86_64-fuchsia