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

What is the nursery in 2018? #7

Open
KodrAus opened this issue Mar 11, 2018 · 0 comments
Open

What is the nursery in 2018? #7

KodrAus opened this issue Mar 11, 2018 · 0 comments

Comments

@KodrAus
Copy link
Collaborator

KodrAus commented Mar 11, 2018

In RFC 1242, we described the original motivations for rust-lang-nursery and a process for accepting, iterating, and stabilising the crates within it. Some of the key goals of the nursery have been managing:

  • Governance
  • Maintenance
  • Quality

With respect to the standard library, the nursery has been serving a few purposes:

  • Flexibility for APIs outside of std
  • Somewhere to iterate and stabilise APIs over a long period (like net2 in RFC 1461)
  • Somewhere to stage APIs destined to be standard implementations in rust-lang alongside std (like regex in RFC 1620)
  • Somewhere to collect the APIs shaved off std before Rust 1.0

I think there are a few assumptions built in to the original processes surrounding the nursery (these might actually be incorrect!):

  • The way the Rust community collaborates is through RFCs
  • The maintenance of std will naturally extend to libraries in the nursery
  • All libraries in the nursery either belong in rust-lang as de-facto standards, or they should be deprecated

Over the last 3 years we've learned a lot about what maintenance in the nursery alongside std looks like, and how the Rust community can collaborate on API design outside of RFCs. The libz blitz has been an effective way to discuss motivations, evaluate design decisions and direct contributions to stabilising libraries. Nursery libraries themselves have followed different paths than the one outlined in RFC 1242:

  • uuid has been moved into a new external organisation and will stabilise there. So far I'm liking the GitHub organisation with liberal ownership + shepherd approach.
  • tempdir has been merged into the external tempfile crate and will stabilise in its next major version.
  • env_logger has been moved into a new external repository and will continue to develop there
  • bitflags has stabilised in the nursery.
  • log remains in the nursery and continues to develop there.

It would be great if we could revisit some of the goals and processes around the nursery with the experience and tools of the last few years and apply them in 2018.

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

No branches or pull requests

1 participant