guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: doc: guix-days-2024: Add notes from the plenary and governance se


From: Ludovic Courtès
Subject: 03/03: doc: guix-days-2024: Add notes from the plenary and governance sessions.
Date: Sat, 3 Feb 2024 18:54:01 -0500 (EST)

civodul pushed a commit to branch master
in repository maintenance.

commit 12a5d469852a008c314c5f30d17ce60f5a954325
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Feb 4 00:52:51 2024 +0100

    doc: guix-days-2024: Add notes from the plenary and governance sessions.
    
    * doc/guix-days-2024/governance.org,
    doc/guix-days-2024/plenary.org: New files.
---
 doc/guix-days-2024/governance.org | 144 ++++++++++++++++++++++++++++++++++++++
 doc/guix-days-2024/plenary.org    |  48 +++++++++++++
 2 files changed, 192 insertions(+)

diff --git a/doc/guix-days-2024/governance.org 
b/doc/guix-days-2024/governance.org
new file mode 100644
index 0000000..d9eda59
--- /dev/null
+++ b/doc/guix-days-2024/governance.org
@@ -0,0 +1,144 @@
+#+TITLE: Notes from the Guix Days session on governance
+#+DATE: Friday, Feb. 2nd, 2024
+
+  - what’s governance
+    - “unfun” stuff, “commit access”
+  - what does being a maintainer mean (Efraim answers)
+    - missions: “people stuff”
+    - keep everyone participating happy enough
+    - not losing contributors
+    - keeping infrastructure working well
+    - discussions among maintainers: Jitsi meetings a couple of times a
+      year (there used to be notes of those meeting in maintenance.git)
+    - code of conduct enforcement
+    - don’t worry about the money, work with Guix Foundation
+    - “this is reactive; what’s happening in proactive terms?”
+  - RFC process
+    - process to document the process
+    - “lack of structure is refreshing sometimes but it can help to have
+      nucleation sites”
+    - hard to contribute when there is no structure
+    - “as co-maintainer, it felt overwhelming to not have any structure
+      to direct people to”
+    - Debian is a good example
+      - DFSG
+    - [[https://issues.guix.gnu.org/66844][Simon’s RFC process proposal]] 
inspired by Haskell’s
+    - examples where it could help
+      - document the maintainer role and expectations (extension of the
+        
[[https://guix.gnu.org/blog/2019/gnu-guix-maintainer-collective-expands/][2019 
blog post]])
+      - document the release process, teams
+      - how we merge branches
+      - question: how could an RFC process help with these?
+      - important project-wide decisions may need to be discussed in a
+       way other than through patch review
+      - core changes to the API or CLI
+      - see “why wasn’t I consulted?” talk (Rust)
+      - more examples: how do decide which organizations to affiliate
+        with? do we run a fundraising campaign and what for? how do we
+        spend money? what infrastructure does the project want to run?
+        who gets on the spending committee?
+    - RFC process as a transparency record
+    - there could be a separate manual describing the organizational
+      structure of the project
+    - we should not concentrate power in the hands of maintainers and
+      spending committee; they may lack legitimization
+    - “has to be a democracy with an elected board”
+    - “we need to keep the consensus model at the heart, we don’t
+      necessarily need a voting process”
+    - question: “we as a community want to make decisions, but who is
+      /we/?”
+      - if there’s a “random person” that comes to the mailing list,
+        should we overrule that?
+      - non-code contributors should have a say
+    - *sociocracy*
+      - organize things as a “federation” in terms of “circles” (teams)
+        with a mission/mandate
+      - but no single circle “rules them all”
+      - the circles are all related
+      - decisions are made notion of consent (“I don’t have any
+        compelling objection to this”)
+      - goal: becoming aware of all the needs of all the circles, and
+        build a solution collectively
+      - this process can be run distributedly
+      - it is formalized and defined
+      - “Spritely for democracy”
+      - there’s explicit membership in circles, and it changes
+        dynamically
+      - dunno if used by other software projects
+      - representative democracy at the level of the circle network
+      - example circles:
+       - funding
+      - everyone who feels sufficiently represented is part of “we”
+      - example: HPC people have no group representing their interests,
+        they may not feel entitled to chime in
+      - someone is always part of two circles (the primary one and the
+        one it’s in)
+      - provisions against infiltration?
+       - no; basic assumption: we all mean well
+      - example from Extinction Rebellion
+       - roles in a circle rotate regularly
+       - vouching processes to avoid infiltration
+      - example: HPC people could “subvert” the project because they
+        don’t care about user freedom
+       - solution: the values of the HPC circle would conflict with
+          those of the other circles
+    - right now there *is* a structure, you just don’t know about it:
+      you have to find out who is on IRC, who has commit rights, someone
+      one doesn’t feel entitled to make their voice heard
+    - to go to sociocracy, we would need to make the connections between
+      circles—e.g., spending committee & sysadmin
+    - would be useful to learn from Debian
+      - capture the mission and shared values
+      - example of Ubuntu could happen to Guix: we should acknowledge
+        that things will be built upon it
+    - probably start with a constitution
+      - example: the [[https://gnu.tools/en/documents/social-contract/][GNU 
Assembly social contract]]
+    - how do we go from here?
+      - propose concrete circles (as opposed to ask “what should the
+        circles be?”)
+      - RFC process not related to circles?
+      - RFC process used to bootstrap other processes
+      - feedback from the Nix community
+       - legitimize processes by participation
+       - it could backfire if processes are only followed by key people
+          who have time and energy
+       - figure out and balance why people are joining a team
+       - how do you give people authority and responsibility?
+       - serious mistakes that were made
+         - people might explicitly not want more structure
+         - adding more structure may seem like you’re excluding people
+            who for ex. don’t want regular meetings
+         - make sure those people’s need are being meant
+       - early on in Nix, de facto but unwritten power structure
+         - people de facto in power tried to override the RFC process
+         - figure out beforehand what to do if people in a position of
+            power decide to dismiss/overrule the process being set up
+      - importance of communication not just with asynchronous on-line
+        media; experience from a standardization process
+       - regular voice/video calls, occasionally face-to-face meetings
+       - currently no effort to get regular meetings (“heartbeat”) in
+          Guix
+       - important to keep group cohesion
+       - write down what’s been discussed
+       - always someone taking notes, ideally rotating
+       - immediately publish it so there’s a record
+       - summarize resolutions, explicitly mark decisions that were made
+       - example: in W3C-based standards group is scribed, there’s a
+          queue so people get a chance to speak, there’s a meeting
+          facilitator and agenda, proposals and resolutions and clearly
+          marked, people vote with +1/0/-1/+0/-0
+      - we don’t need to drop any of the current communication
+        mechanisms—e.g., we’ll keep the chaotic patch tracker
+      - currently we’re “do-ocracy” where people with commit access can
+        do things, like in Debian
+       - run by people stepping up to do the work
+       - we are not going to be able to drop the doocracy nature of
+          this project
+       - Debian has both structure and doocracy
+       - do-ocracy automatically selects people who have time, which is
+          bad for diversity
+       - do-ocracy is built into the model of consensus
+       - regarding consensus: veto is not a solution
+       - be aware of power structures outside the organization so they
+          do not reproduce inside the organization
+
diff --git a/doc/guix-days-2024/plenary.org b/doc/guix-days-2024/plenary.org
new file mode 100644
index 0000000..3ff1513
--- /dev/null
+++ b/doc/guix-days-2024/plenary.org
@@ -0,0 +1,48 @@
+#+TITLE: Notes from the Guix Days plenary session
+#+DATE: Thursday, Feb. 1st, 2024
+
+* status update (Efraim)                                            :plenary:
+
+  - last release 1 year old
+  - installer
+    - working okay
+    - does not cater to the needs of power users (e.g., btrfs on encrypted)
+    - problems when choosing EXWM
+    - allow choosing the Hurd?
+  - substitute availability is good for x86_64
+    - currently 98% or so
+    - qa.guix gives a summary
+    - 32-bit support is in a poor state
+    - idea: estimate i686 substitute usage using server logs?
+    - is ARMv7 (32-bit, armhf-linux) used at all?
+  - onboarding
+    - "not a lot of projects are doing email patches"
+    - people maintain their own stack of patches they don't submit
+    - "we need to do something on our side"
+  - teams
+    - "nice but not perfect", "mostly working"
+    - what about patches with no associated teams?
+    - Rust team is just Efraim
+  - sysadmin
+    - small bus factor
+    - Chris in charge qa.guix, data.guix, etc.
+    - berlin was building slowly early January: needed to vacuum the
+      posgresql database
+  - we're moving faster
+    - #5 on Repology
+    - we should talk more about package availability
+  - time traps
+    - "virtual build machine" service to address that
+    - could be used for 2038 bug testing
+    - RISC-V builds broke with some kernel update
+  - SWH
+
+* Quality assurance, QA (Chris Baines)                              :plenary:
+
+  - architecture diagram
+  - entry points: https://qa.guix.gnu.org/patches,
+    https://qa.guix.gnu.org/reproducible-builds
+  - question about “slowness” of builds
+    - could use a different prioritirization method
+    - could add more hardware
+    - https://bordeaux.guix.gnu.org/activity -> it’s busy :-)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]