├── CODE_OF_CONDUCT.md ├── README.md ├── announcements ├── 2024-05-19-qna.md ├── 2024-06-07.md ├── 2024-06-21.md ├── 2024-07-05.md ├── 2024-07-06.md ├── 2024-07-25.md ├── 2024-08-01-values.md ├── 2024-08-27.md └── 2024-08-30.md ├── calls └── 2024-05-20.md ├── constitution.md ├── deescalation.md ├── interview-questions.md ├── office-hours.md ├── qna.md ├── qna ├── 2024-05-20-is-nix-community-in-scope.md ├── 2024-05-20-on-scope.md ├── 2024-05-20-systematic-issues.md └── 2024-05-21-appointments-by-assembly.md ├── values.md └── zulip └── README.md /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Nix Governance Discussion Conduct 2 | 3 | Open Source doesn't work without the people who make the software happen. The governance project is putting people first and doing its best to recognize, appreciate, and respect the diversity of our global contributor base. We welcome contributions from all qualified (through contribution or prior experience) people who want to contribute in a healthy and constructive manner. 4 | 5 | These guidelines aim to support bootstrapping our governance structure, and as such *all* who can, should feel safe to participate regardless of background, family status, gender, gender identity and expression, marital status, sex, sexual orientation, plurality, native language, age, race/ethnicity, nationality, socioeconomic status, geographic location, education, disability, otherkin status, or other aspects of diversity. 6 | 7 | ### We are respectful 8 | 9 | We value each others ideas and viewpoints. We are open to different possibilities and being wrong. We are aware of our *impact* and how interactions will affect others. We communicate in a direct, constructive, and positive way. We take responsibility for our impact and our mistakes - if someone says that they have been harmed by our words or actions, we *stop*, *listen*, and then *apologize sincerely* and *change behavior.* 10 | 11 | ### We are inclusive 12 | 13 | As an open source project we are building on the work of, and building for, other people. In governance we are building for the builders and for the users. We need to be mindful of the needs of those who will be impacted by our work, demonstrating patience, kindness, and understanding. We think about the impact of our decisions on others and ensure to bring in diverse perspectives and make inclusive choices. We understand that the emphasis is on ensuring that even minoritised groups feel safe in our spaces. 14 | 15 | ### We ask for help when we need it 16 | 17 | When we need clarity, we ask questions simply and directly. We understand that contributors may not have the time to answer every question, and before asking we review existing documentation to see if we can find the answer. 18 | 19 | We understand that not everybody has done this type of work before, or has the same knowledge and experience. We aim to document our work so that all may benefit from the experience that we do have. 20 | 21 | ## We do not tolerate abusive behavior 22 | 23 | Everyone is responsible for preventing and taking action against abusive behavior. We speak up when we see others engaging in negative behavior and bring in moderation as necessary to resolve problems. 24 | 25 | There are many types of abusive behavior, and it’s impossible to list them exhaustively, but some are defined below to help level set. Ultimately, the "Nix community governance Zulip" moderation team decides what is acceptable and unacceptable conduct. 26 | 27 | ### Derogatory Language 28 | 29 | Hurtful or harmful language related to: 30 | 31 | - Background 32 | - Family status 33 | - Gender 34 | - Gender identity or expression 35 | - Plurality 36 | - Marital status 37 | - Sex 38 | - Sexual orientation 39 | - Native language 40 | - Age 41 | - Ability 42 | - Race and/or ethnicity 43 | - National origin 44 | - Socioeconomic status 45 | - Religion 46 | - Geographic location 47 | - Other attributes 48 | 49 | is not acceptable. This includes deliberately referring to someone by a gender that they do not identify with, and/or questioning the legitimacy of an individual’s gender identity. If you’re unsure if a word is derogatory, don’t use it. This also includes repeated subtle and/or indirect discrimination; when asked to stop, stop the behavior in question. 50 | 51 | ### Disruptive Behavior 52 | 53 | Disrupting the proceedings will not be tolerated. This includes, but is not limited to: 54 | 55 | - Bad faith invitations to engage in debate, regardless of the pretense of civility. 56 | - Attempting to use the specific wording of rules documents without referencing or understanding their spirit. 57 | - Influencing outside communities to cause hostility towards participants. 58 | - Reducing a discussion to one of a country’s political system. We are a global group with different perspectives. We are not more or less valuable based on the system we grew up with. 59 | 60 | We will treat influencing or leading such activities the same way we treat the activities themselves, and thus the same consequences apply. 61 | 62 | ### Violence and Threats of Violence 63 | 64 | Violence and threats of violence are not acceptable - online or offline. This includes incitement of violence toward any individual, including encouraging a person to commit self-harm. This also includes posting or threatening to post other people’s personally identifying information (“doxxing”) online. 65 | 66 | ### Personal Attacks 67 | 68 | Conflicts will inevitably arise, but frustration should never turn into a personal attack. It is not okay to insult, demean or belittle others. Attacking someone for their opinions, beliefs and ideas is not 69 | acceptable. It is important to speak directly when we disagree and when we think we need to improve, but such discussions must be conducted respectfully and professionally, remaining focused on the issue at hand. 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > [!Note] 2 | > This repository is archived because the NCA's mission has been completed with the [Nix Community Values](https://github.com/NixOS/org/blob/main/doc/values.md), the [Nix Governance Constitution](https://github.com/NixOS/org/blob/main/doc/constitution.md) and the [first Steering Committee Election](https://github.com/nixos/SC-election-2024). 3 | 4 | # Nix Constitutional Assembly 5 | 6 | The Nix Constitutional Assembly (NCA) is a group of people tasked with establishing a community-based governance structure for Nix that is capable of serving the community's needs. 7 | 8 | This repository is used for mutable persistent public documents about and by the NCA. 9 | 10 | ## Members 11 | 12 | The following people have [been appointed](https://discourse.nixos.org/t/nixos-foundation-board-constitutional-assembly-appointment/45504) as the NCA by the NixOS Foundation (alphabetically): 13 | 14 | - Danielle Lancashire ([GitHub](https://github.com/endocrimes), [Discourse](https://discourse.nixos.org/u/endocrimes), [Zulip](https://nixpkgs.zulipchat.com/#user/714680)) 15 | - edef ([GitHub](https://github.com/edef1c/), [Discourse](https://discourse.nixos.org/u/edef), [Zulip](https://nixpkgs.zulipchat.com/#user/714928), dedicated [email](mailto:nca@edef.eu)) 16 | - lassulus ([GitHub](https://github.com/Lassulus), [Discourse](https://discourse.nixos.org/u/lassulus), [Zulip](https://nixpkgs.zulipchat.com/#user/714856)) 17 | - 7c6f434c / Michael Raskin ([GitHub](https://github.com/7c6f434c/), [Discourse](https://discourse.nixos.org/u/7c6f434c), [Zulip](https://nixpkgs.zulipchat.com/#user/715185)) 18 | - Ryan Trinkle ([GitHub](https://github.com/ryantrinkle), [Discourse](https://discourse.nixos.org/u/ryantrinkle), [Zulip](https://nixpkgs.zulipchat.com/#user/720132)) 19 | - Sarah Novotny ([GitHub](https://github.com/sarahnovotny), [Discourse](https://discourse.nixos.org/u/sarahnovotny), [Zulip](https://nixpkgs.zulipchat.com/#user/715272)) 20 | - Silvan Mosberger ([GitHub](https://github.com/infinisil/), [Discourse](https://discourse.nixos.org/u/Infinisil), [Zulip](https://nixpkgs.zulipchat.com/#user/714637), [Email](mailto:nca@infinisil.com), [Reddit](https://www.reddit.com/user/infinisil)) 21 | 22 | ## Mission 23 | 24 | The NCA's basic mission as [given by the board](https://discourse.nixos.org/t/board-update-2-assembly-appointment-process/45048#assembly-mission-and-goal-6) is to set up a governance structure, run by the community, that is capable of serving the community’s needs. 25 | The following baselines have been given: 26 | - The resulting governance structure needs to accommodate all official Nix resources including code, policies, websites, accounts, infrastructure, trademarks, finances, etc. 27 | - While the NCA is free to choose any form or structure that they think is best for the project, they must ensure that the resulting governance structure’s decisions are representative of the entire community. 28 | This also requires defining what the community is. 29 | - The resulting governance structure should be expected to provide stability to the community for the next 5 years. 30 | 31 | As [indicated by the board](https://discourse.nixos.org/t/board-update-2-assembly-appointment-process/45048#assembly-lifetime-7), once the new governance structure is approved by the board, the NCA enters a transitory period to support the execution of the structure before finally disbanding. 32 | 33 | To give us a reasonable timeline and set expectations for the wider community, we are **targeting our work to be done by 2024-09-01**. 34 | 35 | ## Communication 36 | 37 | ### Updates 38 | 39 | To give updates or ask for community input, the NCA makes announcements on [Discourse](https://discourse.nixos.org/c/announcements/constitutional-assembly/54), which you can get notifications for by clicking the bell icon. 40 | The announcements are also mirrored to [Zulip](https://nixpkgs.zulipchat.com/#narrow/stream/437619-assembly-announcements). 41 | 42 | If you have questions for the NCA, you can either: 43 | - Ask the [members](#members) privately 44 | - Ask publicly in the [Q&A](./qna.md) 45 | 46 | ### Feedback and ideas 47 | 48 | The NCA collects feedback and ideas from various spaces. 49 | 50 | This includes public spaces such as: 51 | - Community discussions on [Zulip](./zulip/README.md) in the [governance channel](https://nixpkgs.zulipchat.com/#narrow/stream/435724-governance) 52 | - Open calls: For updates and Q&A, occasionally announced as necessary, past meeting notes [here](./calls) 53 | - Personal office hours: For a more personal chat with individual assembly members, some hold regular [office hours](./office-hours.md) 54 | 55 | Furthermore, since public spaces don't work for everybody, you can also reach out to the [members](#members) privately, and the NCA may also reach out to some people as needed. 56 | 57 | #### Interview 58 | 59 | We have also been privately interviewing project contributors with predefined questions. 60 | If you'd like to give us your input in such a form, feel free to fill out the [interview template](./interview-questions.md) and send it to any of the [NCA members](#members). 61 | Feel free to add what you want to add as a postscriptum! 62 | -------------------------------------------------------------------------------- /announcements/2024-05-19-qna.md: -------------------------------------------------------------------------------- 1 | # Assembly QnA Announcement 2 | 3 | The assembly has not yet come to a decision on how to moderate Zulip going forward, but we intend to soon. 4 | 5 | To keep the moderation surface for a textual assembly/board Q&A minimal, we're opening the [https://nixpkgs.zulipchat.com/#narrow/stream/438035-Assembly-Q.26A/topic/stream.20events] with a simple structure: 6 | - To ask a question, create a new topic with a single question 7 | - Indicate who the question is directed at (the assembly, the board or specific members) 8 | - To signal interest in a question, react with :+1:, we will try to prioritise those 9 | - Only assembly/board members can reply and discuss in the same topic, unless they explicitly ask the author for clarifications with a mention 10 | - If you violate this rule, we'll move your message and give a warning 11 | - Anybody is free to create follow-up questions by creating a new topic 12 | 13 | There will also be an open Q&A call on in https://meet.google.com/zkm-jcwr-ebi 14 | -------------------------------------------------------------------------------- /announcements/2024-06-07.md: -------------------------------------------------------------------------------- 1 | # Target date, public repo, office hours, interviews 2 | 3 | Hello everyone! 4 | We've been busy the past few weeks just getting started figuring out how to work together, but we're making progress and can give some updates now. 5 | 6 | ## Target date and phases 7 | 8 | While we acknowledge the need to make tough decisions, we also understand the danger in rushing it. To give us a reasonable timeline and set expectations for the wider community, we are **targeting our work to be done by 2024-09-01**, so in a bit less than three months from now. See our [mission](https://github.com/NixOS/nix-constitutional-assembly/tree/main?tab=readme-ov-file#mission) to get a sense of what we need to do. 9 | 10 | We can also partition our work into these rough stages: 11 | 1. Get informed and aligned internally 12 | 2. Draft proposals and get wider community input 13 | 3. Make final decision 14 | 15 | ## Public repo 16 | 17 | We need a place to publish persistent documents, and we have to accept that Zulip is not fit for that. 18 | To fill that gap, we now have a [public repository](https://github.com/nixos/nix-constitutional-assembly) as the central point of information by and about to the Nix Constitutional Assembly (NCA). 19 | 20 | This notably includes the [notes from the open call last month](https://github.com/NixOS/nix-constitutional-assembly/blob/main/calls/2024-05-20.md), NCA answers to the [Q&A](https://github.com/NixOS/nix-constitutional-assembly/blob/main/qna.md), all [announcements themselves](https://github.com/NixOS/nix-constitutional-assembly/tree/main/announcements) and more. 21 | 22 | We'll still announce important [updates on Discourse and Zulip](https://github.com/NixOS/nix-constitutional-assembly/tree/main?tab=readme-ov-file#updates), but if you just want to know the latest state, the repo is where to look. 23 | 24 | ## Office hours 25 | 26 | To have a more personal avenue for questions and feedback, some NCA members will hold personal weekly office hours. 27 | If you have any concerns and/or want to connect with us, feel free to join! 28 | To keep these calls smaller, we ask you to only join at most one per week. 29 | 30 | The time slots are 31 | - Ryan Trinkle / @ryantrinkle: Monday [16:00 CEST](https://time.is/1600_in_CEST) 32 | - Silvan Mosberger / @infinisil: Tuesday [21:00 CEST](https://time.is/2100_in_CEST) 33 | - Michael Raskin / @7c6f434c: Wednesay [23:00 CEST](https://time.is/2300_in_CEST) 34 | - @lassulus: Thursday [18:00 CEST](https://time.is/1800_in_CEST) 35 | 36 | Meeting link: https://jitsi.lassul.us/nca-personal-weekly 37 | 38 | ## Interviews 39 | 40 | Over the past weeks, primarily @lassulus has privately reached out to various community members for their personal thoughts in an interview style. 41 | 42 | If you'd like to give us your input in such a form, feel free to fill out the [interview template](https://github.com/NixOS/nix-constitutional-assembly/blob/main/interview-questions.md) (can include a postscriptum!) and send it to any of the [NCA members](https://github.com/nixos/nix-constitutional-assembly?tab=readme-ov-file#members). 43 | 44 | -------------------------------------------------------------------------------- /announcements/2024-06-21.md: -------------------------------------------------------------------------------- 1 | # Constitutional Assembly Statement on Jon Ringer 2 | 3 | The [mission of the NCA](https://github.com/nixos/nix-constitutional-assembly?tab=readme-ov-file#mission) is to establish a community-based governance structure, which still takes some time, but the current situation regarding Jon Ringer (@jonringer) calls for immediate attention. 4 | 5 | We want to see people engage in forward progressing change in the project. We believe that this means acting generally in ways which de-escalate hard issues and seek resolution not rancor. Respectful disagreement is substantially different from rhetorical appeals. 6 | 7 | In discussion with the moderation team, we are recommending that **Jon should be banned permanently** from all community spaces. 8 | 9 | The reason for this has been well explained throughout the public discussions: Jon's behavior continues to encourage community polarisation and drama, despite the previous suspension for the same reason, clearly indicating that his behavior has not changed for the better. 10 | 11 | We summarise the situation: 12 | 13 | 1. Jon [was suspended](https://github.com/NixOS/moderation/blob/125fadfa6c3af1504fd3e35bde7820f06bad393b/moderation-log.md#L25) for 6 weeks for repeatedly derailing sensitive discussions and willfully furthering the division in the community. For more information, see https://discourse.nixos.org/t/why-was-jon-ringer-banned-from-github/44114/23 14 | 15 | 2. After the suspension, Jon [asked](https://www.reddit.com/r/NixOS/comments/1djuxpx/drama_will_jonringers_commit_bit_be_restored/l9dzht8/?context=10000) @domenkozar in private to get back Nixpkgs commit access, to which Domen replied "can you request it on the commit issue?" 16 | 17 | 3. Jon made [this lengthy request](https://github.com/NixOS/nixpkgs/issues/50105#issuecomment-2179462978) in the issue. It contained two main parts: A summary of Jon's contributions and an appeal that the suspension was not justified. The post was later edited to remove the latter part, check the revision history for the original. 18 | 19 | This behavior is problematic because it escalated the situation beyond necessity. 20 | 21 | 4. After initial responses on the issue, Jon made posts [on both Reddit](https://www.reddit.com/r/NixOS/comments/1djuxpx/drama_will_jonringers_commit_bit_be_restored/) ("[Drama] Will jonringer's commit bit be restored?") and [Discourse](https://discourse.nixos.org/t/should-jonringer-get-his-commit-bit-back/47267) ("Should jonringer get his commit bit back?"). 22 | 23 | It's generally a good idea to move discussions into their own threads, but in this case, the framing and choice of discussion venue further escalated the situation. 24 | 25 | 5. Despite @infinisil [asking him to step away](https://discourse.nixos.org/t/should-jonringer-get-his-commit-bit-back/47267/13), Jon continued engaging in the discussion with lengthy replies to defend his actions. 26 | 27 | This behavior further escalated the situation even more (and continued the trend leading up to the initial suspension). 28 | 29 | We do not condone such behavior and don't think it's possible to establish a healthy community if it continues to be allowed. 30 | 31 | If you want to give feedback on this, feel free to [contact us privately](https://github.com/nixos/nix-constitutional-assembly?tab=readme-ov-file#members). 32 | -------------------------------------------------------------------------------- /announcements/2024-07-05.md: -------------------------------------------------------------------------------- 1 | # Constitutional Assembly: Status Report 2 | 3 | Hey everybody! 4 | It's been 7 weeks since we were appointed on May 16th. 5 | We have a lot to get done in the 9 weeks until September 1st, the target date for the conclusion of our work. 6 | We've been exchanging a lot of ideas among ourselves and with the community, some of which we've described below, along with our next steps. 7 | 8 | ## Administrative 9 | 10 | To even get started with our work, we needed to do some administrative chores, such as: 11 | - Scheduling regular meetings for synchronisation and alignment: 12 | We're having two two-hour meetings every week, which we find to be frequent and long enough to make significant progress, without frying our brains completely. 13 | It's hard to find a time that works for many, but crab.fit helps a lot with that. 14 | - Zulip is notoriously unfit for any persistent documents, so we set up both an internal repo (random notes, meeting minutes, personal interviews, etc.) and [a public one](https://github.com/nixos/nix-constitutional-assembly). 15 | - Setting up ways to get feedback, such as our [office hours](https://github.com/NixOS/nix-constitutional-assembly/blob/main/office-hours.md) and the [Q&A](https://github.com/NixOS/nix-constitutional-assembly/blob/main/qna.md). 16 | 17 | ## Meta 18 | 19 | There were also a number of discussions on how the Nix Constitutional Assembly (NCA) should do its work: 20 | - We want to strive towards consensus among ourselves for long-lasting decisions, but have to accept that this might not always be possible. 21 | For that case we agreed on a simple supermajority decision procedure to fall back to. 22 | - We [agreed on a target date](https://github.com/NixOS/nix-constitutional-assembly/blob/main/announcements/2024-06-07.md#target-date-and-phases) for our work to be done, to get an idea of the time scale. 23 | - The [governance Zulip](https://github.com/NixOS/nix-constitutional-assembly/tree/main/zulip) had a rough start, so we've been thinking about how to improve the health of the discussions there while it's quiet. 24 | - What is the actual _result_ of the NCA and how do we get it? We agreed to an iterative approach of writing draft proposals, gathering feedback, refining based on the feedback, and so on. Repeat this for some rounds before making a final decision. 25 | Pretty standard stuff, but how do we actually get feedback? Multiple avenues: 26 | - For those that actively engage in the governance discussions, the governance Zulip instance is a good place. 27 | We'll definitely read all of it, even if we don't reply to everything. For more directed feedback, there's also [other ways](https://github.com/NixOS/nix-constitutional-assembly/tree/main?tab=readme-ov-file#feedback-and-ideas). 28 | - However, not everybody is actively seeking out governance discussions, so we're reaching out to some people from the community directly. 29 | 30 | ## Governance 31 | 32 | In a [previous announcement](https://github.com/NixOS/nix-constitutional-assembly/blob/main/announcements/2024-06-07.md#target-date-and-phases), we also defined some rough stages for our work. 33 | 34 | ### Stage 1: Getting informed and aligned internally 35 | 36 | This stage is just about getting informed and aligned internally, which we've now mostly achieved: 37 | - Everybody has been brought up to speed on the various aspects of the community. 38 | - We've conducted interviews with many people from the community to understand their grievances. 39 | A set of common questions emerged from these interviews, and we would love to get information from community members on these. 40 | If you are interested, please [fill out and send us your answers](https://github.com/NixOS/nix-constitutional-assembly/tree/main?tab=readme-ov-file#interview). 41 | - We've done a bunch of research on how other open-source community governance structures work. 42 | - @sarahnovotny in particular informed the others on how the [Kubernetes community](https://github.com/kubernetes/community) works and how it came to be. 43 | - We thank everybody for the Q&A questions you've sent, they've been prompting us to align ourselves on the requested topic, which has been very helpful. 44 | - @infinisil and @lassulus had discussions with various people from the community at in-person events: NixOS ZHF Hackathon in Zürich and GPN in Karlsruhe respectively. 45 | - We've mostly aligned on some of the problems to be solved and the tradeoffs involved. 46 | 47 | ### Stage 2: Drafting proposals and getting feedback 48 | 49 | Next week we'll start with the second stage, focused on drafting proposals and getting feedback on them. 50 | We are planning to have at least two proposals: 51 | - Fundamental values to base decisions on. 52 | - Initial community governance structure, such as: 53 | - Who can make which decisions 54 | - How to implement it 55 | - How to evolve governance 56 | 57 | ## Last but not least 58 | 59 | There's a lot to get done as we move towards better governance, and we're excited to be working on it with all of you. 60 | We would love to hear from you through the [feedback channels](https://github.com/nixos/nix-constitutional-assembly?tab=readme-ov-file#feedback-and-ideas), stay tuned for more updates soon. 61 | -------------------------------------------------------------------------------- /announcements/2024-07-06.md: -------------------------------------------------------------------------------- 1 | # Constitutional Assembly: Interim Nixpkgs committer delegation team 2 | 3 | To [ensure the continued delegation](https://nixpkgs.zulipchat.com/#narrow/stream/435724-governance/topic/New.20nixpkgs.20onboarding.20process/near/446222942) of Nixpkgs commit access, we're appointing a new interim team: 4 | - @Mic92 5 | - @NickCao 6 | - @jtojnar 7 | 8 | This team is given the responsibility and authority of changing the list of [Nixpkgs committers](https://github.com/orgs/NixOS/teams/nixpkgs-committers). 9 | 10 | We're letting this team define their own process, with some basic requirements: 11 | - The process must be publicly documented, the initial process is documented [here](https://github.com/NixOS/org/blob/main/doc/nixpkgs-committers.md) 12 | - Any change to the process must be unanimously agreed upon by all delegation team members 13 | 14 | Furthermore we give the recommendation to keep the process simple, since it is expected to need changes as we move towards defining the bigger picture of a community-based governance. 15 | -------------------------------------------------------------------------------- /announcements/2024-07-25.md: -------------------------------------------------------------------------------- 1 | # Constitutional Assembly: New interim GitHub org owner 2 | 3 | Since the current GitHub org owners are constrained in their availability, we're appointing a new interim GitHub org owner from the NCA to help out: @lassulus. He will be responsible for unblocking contributors by receiving requests to change anything about the GitHub organisation in the new [GitHub org owners help desk Matrix room](https://matrix.to/#/#org_owners:nixos.org), and either acting upon them or forwarding them to the right person. 4 | 5 | The list of all GitHub org owners will newly be documented [here](https://github.com/NixOS/org/blob/main/doc/github.md). 6 | 7 | For feedback and ideas for the NCA, please [reach out](https://github.com/nixos/nix-constitutional-assembly?tab=readme-ov-file#feedback-and-ideas). 8 | -------------------------------------------------------------------------------- /announcements/2024-08-01-values.md: -------------------------------------------------------------------------------- 1 | (The draft values below are officially approved by the entire assembly, but this context preamble is personally from me, @7c6f434c, as one of the assembly members) 2 | 3 | We as the assembly have spent a large part of our time in the past months studying the values and needs of project contributors. 4 | 5 | We have read through the public discussions past and recent, talked to contributors in private, looked what worked well and what didn't in the Nix projects and in the broader ecosystem. 6 | We have looked for what exists and is appreciated, what is aspired to, and what is wished for and could be improved now. 7 | 8 | Of course, this guided and guides our work on the changes to the project processes. And we have worked to capture the values, the principles of what can be the base to start off with going forward in a single text. 9 | 10 | The current version of values is posted for feedback. Please comment publically on Zulip, or privately in Zulip DMs or by any method you are currently using to privately reach one of us. [How assembly collects feedback.](https://github.com/NixOS/nix-constitutional-assembly?tab=readme-ov-file#feedback-and-ideas) 11 | 12 | Keep in mind that none of us are perfectly 100% happy with every detail here, and we don't hope to make everyone perfectly 100% happy with the final version — we seek a reasonable boring compromise to help guide our work together. We expect that once finalised, the values will be more stable than the details of formal processes, but will also evolve over time. 13 | 14 | (The values officially approved by the assembly for publication as a draft for feedback follow) 15 | 16 | 17 | 18 | # Nix Community Values 19 | 20 | ## Introduction 21 | 22 | > Communities form when different people unite around a common purpose. Shared values guide decision making, and community goals supersede individual interests and agendas. 23 | > 24 | > --- [The Open Source Way](https://opensource.com/open-source-way) 25 | 26 | Our common purpose is to develop, propagate, and promote the adoption of the [purely functional software deployment model](https://edolstra.github.io/pubs/phd-thesis.pdf). Our values help us achieve this purpose by guiding decisionmaking across the community, keeping us moving in a common direction. 27 | 28 | This document captures our core values so that they can be shared and referenced by everyone in the community. 29 | 30 | ### What is a value? 31 | 32 | Values are _not_ a Code of Conduct, they do not define governance structures, and they do not provide specific policies. Instead, values inform the decisions we make about these things. 33 | 34 | A good test for [whether something is a value](https://medium.com/the-u-s-digital-service/our-values-1fc02b53598) is: 35 | 36 | > If a statement can be invoked by anyone in an organization, and cause a decision to be re-evaluated or changed, without regard to anyone’s rank or title, then you have a bona fide [i.e. genuine] value. If it doesn’t work that way, then it’s not a value. 37 | 38 | To apply in many situations, values must be high-level, abstract concepts. Therefore, in the text below, each value is presented as a heading followed by an elaboration of its meaning. This is meant as a starting point for interpretation, not a comprehensive definition. The heading and the elaboration have equal importance. 39 | 40 | ## The Values 41 | 42 | ### Respect and civility 43 | 44 | We treat each other with respect and civility. No matter one's individual identity, circumstances, level of contribution to the project, or status, everyone has the right to respect, and everyone has the duty to treat others with respect. 45 | 46 | People with higher visibility within the project or towards the public are subject to higher expectations for their conduct. 47 | 48 | ### People come first 49 | 50 | We are here, first and foremost, as individuals working together. Our priority here is to work on Nix projects for the benefit of all their contributors and users. We value building excellent software with a vibrant and diverse community. 51 | 52 | Individuals gain trust and status by doing the work. Companies gain prestige by funding the work of individuals and providing resources to support the project. 53 | 54 | ### Free software and choice over lock-in 55 | 56 | Nix projects are and will always remain [free software](https://www.gnu.org/philosophy/free-sw.en.html). 57 | 58 | We value working together with the broader free software community. 59 | 60 | Free software is our priority, but we also support our users' needs to use non-free software, when practical. 61 | 62 | ### Distribute decisionmaking widely 63 | 64 | We are a synthesis of varied but overlapping communities. We rely on distributed approaches: asynchronous communication, clear ownership, deep-dive taskforces, and local decisionmaking. 65 | 66 | We focus our attention on working together on our shared goals and working separately in a non-interfering way when our goals are independent. 67 | 68 | We build trust primarily by working together on Nix projects. 69 | 70 | ### Automation over process and toil 71 | 72 | We are a global community, and disseminating information and maintaining processes can be difficult. We are also a large project with a lot of hard and repetitive work. Therefore, we value automation over toil, while recognizing that not all toil can be automated. Adding new toil needs a very strong justification. 73 | 74 | We build automation and processes that make the best use of our contributors' limited attention. 75 | 76 | ### Stable evolution over stagnation or chaos 77 | 78 | Openness to new ideas and evolution is part of what made Nix great. We continue to foster that evolution while encouraging development of re-usable building blocks and well-defined, stable interfaces. 79 | 80 | We value experimenting with designs and concepts, and folding successful experiments back into continuous improvement for stable components. 81 | 82 | The larger the impact an action has, the more care and discussion is warranted before taking the action. 83 | 84 | Our leaders have a duty to find, support, and promote new contributors — and eventually step aside for new leaders. 85 | -------------------------------------------------------------------------------- /announcements/2024-08-27.md: -------------------------------------------------------------------------------- 1 | ## Nix Community Values Updates; to be finalised on 2024-09-02 2 | 3 | (The values are being revised with approval from the entire assembly, but the words in this update come from me personally, @infinisil, as one of the assembly members) 4 | 5 | We thank everybody for their private and public feedback for the above community values draft. Based on the feedback we've made some changes to them, which are summarised below, and can also be viewed [here](https://github.com/NixOS/nix-constitutional-assembly/commit/73d226ea1787065db26a9c5e52c8c1dd35180e7f). We plan to finalise the [latest state](https://github.com/NixOS/nix-constitutional-assembly/blob/main/values.md) on 2024-09-02, so [let us know](https://github.com/nixos/nix-constitutional-assembly?tab=readme-ov-file#feedback-and-ideas) if you have any last concerns. 6 | 7 | Here's the summary of the changes: 8 | 1. Respect and civility: Added 9 | > We prioritise project health over individual interests 10 | 2. Automation over process and toil: Added 11 | > Automation reduces toil, but people are still accountable for it. 12 | 3. People come first: Replaced "companies" with "organisations": 13 | > Organisations gain prestige by funding the work of individuals and providing resources to support the project. 14 | 4. Automation over process and toil: Added a footnote for "toil": 15 | > [Toil](https://web.archive.org/web/20240717145635/https://sre.google/sre-book/eliminating-toil/) is work that tends to be manual, repetitive, automatable, interrupt-driven, devoid of enduring value, and scaling linearly with growth. 16 | 5. Automation over process and toil: Replaced "attention" with "time and energy": 17 | > We build automation and processes that make the best use of our contributors' limited time and energy. 18 | 19 | PS: Stay tuned, soon we'll publish a constitution draft! 20 | -------------------------------------------------------------------------------- /announcements/2024-08-30.md: -------------------------------------------------------------------------------- 1 | (The draft constitution below is officially approved by the entire assembly, and endorsed by the NixOS Foundation Board, but this context preamble is personally from me, `@7c6f434c`, as one of the assembly members) 2 | 3 | After releasing [Nix Community Values draft](https://github.com/NixOS/nix-constitutional-assembly/blob/main/values.md) for feedback, we in the assembly have worked on preparing the next document based on the same underlying work of studying what people say, do, and do not do — here and elsewhere: a draft Nix Governance Constitution. 4 | 5 | The current version of the constitution is posted for feedback. As with the values, please comment [publically on Zulip](https://nixpkgs.zulipchat.com/#narrow/stream/435724-governance), [message us privately](https://github.com/NixOS/nix-constitutional-assembly?tab=readme-ov-file#members), or [join an office hour](https://github.com/NixOS/nix-constitutional-assembly/blob/main/office-hours.md). 6 | 7 | Like the values, the constitution will not make everyone 100% happy, and none of us are perfectly 100% happy with the compromises chosen. However, we hope that the regularly elected Steering Committee (SC) established by the constitution will be able to fill the need for a clear source of authority and for escalation resolution. Of course, the absolutely dominating share of work and decisions is made at the level of maintainers of specific parts of the code (e.g. Nixpkgs packages); this is not going to change as long as the projects operate at the current scale. 8 | 9 | We expect that constitution will evolve significantly faster than the values, but without frequent major changes, and much slower than some of the other formalised processes. Unlike the values, there are specific parts of the constution that we expect to be changed — but the data to make good choices will only come from the experience of applying the current version. 10 | 11 | The NCA's job will not be completely done after finalisation of the constitution: The NCA members will be the first Election Committee, and are thus ineligible to be elected, but will act as non-voting SC members for the first 6 months to hand over the context we have collected. 12 | 13 | NCA has already had to update some of the project processes that in the future will be improved via simple-majority SC decisions; we might end up doing this again before the end of the SC election. 14 | 15 | The constitution officially approved by the assembly for publication as a draft for feedback is at https://github.com/NixOS/nix-constitutional-assembly/blob/0180844cff8d1a90f5da5d54abd683004a642f0a/constitution.md (due to the Zulip/Discourse message limits) 16 | -------------------------------------------------------------------------------- /calls/2024-05-20.md: -------------------------------------------------------------------------------- 1 | # Assembly public call notes 2 | 3 | Assembly attendees: @infinisil @7c6f434c @lassulus @ryantrinkle @edef @Danielle @SarahNovotny 4 | Board attendees: @ronef @thufschmitt 5 | Other attendees: @nat-218 @hexa @olaf @JulienMalka @nyanbinary @fricklerhandwerk +9 others 6 | Notes by: @infinisil 7 | 8 | Agenda: 9 | - @danielle Intro meeting 10 | - @sarah background and statement 11 | - hi, who i am [as the external non nix community person] 12 | - governance processes [examples from k8s node/jsf -> openjs] 13 | scope of "community" 14 | goal of assembly develop framework for governance and processes to refine this cuz it won't be perfect 15 | 16 | - ask for grace. 17 | - you are all leaders and constituents. 18 | - ask for concerns to be framed as both meta concern and concrete examples [avoiding both hyperbole and finger pointing] 19 | - state of moderation as a single context of governance and not changing substantially today 20 | - Open floor to questions 21 | - Real-time thus to members not to the assembly 22 | 23 | ## Notes 24 | 25 | - @danielle: Goal today is to give context, open-floor Q&A. Answers won't necessarily be unified yet, we just started. 26 | - @Sarah: New here, introducing myself! 27 | - Participating in a lot of community governance work in the past 10 years: kubernetes, node.js foundation. Doesn't mean it has to work the same way here. 28 | - Define the community, make something work for it, then refine it over time. 29 | - Regarding moderation, for now no changes, we will iterate on it. Moderation is just a single (hopefully small) component of the governance. You all have behave as constructive leaders in the community. 30 | - Not a political space, but a space to build software. From what I can see, velocity has dropped in last weeks/months, goal to bring it back up to speed, bring people back to technical discussions. 31 | - Open for questions! 32 | - @fricklerhandwerk: Is there any outline of the assembly's plan for the coming weeks/months? Board provided a general direction, are there any more concrete ideas already? 33 | - @SarahNovotny: That will be our next step, at the moment we've had barely any meetings, and so far mostly discussed the current community churn. Give us some time and grace. 34 | - @infinisil: Just before this meeting we had a meeting to align ourselves on procedures for Q&A. We will set up some procedures internally soon to decide on the next steps 35 | - @Sarah: Have discussed the scope a bit. Technology places, social places to propose governance for. Finding alignment in groups, scope spaces, figure out what is out-of-scope. E.g. "What is the role of the governing board?", "Where does the moderation team fit in?". Haven't reached any clean answer, just rought thougths for now. 36 | - @Danielle: We need to get a lot of input from the community, then spend time to distill that into what works, takes time 37 | - @nat-418: What's the most useful thing that the community can do to help the assembly? 38 | - @Michael: What's the solution space to explore? Get new types of arguments on that, instead of going into too much detail on the existing arguments. We haven't aligned as the assembly yet, so questions can't be answered immediately 39 | - @ryantrinkle: Want to hear everybody's concerns. Have been trying to read as much as possible, a lot of concerns to understand before figuring out how to proceed. 40 | - @ronef: Viewing people involved as leaders is great, as the initial concerns, timeline, priorisation, etc. are figured out. I'd wish for everyone to put on a leadership mindset and see how we can move progress instead of piling up more problems (not that logging problems is wrong per se). 41 | - @ronef: Wouldn't want to optimise for the perfect governance from the start. Try to move back to Nix itself. Find it more important to make progress towards better governance and not wait until or optimize for perfection from the start. 42 | - @Sarah: Help deescalate situations in the community when you see an opportunity. Figure out values and problems instead of engaging in conflicts. Everyone's a leader by showing up. 43 | - @infinisil: We have a lot of input to take already (over 5000 Zulip messages!), maybe chill a bit more, let us catch up, we'll ask for more input when needed 44 | - @mathnerd314159265: (not really a question) Look for the root causes of the disagreements, not the symptoms 45 | - @Sarah: There's definitel a set of systemic problems that need to be addressed, which are hard to find in all the smoke. 46 | - @Michael: Agreeing, a lot of things are indeed recurring. We made mistakes many years back, and we surely won't do things perfectly now. But good enough has better chances. I take it as my responsibility to think about things that happen again and again 47 | - @ryantrinkle: Have experience with the Haskell foundation. Would like to see Nix work better as a community, make technical decisions as necessary, sometimes quickly. I would like to figure out how to to reach general community consensus going forward and not leave people behind. 48 | - @Danielle: We can't always get consensus, but should be able to remediate the non-consensus effectively. 49 | - @Sarah: (interlude) Thanks for joining! This seaks highly of your investment and support. Back with Kubernetes we were building decentralised software system and deemed that we needed a decentralised governance platform. The pieces that have to work together need clear boundaries. Pieces that don't work together should be able to work individually. 50 | - @fricklerhandwerk: Interesting take. One value that may unify the community is what I'd call disciplined software development. 51 | - @fricklerhandwerk: One thing that was straining in past years is that substantial efforts didn't get the attention needed to get them merged. I observe an imbalance between people wanting and able to make contributions and people being able to accept those contributions. My hope is that the governance structure can help alleviate this. 52 | - @Michael: Have seen observed RFC 25 and RFC 36 in real time, which was decision-makin about large changes. Some contributions are easy to review (non-controversial, but may pose a throughput problem), some are more controversial that are hard to be accepted. My position is that often it's good if things get stuck, because that also results in stability, i.e. avoids churn. We need ot align expectations about what decisions can be made with the reality of the decisions that *can* be made. Some work is hard and slow, and we should try to remove the accidental complexity of decisions, but we can't remove the inherent complexity. 53 | - @ryantrinkle: Need to take into account groups of people working on the project, where it should be tighter together. Build more delegation into the governance structure, people should be able to make decisions independently and decisively, without causing conflicts. 54 | - @Julien: Do assembly members want to mend the rift in ideologies in the community? 55 | - @infinisil: Definitely interested in that myself, the tricky question is how. We don't have an anwser yet 56 | - @JulienMalka: Does anybody have personal experience with resolving this? 57 | - @Sarah: Building the governance itself can help mend the rift. Making the boundaries clear, defining acceptable behaviours, what is encouraged/discouraged, among peers, not top-down from e.g. the moderators. This also requires building trust. I personally lean heavily towards shared values, Michael isn't in agreement, but I truly believe that we can find shared values. These may be doing good technical work, something that is rewarding to work on together in the community, being thankful to people for doing work. A distilled value in Kubernetes: "The community is more important than your company". We decided that the community being cohesive is more important than some company getting their feature in. 58 | - @Michael: Sometimes we need to step back and face reality. We have a project (main one Nixpkgs because it's the most expensive one in terms of work and infrastructure) with certain technical values, we arguably want it to exist and be updated. Therefore we probably want to work together on this, as splitting it would be needlessly expensive. Having a single community may be a bit too optimistic, and I'd strictly avoid speaking about a single community. There are already various communities with different interestes and social norms, we should recognise this. We may have a single technical project but multiple social communities that can agree to collaborate, and wouldn't be the worst outcome, maybe even a good one. People could find a comfortable place for them, with a respectful common ground. The technical common ground may become a bit more sterile as a result, but that's not necessarily bad. 59 | - @infinisil: Will have to be discussed, not aligned yet, great that we have different opinions. Will have to get input from the community as well. 60 | - @ronef: Great example of what might work in the next 5 years, but might need further changes later. 61 | - @JudsonLester: IMO some recent conflicts have been about representation. There are groups that want to define a certain number of seats for e.g. minorities, others who think picking the best from each group will lead to a good representation. How to satisfy both groups? 62 | - @Danielle: We don't have internal alignment yet, no answer yet. This has been answered for other communities, but not for Nix yet. 63 | - @Michael: A lot of problems stem from not knowing which decision represents whom, and for whom the decision is made. Even if we have multiple communities but don't make the decisions clearly about one or another, that's a problem. From the participation critera on Zulip we can assume the constitutional assembly to decide on behalf of the contributor community in the widest sense. 64 | - @ronef: Assembly not being aligned is not a bug, but a feature, there are multiple opinions that will be shared and worked with. Better for being able to find a good place to land at. 65 | - @Michael: If we have consensus on day 1, the assembly would be worthless. If we are close to consensus on day 50 we'd at least show that we've done work. 66 | - @Danielle: If we had consensus already, that would only show we haven't listened to the community at all. 67 | - @nyanbinary: How can the assembly guarantee the new governance structure isn't systematically oppressive? 68 | - @Sarah: We cannot guarantee anything, especially since by definition it's hard to find allies for underrepresented minorities. But if the assembly is doing its work well, we'll encourage people to build the muscle to discuss these issues sincerley and create opportunities for people to shape these structures appropriately. 69 | - @Sarah: Thanks to everybody again, you hold us accountable to what we're doing :) 70 | - @fricklerhandwerk: Thanks for taking on the responsibility 71 | - @Sarah: I think anybody from the assembly is happy to take private messages. I'll also do a series of interviews. Let me know if you have recommendations for people to talk to. 72 | - @Danielle: Most of us are planning to do our own interviews. 73 | - @infinisil: Want to get input from as many people as possible, randomly picking contributors is a great way for that, also contributors that aren't active anymore 74 | - Next Q&A? 75 | - Not sure yet, maybe every week, maybe one more this month 76 | -------------------------------------------------------------------------------- /constitution.md: -------------------------------------------------------------------------------- 1 | (moved to https://github.com/NixOS/org/blob/main/doc/constitution.md) 2 | -------------------------------------------------------------------------------- /deescalation.md: -------------------------------------------------------------------------------- 1 | 2 | # How to de-escalate situations 3 | 4 | Governance is a complicated topic that often creates conflicts; some of them small, some of them not so small. Moderators are tasked with ensuring that the governance Zulip remains a constructive space for people to talk these things out, but there is a lot that you can do yourself to keep the discussion constructive; or even as a third party intervening in someone else's escalating discussion. 5 | 6 | This guide describes some techniques that can be used to prevent and de-escalate conflicts, and help to keep the governance discussion productive for everyone involved. We encourage you to use them! 7 | 8 | This guide is based in part on https://libera.chat/guides/catalyst, although several changes and additions have been made to better fit our specific situation. 9 | 10 | ## Assume good faith 11 | 12 | The people who participate in these governance conversations, are most likely here because they want the project governance to be improved, just like you. Try to assume that the other person is doing what they're doing in good faith. There are only very few people who genuinely seek to cause disruption, and if that is the case, it becomes a task for moderators to handle. 13 | 14 | ## Listen and ask 15 | 16 | A lot of conflicts can be both prevented and de-escalated by simply asking more questions and listening more, instead of speaking. In general, prefer to ask people *why* they feel a certain way if that is unclear, rather than assuming their intentions - this will provide more space for concerns that would otherwise go overlooked, and avoid creating conflicts due to wrong assumptions. 17 | 18 | Even when a conflict has already arisen, asking questions can still be effective to de-escalate; asking people why they are doing something will encourage them to reflect on their behaviour, and this can often lead to self-moderation. Most people do not want to be viewed as "the bad guy". 19 | 20 | Likewise, in a conflict, prefer asking for someone's input rather than admonishing their behaviour; this centers the conversation on them and their thoughts, instead of on yourself. Even if you disagree, you are more likely to gain a useful insight this way, and calming down the situation helps everyone involved. 21 | 22 | If you need to concretely ask someone to change their behaviour, prefer asking them as a "can you do this?" question, rather than outright demanding it - they will likely be more receptive to your request, and if there is a reason why they cannot, you can look for a solution to that together. 23 | 24 | ## Compromises and reconciliation 25 | 26 | Many disagreements are not really fundamental: often there is just a miscommunication, or some mismatch in assumptions. When it seems like you cannot find agreement, try narrowing down exactly where the disagreement comes from, what the most precise difference between your views is. Often, this will inspire new solutions that work for everyone involved, and that reconcile your differences - eliminating the disagreement entirely. 27 | 28 | If all else fails, it is often better to find a compromise that everyone can be reasonably happy with, than to leave one side of the conflict entirely unsatisfied. This should be a last resort; too many compromises can easily stack together into a sense of nothing ever being decided, or nothing being changeable. You should always prefer finding reconciliation instead, as described above. True compromise should be very rarely needed. 29 | -------------------------------------------------------------------------------- /interview-questions.md: -------------------------------------------------------------------------------- 1 | Who: 2 | 3 | - [ ] OK to publish to the other assembly members 4 | - [ ] OK to publish to the public later 5 | 6 | # How, when and why did you join the NixOS community? 7 | 8 | # What is the biggest problem right now in the community? 9 | 10 | # If you could have absolute power for one day, what would you do/change? 11 | 12 | # What would a perfect project look like? 13 | 14 | # What is your experience with the zulip/the assembly? 15 | 16 | # Was there a specific place where you wanted to get something done, and you were blocked? 17 | 18 | # Who do you see are forces for good in the project? 19 | 20 | # What would this community look like if the governance was wildly successful? 21 | 22 | # What are your expectation from the assembly outcome? 23 | 24 | # What are needs that you have that are currently not understood/handled by the NixOS project? 25 | 26 | # What is your experience with the NixOS moderation team? too strict, too uninvolved, etc… 27 | 28 | # Are forks of nix a net positive or a net negative for the community? 29 | 30 | # What do you think about forks of nixpkgs? 31 | 32 | # What would you think of elections where we vote for example a community governing group? 33 | 34 | # Who should be able to vote? 35 | 36 | # What would this community look like if the governance structure would fail completely? 37 | 38 | # What would you do if that happens? 39 | 40 | # Is there someone you think I should also interview? 41 | 42 | # Anything you want to add? 43 | -------------------------------------------------------------------------------- /office-hours.md: -------------------------------------------------------------------------------- 1 | # Office hours 2 | 3 | To have a more personal avenue for questions and feedback, some NCA members will hold personal weekly office hours. 4 | If you have any concerns and/or want to connect with us, feel free to join! 5 | To keep these calls smaller, we ask you to only join at most one per week. 6 | 7 | The time slots are 8 | - Ryan Trinkle / @ryantrinkle: Monday [14:00 UTC](https://time.is/1400_in_UTC) 9 | - Silvan Mosberger / @infinisil: Tuesday [19:00 UTC](https://time.is/1900_in_UTC) 10 | - Michael Raskin / @7c6f434c: Wednesay [21:00 UTC](https://time.is/2100_in_UTC) 11 | - @lassulus: Thursday [16:00 UTC](https://time.is/1600_in_UTC) 12 | 13 | Meeting link: https://jitsi.lassul.us/nca-personal-weekly 14 | 15 | These meetings are also available on the [NixOS Google Calendar](https://calendar.google.com/calendar/u/0/embed?src=b9o52fobqjak8oq8lfkhg3t0qg@group.calendar.google.com) and the [Community Calendar](https://discourse.nixos.org/t/community-calendar/18589). 16 | -------------------------------------------------------------------------------- /qna.md: -------------------------------------------------------------------------------- 1 | # Zulip Q&A 2 | 3 | After [joining Zulip](./zulip), you can ask the NCA questions in the [Assembly Q&A](https://nixpkgs.zulipchat.com/#narrow/stream/438035-Assembly-Q.26A) channel. 4 | Answers by the whole assembly will also be available in the [qna](./qna) directory. 5 | 6 | To keep the moderation surface for a textual assembly/board Q&A minimal, there is a simple structure: 7 | - To ask a question, create a new topic with a single question 8 | - Indicate who the question is directed at (the assembly or specific members) 9 | - To signal interest in a question, react with :+1:, we will try to prioritise those 10 | - Only assembly members can reply and discuss in the same topic, unless they explicitly ask the author for clarifications with a mention 11 | - If you violate this rule, we'll move your message and give a warning 12 | - Anybody is free to create follow-up questions by creating a new topic 13 | -------------------------------------------------------------------------------- /qna/2024-05-20-is-nix-community-in-scope.md: -------------------------------------------------------------------------------- 1 | [Question](https://nixpkgs.zulipchat.com/#narrow/stream/438035-Assembly-Q.26A/topic/.E2.9C.94.20Is.20nix-community.20in.20scope.20for.20technical.20governance.3F/near/439619047): For technical governance will nix-community be treated as a sort of incubation area before getting into the main NixOS repo? (For example home-manager can be re-implemented since that such a core part of the UX for nix for tons of people) 2 | 3 | ### Answer 4 | Answer by the whole assembly: Definitely out of scope for the initial structure, but the resulting governance body could decide on a proposal to integrate nix-community in such a way, that the owners of nix-community could then accept. 5 | -------------------------------------------------------------------------------- /qna/2024-05-20-on-scope.md: -------------------------------------------------------------------------------- 1 | [Question](https://nixpkgs.zulipchat.com/#narrow/stream/438035-Assembly-Q.26A/topic/On.20Scope/near/439613236): There's been a lot of discussion about moderation (which I think is understandable) but when folks start to discuss moderation and governance as identical, I get concerned. My understanding of Open Source Governance includes things like project management - overall architecture and vision, down to how individual component projects operate, and how those project teams interact and coordinate. (To be clear: governance might not specify a particular way of working, only that sub-projects (e.g. the Nix CLI tool) have a well defined way of working with certain requirements). While moderation is a critical part of that, it's not necessarily the be all and end all. 2 | 3 | With that context, what scope does the assembly contemplate for governance? 4 | 5 | It might be useful to mention challenges in the Nix ecosystem that governance should countenance or that are explicitly out of scope, acknowledging that the assembly doesn't intent to resolve those issues as part of their remit (or that they do.) For instance, flakes vs classic Nix might be an enlightening example. 6 | 7 | ### Answer 8 | 9 | Although moderation is an important part of governance, it is only a single component of broader project governance. We see our scope as defining the overall structures and policy for governance, but don’t intend on making technical decisions (e.g. on flakes) on behalf of the future body. 10 | 11 | In the other dimension, which spaces and processes are covered by the scope definitely needs to include Nixpkgs development, the Nix trademark efforts, and probably some other projects and needs — but the details need to be considered carefully. 12 | 13 | That is a very broad scope, that includes teams and initial charters, and a basic set of policies to guide the way those teams function and how they work together — while trying to minimise disruption by doing the changes that are needed and not a ground-up redesign. 14 | -------------------------------------------------------------------------------- /qna/2024-05-20-systematic-issues.md: -------------------------------------------------------------------------------- 1 | [Question](https://nixpkgs.zulipchat.com/#narrow/stream/438035-Assembly-Q.26A/topic/taking.20in.20account.20systematic.20issue.20in.20related.20to.20governance/near/439487059): My question to the assembly is if they are taking into account systematic issues that exist in governance against marginalized folks. Marginalized people's participation is highly dependent on if the governance structure is fair and that there is careful implementation of the structure to make sure there aren't any systematic injustices against any marginalized groups. 2 | 3 | ### Answer 4 | 5 | Answer by the whole assembly: We definitely want to take such systematic issues into account. The governance structure should be fair to everybody, regardless of marginalisation status. This is the aim even if no practical system can be perfectly fair to everybody. 6 | -------------------------------------------------------------------------------- /qna/2024-05-21-appointments-by-assembly.md: -------------------------------------------------------------------------------- 1 | [Question](https://nixpkgs.zulipchat.com/#narrow/stream/438035-Assembly-Q.26A/topic/Will.20the.20assembly.20appoint.20people.20to.20governance.20roles.3F/near/439700285): Its clear that the main task of the assembly is to come up with a governance system for the nix community. Will the assembly also be appointing the individualsh that will initially occupy the roles in this system or is the expectation that part of defining the governance mechanism is defining how people are appointed to these roles, and that this process will be used for the initial appointments? 2 | 3 | Part of the reason that I ask is that it would seem to me that this might not be possible if appointment relies on consensus from those already in governance in order to appoint people to new roles. 4 | 5 | ### Answer 6 | 7 | Answer by the whole assembly: 8 | 9 | We are not yet sure what governance bodies will be recommended for the new governance structure, and how their members will be determined, both initially and into the future. 10 | 11 | It is possible that elections could be held for some bodies in the new governance structure. 12 | 13 | For bodies which already exist and are functioning well, the assembly will work with existing membership to align current structures and document the path to future structures. This includes working with the most similar teams existing now, and with whoever is tasked with oversight of the newly constituted body (if anyone). 14 | 15 | But many factors can affect the decisions for each specific case. 16 | -------------------------------------------------------------------------------- /values.md: -------------------------------------------------------------------------------- 1 | (moved to https://github.com/NixOS/org/blob/main/doc/values.md) 2 | -------------------------------------------------------------------------------- /zulip/README.md: -------------------------------------------------------------------------------- 1 | # Zulip 2 | 3 | [Zulip](https://zulip.com/) (specifically [this instance](https://nixpkgs.zulipchat.com/)) is the platform used for public governance discussions (and nothing else). 4 | It is readable by anybody without logging in, but participation is very loosely limited. 5 | 6 | ## Participation 7 | 8 | To participate on Zulip you have three options: 9 | 10 | 1. If you have previously **contributed to the Nix ecosystem**, [post a message](#how-to-post-a-message) containing a link to your contribution. 11 | 12 | The exact kind of contribution does not matter, it doesn't even have to be code or official, as long as it is _before 2024-05-01_ and _related to Nix_. 13 | 14 | 2. If you have made a substantial and constructive **contribution to setting up a successful community-based governance structure**, [post a message](#how-to-post-a-message) with a link to your contribution. 15 | 16 | 3. If you do not qualify for the above, but still believe you could contribute, reach out to the [Zulip moderators](#moderation) privately. 17 | 18 | ### How to post a message 19 | 20 | For options 1 and 2: 21 | - If you have a relevant contribution on GitHub, post a message in [this GitHub issue](https://github.com/NixOS/foundation/issues/143) 22 | - If your relevant contribution is outside of GitHub, post a message in [this Discourse thread](https://discourse.nixos.org/t/zulip-for-governance-discussions/44684) 23 | 24 | The message should contain the following: 25 | 26 | ```markdown 27 | Contribution: 28 | Email: 29 | ``` 30 | 31 | As soon as a [Zulip moderator](#moderation) has confirmed your contribution, they'll send you an invite to the given Email address. 32 | 33 | ## Moderation 34 | 35 | > [!Note] 36 | > For now this is the [original policy](https://discourse.nixos.org/t/zulip-for-governance-discussions/44684) inherited from the foundation board, but the NCA is actively discussing how to handle Zulip moderation going forward and is likely to make changes soon. 37 | 38 | Zulip is moderated to stay in line with the [Zulip CoC](../CODE_OF_CONDUCT.md) and to stay on-topic (governance discussions only). Compared to other community platforms recently, there is zero tolerance for CoC violations on Zulip, to make sure that civil discussion is possible. In addition to the CoC, make sure to read about [how to de-escalate situations](../deescalation.md). 39 | 40 | To start off clean and give everybody a chance to participate in a civil way, we will consider allowing you to join **even if you've been suspended from other community platforms before**. You can send an email to one of the moderators with your appeal (along with a link to your contribution). If you've only been temporarily suspended you'll definitely be allowed to join. If you've been permanently banned, the Zulip moderators will deliberate based on your appeal. Note that you'll be watched closely, and **if you violate the CoC on Zulip, you will be banned permanently from all platforms** (for people that were suspended before). 41 | 42 | The following people have been entrusted by the board to moderate. They also have the responsibility of inviting people as described above. 43 | 44 | - @infinisil 45 | - @RaitoBezarius 46 | - @Janik 47 | - @lassulus 48 | - @hexa 49 | --------------------------------------------------------------------------------