Nix Community Values; draft for feedback before finalisation

(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)

We as the assembly have spent a large part of our time in the past months studying the values and needs of project contributors.

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.
We have looked for what exists and is appreciated, what is aspired to, and what is wished for and could be improved now.

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.

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.

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.

(The values officially approved by the assembly for publication as a draft for feedback follow)

Nix Community Values

Introduction

Communities form when different people unite around a common purpose. Shared values guide decision making, and community goals supersede individual interests and agendas.

The Open Source Way

Our common purpose is to develop, propagate, and promote the adoption of the purely functional software deployment model. Our values help us achieve this purpose by guiding decisionmaking across the community, keeping us moving in a common direction.

This document captures our core values so that they can be shared and referenced by everyone in the community.

What is a value?

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.

A good test for whether something is a value is:

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.

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.

The Values

Respect and civility

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.

People with higher visibility within the project or towards the public are subject to higher expectations for their conduct.

People come first

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.

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.

Free software and choice over lock-in

Nix projects are and will always remain free software.

We value working together with the broader free software community.

Free software is our priority, but we also support our users’ needs to use non-free software, when practical.

Distribute decisionmaking widely

We are a synthesis of varied but overlapping communities. We rely on distributed approaches: asynchronous communication, clear ownership, deep-dive taskforces, and local decisionmaking.

We focus our attention on working together on our shared goals and working separately in a non-interfering way when our goals are independent.

We build trust primarily by working together on Nix projects.

Automation over process and toil

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.

We build automation and processes that make the best use of our contributors’ limited attention.

Stable evolution over stagnation or chaos

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.

We value experimenting with designs and concepts, and folding successful experiments back into continuous improvement for stable components.

The larger the impact an action has, the more care and discussion is warranted before taking the action.

Our leaders have a duty to find, support, and promote new contributors — and eventually step aside for new leaders.

71 Likes

Nix Community Values Updates; to be finalised on 2024-09-02

(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)

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. We plan to finalise the latest state on 2024-09-01T22:00:00Z, so let us know if you have any last concerns.

Here’s the summary of the changes:

  1. Respect and civility: Added

    We prioritise project health over individual interests

  2. Automation over process and toil: Added

    Automation reduces toil, but people are still accountable for it.

  3. People come first: Replaced “companies” with “organisations”:

    Organisations gain prestige by funding the work of individuals and providing resources to support the project.

  4. Automation over process and toil: Added a footnote for “toil”:

    Toil is work that tends to be manual, repetitive, automatable, interrupt-driven, devoid of enduring value, and scaling linearly with growth.

  5. Automation over process and toil: Replaced “attention” with “time and energy”:

    We build automation and processes that make the best use of our contributors’ limited time and energy.

PS: Stay tuned, soon we’ll publish a constitution draft!

16 Likes

(again written personally, but the values are approved by the entire assembly)

We thank everybody for their final feedback. We have decided to move ahead with the finalisation with just a minor additional edit:

  1. Automation over process and toil: Remove ambiguous “for it”, for it to become:

    Automation reduces toil, but people are still accountable.

While we believe these values to be good enough for a start, a process to change them is also being proposed in the Nix Governance Constitution that we’re working on right now, feedback much appreciated, here’s how.

The initial version of these values should now be added to the homepage, for which we’ve opened a tracking issue. We’d be grateful for somebody to pick up the implementation of that while we continue focusing on improving governance.

3 Likes