End of days for the rust-lang nursery?


#1

The nursery GitHub org has been around for a while now. The original purpose was a place for libraries which were considered important for the community, but not ready (or appropriate) for the main org. Once concern was that the main repo would get too cluttered if there were lots of repos there.

We long ago stopped using the nursery for discovery of libraries in favour of crates.io. It is now used as just another org for Rust stuff. Although nominally things in the nursery are less mature than those in the main org, this is not at all strict. The main org has also passed the point of having few enough repos to be easy to navigate.

The downside of multiple orgs is that teams, bots, and settings have to be maintained in two places. This is extra work for no gain, and is a security risk (since we double the chance of forgetting to update something).

So, it seems to the core team that the nursery is no longer useful and it should be retired. The plan would be to move all the repos to the main org (repos which are no longer relevant or unmaintained could be moved to https://github.com/rust-unofficial), and to merge teams across the orgs. GitHub automatically redirects moved repos, so there should be no changes needed to either your bookmarks or Git configs.

Please let us know your thoughts!


#2

Seems like a good idea to merge…

…a reminder / note: add “this has moved” links to the nursery so that we don’t get a bunch of dead links.


#3

Yeah, let’s get rid of it.


#4

Is this necessary? I was somewhat hoping that GitHub would auto-redirect both pages and links to the repositories directly…


#5

Yep, Github will redirect when you go to the old location of a transferred repository.


#6

Including github pages hosted websites, e.g. https://rust-lang-nursery.github.io/rustc-guide/walkthrough.html?


#7

This gist says that github.io pages don’t redirect automatically, but shows how to do manual redirects: https://gist.github.com/domenic/1f286d415559b56d725bee51a62c24a7

But I guess you’d have to do that for every single page within too?


#8

You can add a special 404.html and do a JS-based redirect, if needed.

And I think you can get around the way that gh-pages needs a repository by transferring the repos, then setting up a rust-lang-nursery.github.io repo and putting the website redirects in there.

That way GH repo requests will be redirected, and web page requests will as well, without having to put up another repo which would break the repo forwarding.


#9

Retiring the nursery sounds good to me too. It has played a role recently as a springboard to officialdom though, where a library starts out under someone’s personal account, then makes its way into the nursery with a few people pushing it forward, then one way or another makes its way into std or the rust-lang org.

That sort of process sounds like it could be replaced with a working group structure going forward though.