Draft: Community Manifesto

We are a community of volunteers and stand on the foundations of good faith. We collaborate on mutual interests and may become friends.

(may intentionally emphazised)

I’m trying to convey the same message with a positive twist.

1 Like

Everyone is invited to lead by example. We ask informed questions, document our findings, gather consensus, and make pull requests to facilitate change.

As much as we encourage advancing our cause one Pull Request at a time, we owe each contributor a timely and considerate appreciation of their work.

However, our resources are limited. Therefore, everyone is eligible to claim a priority review for every two (2) reviews given in return on other PRs.

PRs shall be generally merged in a timely manner after two (2) approving reviews and without objections.

I have an impression that anything under such a heading would push the situation towards more uniformity in requirements instead of less uniformity and more impact-dependence. (Not sure how to put it instead)

I find this desirable, right now we have the PR template, which is good, but I think can be expanded. Then enforced through some PR gates. Ideally, the human review would just be, “does this make sense”.

Well, technically enforced rules need specifications, not manifestos.

(Hopefully we will not get anything as … interesting as Black-for-NixOS-tests story in the process)

The «making sense» part should be evaluated vastly differently in different cases, though.

I think you both have a point here, for the flight hight of a manifesto, we should rather empathically communicate certain general values: Like we respect contributions, we akcnowledge, that maintainers are putting their time on the table, but also contributors. We acknowledge that there might be a conflict in this reality. We aspire to resolve that conflict in the most considerate way possible.

This was a bit the spirit of my above suggestion:

1 Like

I added the above suggestion with the intent to inspire discussion around those two questions.

Erm, are we? (In the sense of are we heading in the same direction, and do we need to — or are we just doing our best to share the useful things we have to build for our quite disconnected journeys)

(I maintain my stance that the one thing holding the project together is corporate patronage of Hydra and binary cache — as a CoI declaration, I am not employed by any organisation having an official stance about Nix*, and I only came to know any people employed by such through Nix* community)

3 Likes

@blaggacao Unfortunately I can’t refer to your changes directly, and only quote the current state of “my own” post. Thanks for pointing out your additions in separate posts. Maybe Discourse is too blunt a tool and we should switch to git/GitHub and continue as an RFC?

Strongly in favor of adding the good-faith-aspect somehow, but I dislike metaphorical wording in this context, as I think it stands in the way of clarity. Can we matter-of-factly distill from the other thread how we would say that we default to assuming good faith in our interactions?

Good point!

You changed the message, because now we’d collaborate on things that interest us mutually, instead of collaborating because doing so is in our mutual interest. For me the former is less important, as it easily derives from volunteering, but the latter is something we may want to emphasize, as it is easy to lose track of over day-to-day issues.

I doubt referring to friendship is considerate, given how some people feel about things here.

What’s the cause here? Please, let’s not add blanks. And no, no one owes anything to anyone, that’s implied by the statement that we’re a volunteer community.

It’s trivially true that resources are limited, and I tried to incorporate that by asking for deliberately considerate communication - which is observably non-trivial. Sometimes I feel we may need to add something like “we treat each other as human beings”, but that would go in the same direction - it should be trivially true.

This is not true. There is no obligation to assume responsibility.

First two statements: I don’t expect any consensus on this and will remove them.

Last statement: Is this what you observe? Sounds arbitrary to me.

I will also remove the additional headlines and any blanks. Let’s try to keep semantic and visual noise down as much as possible. Working on contents is challenge enough for me.

Also, where did it go that everyone is encouraged to review and that we navigate by RFCs?

I’m in favor of adding something very close to that, will have to think more about exact wording.

I’d add something like:

We try to establish an environment of psychological safety. Where personal conflicts arise, we resolve them in private, and seek help from moderators [link to appropraite list] if required.

We try, because we can’t say we have already achieved this.

Maybe also:

Shamelessly generalizing that beautiful statement… How about adding something along its lines?

@nicoo Would this address your concerns?

I also want to reword both headings. Maybe:

How do we communicate?

or even

What do we stand for?

and

How to contribute effectively?

1 Like

Perfect! I completely see hour point about avoiding metaphors.

Oops, that wasn’t even knteded. Thanks!

Here, I wanted to give it a positive and inspiring twist. I tried to say the same thing as before, but positively. There might be ways to put that even better.

I well noticed that we cannot properly embed the statement of values within a meaningful direction. And I also was vary about that blank. This is why I added the Vision, Mission & Objectives parts, so that it becomes possible to give the values a meaningful direction or finality.

The term “owe” is meant as an empathic expression of utter “consideration”. There should be better ways to express it.

It is trivially true, but it is also an empathetic fact to cite when managing expectations. A lot of expectations seem to form because this is forgotten in the heat of the action.

