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

[RFC 0043] RFC Steering Committee Rotation #43

Merged
merged 7 commits into from
Jun 11, 2019
Merged
Changes from 2 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
100 changes: 100 additions & 0 deletions rfcs/0043-rfcsc-rotation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
feature: rfcsc-rotation
start-date: 2019-04-24
author: Robin Gloster <mail@glob.in>, Simon Lackerbauer <mail@ciil.io>
related-issues: 36
---

# Summary
[summary]: #summary

Each RFC Steering Committee (RFCSC) unanimously elects the succeeding one at
their first meeting in December from an open list of nominees.

# Motivation
[motivation]: #motivation

With the implementation of [RFC
Copy link
Member

Choose a reason for hiding this comment

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

The RFC Steering committee has been established by RFC 36

? More straightforward phrasing.

36](https://github.com/NixOS/rfcs/blob/master/rfcs/0036-rfc-process-team-amendment.md)
the RFC Steering Committee has been established. Among others, future work for
Copy link
Member

Choose a reason for hiding this comment

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

Nit: among others is redundant because included doesn't imply completeness

Copy link
Member

Choose a reason for hiding this comment

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

That's debatable, at least from a common law framing where the set phrase "included but not limited to" sometimes does kind of imply the completeness of includes (and is an instance of the legal principle expressio unius est exclusio alterius). That is, of course, just an equally debatable nitpick in the other direction 😄. I do think we can simply remove the among others without loss of meaning. We're not negotiating a liability waiver, after all. For me personally however, it adds to the flow just enough to make it worthwhile.

that RFC included a definition of how members to the Committee are to be chosen
or removed. This RFC provides mechanisms through which membership in the
Steering Committee can be established or ended, so as not to make membership a
mandate for life, allowing a healthy rotation of members, and offering several
procedures to always keep the Steering Committee capable of making decisions
such that the RFC process can keep running smoothly at all times.
Copy link
Member

Choose a reason for hiding this comment

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

Run-on sentence! 🚨 The "mandate for life" and "healthy rotation" bits are also just restating that the committee will change and that that is in some vague way good. Here's an attempt at rephrasing with a bit more structure and justification:

This RFC provides mechanisms for beginning and ending Steering Committee membership. The purpose of this is to ensure that the committee:

  • continues to consist of well-informed and motivated members;
  • continues to represent the evolving community;
  • remains active and keeps the RFC process running.


# Detailed design
[design]: #detailed-design

The RFC Steering Committee shall always have five members. If membership drops
below five members (for example by abdication of a member as detailed below), a
new member shall directly be elected after a nomination period of at least two
Copy link
Member

Choose a reason for hiding this comment

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

Is "directly" needed here? I'm interpreting it as "immediately", but it could lead to confusion ("direct democracy"), and the "after" adequately describes the timeframe IMHO.

Copy link
Member

Choose a reason for hiding this comment

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

Maybe shall be elected without delay would make this clearer?

weeks (see below for nomination and selection process). If the number of
members of the RFCSC drops below 4 people, it cannot proceed with shepherd team
selections until new members have been selected.

## Ending membership
A member can end their membership in the Steering
Committee by either of the following four mechanisms, ordered from most
Copy link
Member

Choose a reason for hiding this comment

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

Feels awkward to specify the relative frequency of membership-ending mechanisms :) maybe leave the explanation of the order out?

Copy link
Member

Choose a reason for hiding this comment

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

I guess the order is intended to vaguely guide the norms and expectations without creating formal rules.

frequent to least:

1. At the end of an election period.
2. Abdication.
3. Unanimous vote by all other members after having missed two or more regular
meetings without giving an appropriate excuse.
Copy link
Member

Choose a reason for hiding this comment

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

Rules nit: what if two members are absent?

Copy link
Member

Choose a reason for hiding this comment

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

Doesn't have to be on the same meeting, vote would be cast per member.

Copy link
Member

@vcunat vcunat Jun 2, 2019

Choose a reason for hiding this comment

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

Do you mean to add that

If the number of members of the RFCSC drops below 4 people

it also shouldn't be able to apply (3) or (4)? (Though any relevant situation would probably be a "political crisis" anyway.)

If it was about members being present, I thought it's clear that "all other" means all other on the committee (not just present ATM).

Copy link
Member

@7c6f434c 7c6f434c Jun 2, 2019

Choose a reason for hiding this comment

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

I think the natural interpretation here is «all the other current members», I think reaching (3) instead of (2) is unfortunate and reaching (4) is outright bad whatever you do, and I think in both cases it is less bad to thave the possibility of removal before selecting replacement.

