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 0025] Nix Core Team #25

Merged
merged 1 commit into from
Mar 2, 2018
Merged
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
82 changes: 82 additions & 0 deletions rfcs/0025-nix-core-team.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
feature: nix-core-team
start-date: 2018-01-31
author: Graham Christensen
co-authors: Daniel Peebles, Eelco Dolstra, Peter Simons, Shea Levy, Vladimír Čunát
related-issues:
---

# Summary
[summary]: #summary

Create an experimental Nix Core Team to help lead the direction of
Nix. This RFC may not be perfect, and we don’t have good answers to
all the possible questions, but let’s try it.

# Motivation
[motivation]: #motivation

- Improve visibility in to how the project operates
- Distribute the work Eelco has been doing across more people
- "Unstuck" pull requests which are sitting idle
- Provide a more diverse group of experiences when evaluating changes
to core Nix

# Detailed design
[design]: #detailed-design

## This team will:

- Evaluate larger features being proposed to Nix
- Serve as a second opinion on Nix changes that Eelco doesn't
otherwise see the value to

Choose a reason for hiding this comment

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

Is the longer term goal here to distribute consensus for vision/scope changes of NixOS to a wider group than just one person? Can we rephrase it so it isn't about the negative perception of a specific person? Perhaps: "Will approve Nix changes and steering for the long term vision"?

Copy link
Member

Choose a reason for hiding this comment

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

Further future could be wished-for here, but I understand the intention as an incremental process: let's try this first and after some time we'll better see where to go next.

- Make road-mapping decisions
- Evaluate a change to determine if it is ready for inclusion
- Follow up on unreviewed pull requests

The core team will have a GitHub team, a public mailing list, and
perhaps an IRC channel. The team will comprise long-term, trusted
community members who have a deep understanding of Nix and the Nix
ecosystem.

## To start with, the team will be:

- Daniel Peebles @copumpkin
- Eelco Dolstra @edolstra
- Peter Simons @peti
- Shea Levy @shlevy
- Vladimír Čunát @vcunat
Copy link
Member Author

Choose a reason for hiding this comment

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

I've received a bunch of questions (mostly in private) about why I'm not on this list. To start with, I'm not sure why I should be on the list: this isn't really in my wheel-house. My role on putting this team together was primarily as a consensus-builder and trusted neutral party. I'm happy to continue helping in that capacity as the team sees fit.

Choose a reason for hiding this comment

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

While I appreciate the sentiment outlined here with respect to your inclusion, I would posit that as a community advocate your position on such a team would certainly have very valuable input.

Copy link
Member

Choose a reason for hiding this comment

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

I think the RFC still leave open to have a similar arrangement for Nixpkgs/NixOS itself.
So the current team should be fine.


The team will be considered experimental to encourage revisiting how
the processes work and refining them over time. We encourage the use
of the RFC process to guide the process of the team itself. We
explicitly invite the wider community to propose RFCs to help with
this.

Ultimately, we hope for a similar process to develop for NixOS as
well.

This experiment will run for one year, to allow for a few Nix and
NixOS releases.

## Making Decisions

In all cases, the team will strive to reach consensus. However,
consensus will not always be possible. Decisions will be made after
four out of five members vote for approval.

Votes are registered through `+1`s and `-1`s. `Looks good to me`, `I
don't know`s and `I'm not sure`s aren't votes.

If some members abstain from the discussion, the following voting
rules apply:

1. In any case, if two people are -1 on a proposal, it fails.

Choose a reason for hiding this comment

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

This is great, I would also love to add that -1's need to have reasons such as:

  • community impact
  • security concerns
  • overall design mismatch

While I would hope that members of this group would always do this, it seems helpful to codify that a negation of a proposal needs to come with the motivations that went into that response for transparency and discussion.

2. If after a sufficient period of time (to be determined later,) if
only one person is -1 on a proposal and two or more people are +1,
it passes.

## What this team is not

This team is not about infrastructure, Nixpkgs, NixOS, Hydra, or the
Foundation. This team is to focus very narrowly on Nix.
Copy link
Member

Choose a reason for hiding this comment

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

So the Nix core team would not decide on RFCs like the musl pull request?

Copy link
Member

Choose a reason for hiding this comment

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

Correct. If this goes through and works out well we may replicate it or expand it to cover a wider scope.