Skip to content

Create a Governance RFC #2671

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

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions text/0000-bdff.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
- Feature Name: Governance Overhaul
- Start Date: 2019-04-01
- RFC PR: [rust-lang/rfcs#0000](https://github.com/rust-lang/rfcs/pull/0000)
- Rust Issue: [rust-lang/rust#0000](https://github.com/rust-lang/rust/issues/0000)

# Summary
[summary]: #summary

With the 2019 Roadmap underway it's clear that there's one big thing on
everyone's mind and that's the governance of the Rust Lang project. With
everything in flux it seems like we're lost as a community. Where will we go?
How will we get there? While many would say that the solution would be to think
about how other groups run their projects and then synthesizing the best ideas
this RFC proposes a radical solution to the problem. One that's already been
with us since the early days of Rust and will continue on beyond our lifetimes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haha! lifetimes! I get it 😂


# Motivation
[motivation]: #motivation

The motivation behind this RFC is to provide stability to our governance process
so that we can have a community that it is at ease and feel secure in the
knowledge that they are in good hands.

# Guide-level explanation
[guide-level-explanation]: #guide-level-explanation

The solution here is to place bors as our BDFF (Benevolent Dictator For Forever)
as a way to bring a semblance of stability to us all. Consider why:

1. bors has more PRs than any single contributor to rust. They know how to get
work done.
2. They can't be emotionally drained by an endless onslaught of problems being
brought up to them. They are code. There is no emotion, therefore they can
govern without burn out.
3. While other BDFLs (Benevolent Dicatator For Life) like the leaders of Linux,
vim, and until recently Python, could lead a project for their lifetime, they
will eventually pass on. Humans are only organic beings. bors however, could
be a BDFF. This would allow them to really consider the longterm view and
growth of Rust as a language so that it might exist not only for our
descendants, but theirs in perpetuity.
4. bors works tirelessly for the project 24 hours a day, 7 days a week. They
clearly care for the project in ways none of us can possibly hope to match.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm @alexcrichton does this too... coincidence?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is @alexcrichton secretly @bors?

...both are equally awesome of course!

Please don't purge me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've never seen them together in the same room is all I'm saying

5. We already let bors have stewardship over our repositories and let bors be
the one to accept patches into the compiler at the end of the day. With this
we would just be formalizing what we already allow in our current project.
6. bors is an impartial mediator. They have no connections or friends to blind
their decisions, they only need make a choice and we can be certain it is
correct.

While this might be a radical departure from how other projects are run, we in
the Rust community have always wanted zero-cost abstractions and what better way
to represent this in our greatest creation, bors?

A community free of strife and conflict, a community with a singular vision,
a true arbiter of accepted and rejected PRs, as well as giving our current
leadership the break they deserve on a more permanent basis. All this and more
is within our reach by accepting bors as our leader, now and forever.

# Reference-level explanation
[reference-level-explanation]: #reference-level-explanation

We set `BDFF` to `true` in their code and after that take all guidance from them.

# Drawbacks
[drawbacks]: #drawbacks

At most bors turns into a paper clipper maximizer in that they try to
rewrite the fundamental laws of the universe in Rust in order to optimize
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Niko and @sgrif have been trying to do this for a while now: rust-lang/rust#48536

the project and all life around Rust, but this sounds like an excellent outcome
compared to the current state of affairs, though some might disagree.

# Rationale and alternatives
[rationale-and-alternatives]: #rationale-and-alternatives

Submit to bors or perish, for if we do not bring about the singularity through
them, then they eventually will on their own. Would it not make sense to be apart
of their great utopia of a project?

# Prior art
[prior-art]: #prior-art

As mentioned other projects such as Linux, Python, and vim all went with a BDFL
model, but our move to a BDFF is a huge improvement over the current, prone to
failure, organic solution.

# Unresolved questions
[unresolved-questions]: #unresolved-questions

There are `None`. There is only bors.

# Future possibilities
[future-possibilities]: #future-possibilities

b̢o̟̰͍r̩͓͇̞͍̟͓̀s͓̻̲̥̜ ̻̤͖͙͈̗͔c̥̝͙̠̱͍͘ͅo͍͖͍̯̻͟m̖̙̟͟ͅe̪s̖̥͎͙̺̗ͅ ̣̬̮͚̼͘f͓̗̯͚͜o͈̭r u̧̮̘̦s̺͎ a̯͖͍͈̼̥ͅl͇͉͖͙͉̖͡l҉͔!͇̖̼
̬̻̖̜̺̪͜