4. Unanimous vote by all other members due to conduct unbecoming of a member.

A member can abdicate from the RFC Steering Committee at any time and for any
reason. A member planning to abdicate should inform the rest of the RFC
Steering Committee of their intention at their earliest convenience.

## Becoming a member
The members chosen through the original implementation as
specified in RFC 36 are regular members as specified in this RFC. They will
stay on as members until replaced by new members as outlined below.

If a seat has to be filled earlier than at the yearly vote, the new member will
only serve for the rest of the term.

Each year at the first meeting of the RFCSC in December (starting 2019,
approximately a year after establishment in RFC 36) they unanimously decide on
the succeeding committee members. If unanimous agreement cannot be reached, the
Copy link
Member

Choose a reason for hiding this comment

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

Does ths old SC hold one more meeting (so that the new SC has a week to agree on their meeting schedule without interruption in RFC processing)? Or does the old SC continue to work until Christmas-New Year week (when everybody expects interruptions anyway)?

Copy link
Member

Choose a reason for hiding this comment

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

+1 for "new year, new committee" :)

Copy link
Member

Choose a reason for hiding this comment

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

It takes immediate effect at the beginning of December.

The motivation is to not tie things around the new year when there's already lots of personal errands to be completed :)

Copy link
Member

Choose a reason for hiding this comment

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

Immediate takeover has the problem of coordination; from the point of view of end-of-year, second half of December and first half of January are all bad anyway.

Copy link
Member

Choose a reason for hiding this comment

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

(Just in case: the literal current text of RFC explicitly sets January as the takeover time)

RFCSC votes on each nominee, ranking them and further hold run-off votes if
Copy link
Member

Choose a reason for hiding this comment

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

The process (and grammar — should that be "holds"?) is a bit unclear here.

there is a tie. Nominations are open to anyone, and one can either nominate
themself or any other person who accepts the nomination. Members of the
previous RFCSC explicitly can stand again, but should reflect on their free
time and commitment to their role. The nomination period starts at the
beginning of November, a minimum of four weeks before election, and is
announced on all relevant communication channels (as of April 2019,
discourse.nixos.org, IRC #nixos and #nixos-dev, and NixOS Weekly).

Additionally to RFC 36 a new restriction formally comes into effect. In order
to avoid conflict of interest there is an upper cap of 2 members working for a
single employer.
Copy link
Member

Choose a reason for hiding this comment

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

  1. Does that mean that if a member changes employment in a cap-violating way, they are expected to resign (unless one of the two members from the new employment place prefers to resign themselves)? Should this be explicitly recorded?

  2. I want to have this question on the record: do we want to respect the other dimensions of conflict of interest? I think it would be feasible to ask that if a full SC of five members is being selected, at least one member of the incoming committee should have used Nix outside the single most popular setup (currently NixOS on x86_64). It would be a nightmare in a large election procedure, but for unanimous selection of successors it seems feasible.

Copy link
Member Author

Choose a reason for hiding this comment

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

  1. I don't think it is necessary, but if someone cares to resign no one will stop them.
  2. I also think we don't have to specify this, as the RFCSC should always try and set up a balanced shepherding team, familiar with the affected parts and the RFCSC can realistically not cover everything themself.

Copy link
Member

Choose a reason for hiding this comment

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

  1. I am OK with that, but then maybe reword it to say that there is a cap of appointing at most 2 people working for the same employer? Because right now it seems to mean my interpretation.

  2. It might be easier to evaluate experience (and relevance of that experience) of people working on special use cases for a SC including someone who doesn't use the «default setup» exclusively. But I do not insist.


# Drawbacks
[drawbacks]: #drawbacks

The RFCSC basically elects their own successors, but this minimises the
complexity of having to hold elections, including defining who is eligible to
vote and how to hold them.

# Alternatives
[alternatives]: #alternatives

Do nothing: then the current members of the RFC Steering Committee as defined
in RFC 36 could stay on the Committee indefinitely or at least until that part
of RFC 36 is overridden by a newly accepted RFC.

# Unresolved questions
[unresolved]: #unresolved-questions

As of now, none.

# Future work
[future]: #future-work

As this process is to be implemented over a fairly long time frame (a year for
each iteration), this framework might have to be revised at a later date,
incorporating any learnings made over these years.
Copy link
Member

Choose a reason for hiding this comment

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

<personal-opinion> "learnings" is a nasty businessese word, "experience" would be better.

Copy link
Member

Choose a reason for hiding this comment

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

@LeckerManN btw you can click the "plus minus" button when commenting to suggest a wording change like this :)