Discussion: How to update FEP-a4ed

@silverpill has proposed an update to FEP-a4ed on codeberg.org. The new part is:

Updating FEP-a4ed

Anyone can propose a change to FEP-a4ed using any method listed in SUBMISSION.md file. The change must be approved by at least two editors (one of them could be the submitter). If the change is substantial, it should not be accepted until at least 1 week passes after the last update (to give editors enough time to review it). Proposed minor corrections could be accepted immediately after getting two approvals from editors.

I have comments:

  • First, I feel that “substantial” is too vague. I would like some examples
    • Any change to the folder structure
    • Any change to the submission process
    • Any change to the file format
  • I think any change to FEP-a4ed should be announced and discussed on SocialHub. For me codeberg holds the state of FEP not the process. We might want a FEP Governance category for it. I also failed to create governance tag.
  • The time periods and number of reviews seem low

cc @fep.hosts

3 Likes

The change must be approved by at least two editors (one of them could be the submitter).

I think important decisions should require approval of the majority of editors. However, currently only two editors (out of 6) review pull requests, so I picked the number 2 to keep things going.

The list of editors was revised last time in 2022. It would be good to repeat this procedure before the end of the year.

I agree, and will update this part.

I’m fine with having discussions here, but SocialHub is not an appropriate tool for task management. Related topic: Task management at FEP repository - #6 by helge

2 Likes

Updated text to:

Anyone can propose a change to FEP-a4ed (or other documents related to the FEP process) using any method listed in SUBMISSION.md file. The change must be approved by at least two editors (one of them could be the submitter). If the change is substantial (i.e. not a correction of a typo or of a broken link), it should not be accepted until at least 1 week passes after the last update (to give editors enough time to review it). Proposed minor corrections could be accepted immediately after getting two approvals from editors.

It’s easier to say what constitutes a non-substantial change.

2 Likes

I agree with @helge’s opening remarks.

  1. The proposed change requires only one person besides the submitter to accept the change: this is not enough. The submitter should not be counted in this number, so at least three people must convene to accept a change.
  2. The proposed change allows changes to be made according to “any method listed in SUBMISSION.md” (plural), but this file only lists one method: Codeberg, which implies not requiring open discussion process on the SocialHub.
  3. The proposed change requires one week (after last edition) for changes to be accepted: this is not enough for people to get awareness of the change and time to review or discuss it in times of information overload.

Here are my suggestions:

  1. at least 3 people should be agreeing on the changes — these people should have good standing with the community, e.g., with commit access or reviewer membership in the Fediverse team, or moderator/host access on the SocialHub, or chair of the SocialCG, or @trust_level_2 here.
  2. the SUBMISSION.md should enforce mentioning new issues on the SocialHub so that the whole community gains quick awareness of changes and keeps the process going on here.
  3. the delay before a change is adopted should be increased to a month. In the meantime, a proposed change may be ‘pending’ after a week to ensure it becomes visible. Maybe there could be a ‘staging’ branch for upcoming FEP changes?

Two more suggestions:

  1. A pull request should not be merged if a single member of the community disapproves of it without their issues having been appropriately addressed.
  2. It should be made clear that all such pull requests must be in accordance with FEP goals: “The goal of a FEP is to improve interoperability and well-being of diverse services, applications and communities that form the Fediverse.”. I would also add the objective of keeping FEP a light weight process to this list. This means that a significant pull request that does not further these goals or makes FEP more heavy weight, should be rejected.

I think at the moment we don’t have 3 editors who can regularly review changes (see my previous comment). The number can be changed later though.

People who are not editors may express opinions, but they can’t make decisions, because these decisions directly affect FEP editors who do the chores.

Such requirement should probably go into FEP-a4ed. SUBMISSION.md is just a convenient way to refer to “all submission methods” without repeating them (currently there’s only one but we can expect more in the future).

Also, I think this topic is separate from the current one and should be tackled in a separate pull request. Again, the discussion on task management feels relevant: Task management at FEP repository

No strong opinion on merge delay. @helge do you support 1 month suggestion?

We can also use issue labels.

This could become a vector of abuse. Maybe only FEP editors should have the veto power?

