-
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
Remove header licenses across the project #57108
Conversation
@bors r+ p=1000 It would be nice to get a tidy check that looks for the header in the future, but that doesn't need to be included in this PR. Thanks Mark! 🎉 |
📌 Commit d147ce5ae307dd04541fa603daeed15ffce27462 has been approved by |
⌛ Testing commit d147ce5ae307dd04541fa603daeed15ffce27462 with merge 9e35dc0e3aee786a3b439828ed40374c8af8259c... |
💔 Test failed - status-appveyor |
This comment has been minimized.
This comment has been minimized.
d147ce5
to
199082b
Compare
This comment has been minimized.
This comment has been minimized.
b0e4495
to
d797cd6
Compare
@bors r=pietroalbini |
📌 Commit d797cd6e258ff1b24039992c92d9df03a2e762d6 has been approved by |
⌛ Testing commit d797cd6e258ff1b24039992c92d9df03a2e762d6 with merge 8b53008d9ee36cfb8ebdb9a1af3377c026bbcd06... |
💔 Test failed - status-travis |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
d797cd6
to
d0c0060
Compare
Could've sworn I had tested these test failures... @bors r=pietroalbini |
@bors treeclose- |
@Mark-Simulacrum What was the motivation for this change? How does it bear on e.g. #25664? |
No bearing, to my knowledge. The code is still licensed as before (MIT/Apache), just is cleaner by skipping the ~10 lines of boilerplate code in every file. |
@Mark-Simulacrum: I agree about it looking cleaner. But I remember past discussion on GitHub where, if I recall correctly, Mozilla was said to have found the license header at the top of every source file legally necessary. What do you think about adding SPDX comments to every file instead? See https://spdx.org/sites/cpstandard/files/pages/files/using_spdx_license_list_short_identifiers.pdf . Within a project of mine, this was required. |
@Mark-Simulacrum, @pietroalbini, was there previous discussion of this change somewhere? Not that I’m opposed to it, but I’m curious of the arguments. Do the reasons these headers were added in the first place no longer hold? Why? |
@SimonSapin the discussion was in #43498. |
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
This performs the relicensing to MIT/Apache-2.0 as discussed in tiny-http#161 (archived link: http://web.archive.org/web/20191009143715/https://github.com/tiny-http/tiny-http/issues/161) Instead of updating the file headers, I just removed them, as the rustc compiler has done the same: rust-lang/rust#57108
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
Dual-licensing the project under either the MIT or Apache 2.0 licenses provides for maximum compatibility within the Rust ecosystem and is recommended by the upstream API guidelines. The Rust project no longer feels that per-file license headers are required, but it's widely debated elsewhere. To simplify those headers, I'll follow the lead of the Linux kernel project and utilize the Software Package Data Exchange (SPDX) short-form identifiers. Copyrights in the project are retained by their contributors and no copyright assignment is required to contribute. Authorship information can be found in the version control history. See: - https://rust-lang.github.io/api-guidelines/necessities.html#crate-and-its-dependencies-have-a-permissive-license-c-permissive - rust-lang/rust#57108 - https://www.kernel.org/doc/html/latest/process/license-rules.html#license-identifier-syntax - https://spdx.org/ids
The license was removed from `binary_heap.rs` in rust-lang/rust#57108 after it was determined that the per-file license headers were not necessary. See also discussion in rust-lang/rust PRs #53654, #53617, and #43498.
These were all removed a while ago in rust-lang/rust#57108
The BOM was accidentally removed in rust-lang#57108
Fix utf8-bom test The BOM was accidentally removed in rust-lang#57108 I had to move the run-pass line down, because compiletest doesn't seem to know about BOMs, so it does not parse the header if it is the first line.
Rollup merge of rust-lang#131379 - ehuss:fix-utf8-bom, r=jieyouxu Fix utf8-bom test The BOM was accidentally removed in rust-lang#57108 I had to move the run-pass line down, because compiletest doesn't seem to know about BOMs, so it does not parse the header if it is the first line.
This pull request removes the header licenses from files across the Rust repository.
I've attempted to check for any remaining headers and removed all of them -- any we've missed can be removed in the future; there's nothing blocking that.
Unfortunately, not all of the changes are as basic as "removing a header" because some of them required test file updates or otherwise. However, I am fairly confident that the changes in this pull request, while wide-sweeping, are unlikely to actually make any tests fail to properly test the code; any non-script based changes were manual and carefully verified.
r? @pietroalbini cc @rust-lang/infra