Of course not, the goal of a manifest is to inspire identification with its content. It would be a good outcome if more people assume responsibility and feel empowered to make that final call on a PR as I assume that could help to de-choque the PR process a little. How can we enable that outcome?

Yep, we can remove the whole barter idea, it might be too specific / rule-like for a manifesto anyway. Just wanted to put it up for discussion, but I agree, that might not be a thing for a manifesto.

We might need to introduce a new headline: How do we make decisions?

I think it’s an important question, too. RFCs is one component
The encouragement fornreviews yranscended in the review barter idea.


For the other suggestions:

In general, lets keep this strictly positive. There should be always a positive variant of any formulation.

Good! Also “How do we contribute?”

Semantically that would be the category (values) of those and other questions (tbd).


According to this, I’ll make some consensus updates to the wiki, please complement as needed.


Re: direction & consensus

I see your point about consensus on direction. On the other hand, I think a manifesto is the right place to at least attempt direction. If you wish, we can gather consensus on values, first and then attempt to extract and condense direction. It might be the right order of things, but I wouldn’t want to miss the opportunity to at least get a (normative, not observational) discussion on direction going.

1 Like

Edited in the «respect despite occasional difference of values».

Fixed a bit the decision-making part.

2 Likes

Nix is the punk rock of package managers. It’s messy, doesn’t do things like everybody, and maximizes freedom.

I can fork nixpkgs, build my own independent overlays, remix different channels. There are many ways where I, as an independent person, can experiment and build my own things, yet still benefit from the collective work that has been put in nixpkgs. And if it breaks, I can roll back.

Freedom maximization is also something I try to think about in other aspects of the community:

  • What can I do to enable other people to do cool things?
  • Do I feel the urge to tell somebody what they should do? ← STFU, who am I to tell?
  • When reviewing PRs; is the PR improving the status quo? If yes, merge. Don’t ask for each PR to be perfect. Stop nitpicking.
  • Is somebody saying something annoying? Assume they meant well and let it go.
  • Sometimes I fail, I am a human.

A long time ago, somebody decided that they would build a computer that fills a whole room do so some simple math. They had the vision that down the line it would free us from work (or they just wanted to have fun, we’ll never know). Now I can sit all day and have fun with computers instead of tilling in the fields. This is so cool. Software is a force multiplier and we can all benefit as long as we don’t forget this.

10 Likes

This is probably not enough guidance.

In my experience (in greater detail contained im previous versions of this post), people have a hard time to structure that process clearly enough: arguments tend to meander about and at times clear “cut-off” questions that would conduct to some sort of (open-ended, yet practical) decision are avoided into stalling a motion.

I wonder how we can help a little with that.


I also tried to embed the abstract “growing experience” into a concrete and very practical context:

I made an attempted in distilling the learnigs here into the decision making section. I also modified wording from a previous (still unaddressed) feedback from @fricklerhandwerk .

Okay, I agree on managing expectations, and we could somehow note this. Suggestion:

Reviewers appreciate the effort that goes into pull requests by providing constructive feedback. Contributors appreciate the effort that goes into reviews by keeping in mind our contribution guidelines.

Claim: By improving on psychological safety.

Yes, great.

Yes I do.

This would be independent of what we’re doing right now.

Picking these three out, because I think the other two were addressed already.

Good one. How could we embed this into the text?

I’d totally like to add that sentiment somehow, having seen this “who am I to…” come up multiple times now. It’s in principle subsumed by the statement on being volunteers, but maybe that one’s not strong enough?

How about:

We try to merge obvious improvements quickly, while keeping an eye on working code and backwards compatibility.

For me that’s clear enough of a statement, but the problem I see here is that, while I agree from observation, the wording is discouraging. I sure don’t present my work to catch objections, I’d rather see someone assist me with correcting oversights, getting it up to standards and merging it.

What is even the high-level goal of reviews? Pretty dumb question to myself, but one that I couldn’t answer from Contributing to Nixpkgs and CONTRIBUTING.md. Seems to amount to enforcing contributing guidelines, but that’s not very encouraging either.

Inspired by this:

Why don’t we put it this way?

We usually propose small changes and see if anyone has something to add. Everyone is encouraged to review contributions. We value sound reasoning that stands on its own merit, no matter who puts it forth.

2 Likes

What hopefully everyone seems to accept as valuable: advice on whether something is missed, information whether such a thing will work in some other contexts, and last and least but unfortunately not ignorable completely, someone confirming that the change is obviously malicious in case of contributors with little track record.

(Improving the change further is sometimes incredible useful and sometimes leads to pointless stalling and all the real life happens in-between; I do not like «if anyone has something to add» because of that)

2 Likes

@fricklerhandwerk I like all your fomulation suggestions, they all conserve the gist in nice (and boring) ways. Where boring is beautiful. :wink:


I agree that you go ahead if you feel like and change them.

1 Like