How would you like to codify this idea? Do you think we should make section “Scope and objectives” unchangeable, like a constitution?

1 Like

I would support merging as-is and bumping number when the editorial board swells to 4 or 5 :smiley:

+1 discuss elsewhere.

+1 to using “pending” label or equivalent (in Codeberg > in the doc)

+1 to silverpill. so-called “vetocracy” is a failure mode to take seriously-- I’ve seen some XIP processes crash and burn on veto rights without countermeasures! even if it’s not malicious or interpersonal “abuse”, it can still devolve quite naturally and easily into abuse of process, which can really hurt the legitimacy of the process or buy-in from document contibutors if they see a substantial risk or frequency of documents “stalling out” after a lot of work. even making a -1 from any editor a blocker to merging a document can be a failure mode if there is no counterweight to individual editors going commando on their pet issues. counterweights include editorial board membership being challengeable/revocable by the rest of the editorial group, etc etc. sorry to “go commando” myself but I have strong feelings on this one!

I wouldn’t overthink this or overspecify this. I’m not sure we want to lock ourselves into status quo, and how “lightweight” or “heavyweight” the process is strikes me as a fundamentally subjective judgment to begin with, rather than a self-evidently good or permanent property of the process. Trying to codify or make immutable such judgments strikes me as having only downsides and no upside, except in that it saves editors having to defend their decisions by embedding a cudgel in their “constitution” :wink:

1 Like

I have another thing that should be blocking to update FEP-a4ed. We currently have some python scripts that handle some of the manual work for the FEP process. If one makes change to the FEP document format, these scripts need to be maintained. So changes that increase the maintenance burden should be discussed and someone needs to volunteer to do the work.

I’m writing this due to calls for YAML frontmatter. I must say that this is probably a bad idea. YAML is hard to work with when modifying it using a script. As evidence: The first FAQ entry in the PyYAML documentation is how to get YAML outputted in a specific format. One will face similar issues, if one starts automatically update frontmatters for FEPs. My recommendation: Don’t. Stick with key value pairs.

@helge I could add a sentence like this:

For any part of the FEP process, there must be a sufficient number of editors who agreed to maintain it.

1 Like

That and changing 1 week to 1 month. Then I think I’m happy with it.

Anyone can propose a change to FEP-a4ed (or other documents related to the FEP process) using any method listed in SUBMISSION.md file. The change must be approved by at least two editors (one of them could be the submitter). For any part of the FEP process, there must be a sufficient number of editors who agreed to maintain. Changes should not be accepted before at least 1 month passes, to give editors and the community time to review them and provide feedback

Minor changes (i.e. not a correction of a typo or of a broken link), can be accepted immediately after getting two approvals from editors.

1 Like

I strongly disagree that it’s a bad idea or that it’s overly difficult to work with. It is YAML (in a Codeberg context) whether we use a restricted subset of YAML or not. That FAQ entry doesn’t imply any major difficulty. It’s normal for libraries like this (and others, like JSON or XML formatters) to have options for different styles of formatting. Depending on what you’re trying to do, it’s not always necessary to parse and dump the YAML. Simple changes can often manipulate the frontmatter as text context (appending lines, etc.).

You suggest sticking with key value pairs. I assume you’re suggesting that we should only use string-typed values (a list or a dictionary is a value too, as examples). If not, then please ignore my comments. If so, then maybe the restriction could be extended to only allow string-typed or list-typed values (non-recursive). I understand that allowing all YAML features is unnecessary for frontmatter purposes. However, I think only allowing string-typed values and using ad-hoc strings for list representations is unnecessarily restrictive and creates difficulties for metadata consumers.

If there’s a technical blocker with supporting YAML lists related to the tooling scripts, I’d be happy to help with that.

1 Like

The merge request has been updated: #180 - How to update FEP-a4ed - fep - Codeberg.org

@fep.hosts Please review the proposed change to FEP-a4ed: #180 - How to update FEP-a4ed - fep - Codeberg.org (and check other open pull requests too :slight_smile: )

1 Like

The pull request has been merged.

Check the new “FEP Process Governance” section in FEP-a4ed: fep/fep-a4ed.md at main - fep - Codeberg.org