-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1983 from jethrogb/nursery-deprecation
Amend RFC 1242 to require an RFC for deprecation of crates from the nursery
- Loading branch information
Showing
2 changed files
with
87 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
- Feature Name: N/A | ||
- Start Date: 2017-04-26 | ||
- RFC PR: https://github.com/rust-lang/rfcs/pull/1983 | ||
- Rust Issue: N/A | ||
|
||
# Summary | ||
[summary]: #summary | ||
|
||
Amend [RFC 1242] to require an RFC for deprecation of crates from the | ||
rust-lang-nursery. | ||
|
||
[RFC 1242]: https://github.com/rust-lang/rfcs/blob/master/text/1242-rust-lang-crates.md | ||
|
||
# Motivation | ||
[motivation]: #motivation | ||
|
||
There are currently very ubiquitous crates in the nursery that are being used | ||
by lots and lots of people, as evidenced by the crates.io download numbers (for | ||
lack of a better popularity metric): | ||
|
||
| Nursery crate | Downloads | | ||
| ------------- | --------- | | ||
| bitflags | 3,156k | | ||
| rand | 2,615k | | ||
| log | 2,417k | | ||
| lazy-static | 2,108k | | ||
| tempdir | 934k | | ||
| uuid | 759k | | ||
| glob | 467k | | ||
| net2 | 452k | | ||
| getopts | 452k | | ||
| rustfmt | 80k | | ||
| simd | 14k | | ||
|
||
(numbers as of 2017-04-26) | ||
|
||
[RFC 1242] currently specifies that | ||
|
||
> The libs subteam can deprecate nursery crates at any time | ||
The libs team can of course be trusted to be judicious in making such | ||
decisions. However, considering that many of the nursery crates are depended on | ||
by big fractions of the Rust ecosystem, suddenly deprecating things without | ||
public discussion seems contrary to Rust's philosophy of stability and | ||
community participation. Involving the Rust community at large in these | ||
decisions offers the benefits of the RFC process such as increased visibility, | ||
differing viewpoints, and transparency. | ||
|
||
# Detailed design | ||
[design]: #detailed-design | ||
|
||
The exact amendment is included as a change to the RFC in this PR. | ||
[View the amended text](1242-rust-lang-crates.md). | ||
|
||
# How We Teach This | ||
[how-we-teach-this]: #how-we-teach-this | ||
|
||
N/A | ||
|
||
# Drawbacks | ||
[drawbacks]: #drawbacks | ||
|
||
Requiring an RFC for deprecation might impose an undue burden on the library | ||
subteam in terms of crate maintenance. However, as [RFC 1242] states, this is | ||
not a major commitment. | ||
|
||
Acceptance into the nursery could be hindered if it is believed it could be | ||
hard to reverse course later due to the required RFC being percieved as an | ||
obstacle. On the other hand, RFCs with broad consensus do not generally impose | ||
a large procedural burden, and if there is no consensus it might be too early | ||
to deprecate a nursery crate anyway. | ||
|
||
# Alternatives | ||
[alternatives]: #alternatives | ||
|
||
Don't change the process and let the library subteam make deprecation decisions | ||
for nursery crates. | ||
|
||
# Unresolved questions | ||
[unresolved]: #unresolved-questions | ||
|
||
None as of yet. |