-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Copyright/license headers #43498
Copyright/license headers #43498
Conversation
Per the core team meeting today, everyone is on board. PR welcome! |
I don't want to file a PR for this, so anyone please go ahead! |
(rust_highfive has picked a reviewer for you, use r? to override) |
For a first pass, I've attached a pull request that addresses LICENSE-MIT and COPYRIGHT. If this looks good, we can work on dropping the individual file notices separately. (Edit: based on the wrong branch, rebasing.) |
I think for the RFC repo I'll replace the top paragraph with |
LICENSE-MIT contains the line "Copyright (c) 2015 The Rust Project Developers", which implies that an entity called "The Rust Project Developers" holds copyrights in Rust. Rust contributors retain their copyrights, and do not assign them to anyone by contributing. Remove the inaccurate notice.
Avoid implying that any copyrights have been assigned to a separate entity (such as "The Rust Project Developers") Rust contributors retain their copyrights, and do not assign them to anyone by contributing. Remove the inaccurate notice, and provide a clear explanation. Avoid stating that all files contain copyright notices and/or license notices, and especially avoid suggesting that the license terms only apply to files marked as such. In the process, this also drops a separate notice that implies only some copyrights are retained by contributors (suggesting that others are not).
@est31 I think the intention is to avoid having notices in individual files at all, at least in rust-lang/rust. |
8fc33fb
to
f1de27f
Compare
This looks great! Thanks @joshtriplett @bors: r+ rollup |
📌 Commit f1de27f has been approved by |
The Rust Project is copyright 2010, The Rust Project | ||
Developers. | ||
Copyrights in the Rust project are retained by their contributors. No | ||
copyright assignment is required to contribute to the Rust project. |
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.
If you include the "No copyright assignment is required" sentence, you should also talk about what is required, namely that by contributing, you agree to license the content under the given licenses and assert that you have the legal authority to license the content, or the content was given to you by a third party... or something like that.
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'd just remove the sentence.
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.
That's typically implicit when contributing to an Open Source project. Most projects don't state that explicitly. And I would suggest that we avoid explicitly writing language like "by contributing ... you agree ...", because that starts to look more like a contract or CLA.
Rust doesn't use anything like the DCO, either.
I think that's pretty bad, because it would then open the gates for discussion on which part of the source code is licensed and which one is only given to people for reference. Like idk individual tests from the testsuite. They are not part of the rust compiler. I'm against omitting license headers entirely. |
@est31 There shouldn't be any code that isn't licensed accordingly; if there were tests that were not appropriately licensed, they'd need to be removed. To the best of my knowledge, there aren't any such issues in the repository. Nonetheless, in the interests of not bikeshedding this, it'd also be fine to keep the license notices, and just drop the inaccurate copyright paragraphs. I really don't care that much between those two options; it's up to the core team. |
The legal guidance we've received suggests that these notices aren't serving any purpose; what matters is the top-level content being revised here, which requires an explicit opt-out of the standard licensing. |
Copyright/license headers (As discussed with @aturon and @est31. CC @rust-lang/core.) Currently, rust-lang/rust includes notices that say things like ``` The Rust Project is copyright 2010, The Rust Project Developers. ``` or ``` Copyright (c) 2010 The Rust Project Developers ``` or ``` // Copyright 2017 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. ``` These notices aren't accurate. "Copyright YYYY Some Name" has a specific legal meaning, and "The Rust Project Developers" isn't a legal entity. In practice, the actual legal structure is that all Rust contributors retain their copyrights when contributing to Rust, and just license them under MIT/Apache-2.0. Our legal notices should reflect that. This came up because of RFC 2044, which proposed fixing this for the RFC repository. That effort started out by copying the rust-lang/rust notices, propagating this issue. Based on discussion with @aturon, the two of us propose the following: - Delete the per-file notices entirely, for any files licensed under the standard terms. (Keep notices for anything that's *not* MIT/Apache-2.0.) - An alternative to that would be to just delete the first paragraph of the standard notice, and keep the second paragraph that points to the MIT and Apache 2.0 licenses. - Delete the first paragraph of LICENSE-MIT (the inaccurate pseudo-copyright line), leaving only the text of the MIT license. - Edit the COPYRIGHT file to more accurately describe the situation (changing the pseudo-copyright line immediately under "longer version", and editing the text that starts with "additional copyright may be ...", to just always state that copyrights are retained by the Rust contributors, and licensed under MIT/Apache-2.0 (with the exceptions to that explicitly noted in that file). If @rust-lang/core is fine with this proposal, I'd be happy to provide a pull request with the proposed fixes.
A related ticket #39897 |
☀️ Test successful - status-appveyor, status-travis |
@@ -1,5 +1,3 @@ | |||
Copyright (c) 2010 The Rust Project Developers |
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'm having trouble squaring this removal with the “The above copyright notice and this permission notice shall be included…” sentence below. @joshtriplett, do you think that will be a problem, now that there is no longer an above copyright notice?
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 don't believe so, no. The requirement is to reproduce what's there; if something isn't there you don't need to reproduce it.
Generated with: $ curl -s https://raw.githubusercontent.com/rust-lang/rust/1.23.0/LICENSE-MIT >LICENSE-MIT Rust dropped their copyright line from LICENSE-MIT in rust-lang/rust@2a8807e8 (LICENSE-MIT: Remove inaccurate (misattributed) copyright notice, 2017-07-26, [1]). I'm not clear on how that interacts with the "The above copyright notice and this permission notice shall be included..." line [2], but it's better than not including the MIT text at all (which is where we were before this commit). [3] has the same text (although it has a copyright template), but using Rust as the source gets us the Rust-standard line wrappings ;). [1]: rust-lang/rust@2a8807e [2]: rust-lang/rust#43498 (comment) [3]: https://opensource.org/licenses/MIT
Everything is replaced by a more explicit message in the COPYRIGHT file. Inspired by rust-lang/rust#43498 and rust-lang/rust#57108.
The Rust project determined these were unnecessary a while back[1,2,3] and we follow suite. [1] - rust-lang/rust@0565653 [2] - rust-lang/rust#43498 [3] - rust-lang/rust#57108
see rust-lang/rust#43498 for copyright notice discusssion Signed-off-by: Bhajneet S.K <bhajneet@gmail.com>
see rust-lang/rust#43498 for copyright notice discusssion Signed-off-by: Bhajneet S.K <bhajneet@gmail.com>
see rust-lang/rust#43498 for copyright notice discusssion
see rust-lang/rust#43498 for copyright notice discusssion
see rust-lang/rust#43498 for copyright notice discusssion
see rust-lang/rust#43498 for copyright notice discusssion
I have gotten permission from previous contributors to this project. See rust-lang/rust#43498 for copyright notice discusssion
I have gotten permission from previous contributors to this project. See rust-lang/rust#43498 for copyright notice discusssion
I have gotten permission from previous contributors to this project. See rust-lang/rust#43498 for copyright notice discusssion
I have gotten permission from previous contributors to this project. See rust-lang/rust#43498 for copyright notice discusssion
I have gotten permission from previous contributors to this project. See rust-lang/rust#43498 for copyright notice discusssion
(As discussed with @aturon and @est31. CC @rust-lang/core.)
Currently, rust-lang/rust includes notices that say things like
or
or
These notices aren't accurate. "Copyright YYYY Some Name" has a specific legal meaning, and "The Rust Project Developers" isn't a legal entity. In practice, the actual legal structure is that all Rust contributors retain their copyrights when contributing to Rust, and just license them under MIT/Apache-2.0. Our legal notices should reflect that.
This came up because of RFC 2044, which proposed fixing this for the RFC repository. That effort started out by copying the rust-lang/rust notices, propagating this issue.
Based on discussion with @aturon, the two of us propose the following:
If @rust-lang/core is fine with this proposal, I'd be happy to provide a pull request with the proposed fixes.