On 6/28/26 22:21, Maxwell G wrote:
Hi everyone,

I've been thinking about the Changes Process recently and how we can improve it for Change Owners, Change Wranglers, FESCo members, and participants in Change discussion and feedback. I'm not officially proposing to change anything now, but I wanted to put some ideas out there and see how people feel about this or if anybody has other ideas/ thoughts/opinions.

---

Any changes to the Changes Process should go through the Changes Process or a similar community feedback process.

We need to be aware of other processes/teams/scripts that consume Changes so that they can be adjusted accordingly.

The policy should encourage requesting unofficial "pre-feedback" on the devel list before writing or submitting an official proposal for large- scale or potentially controversial/disruptive Changes. This happens sometimes right now but not always, and I think some Changes could benefit from this optional extra step.

We should move away from the Wiki and wikitext formatting. Wikitext is yet another text markup format that we use in Fedora that is not familiar to everyone, and it's apparently hard to parse programmatically. We could consider storing metadata about Changes (such as targeted release, change owners, status, FESCo issue number) in a structured way using Markdown front-matter that tools that work with Changes can easily consume.

Changes should be written in markdown, or a markup format that can be easily converted to markdown or bbcode for display on Discourse, and also for plain text emails. If we use asciidoc, that would allow us to publish approved Changes to docs.fedoraproject.org which might be nice.

We should store Changes as text files in a git repository. Change owners would propose Changes by filing a PR against the repository and then the Change would be announced after the Change Wrangler reviews and merges the Change text. We could have CI checks to validate Changes (e.g., to make sure that system-wide Changes have the correct optional fields) and various other opportunities for automation that we don't have with the wiki.

Discourse should _not_ be the primary source of truth for Change Proposal texts. I've heard suggestions to use it for this, since it's one place and already supports markdown-formatted text and is currently used for discussion, but I don't believe it's a good place to store and work with Changes. There's not a good way to programmatically access Changes if they were stored in Discourse. Forum software is not meant for archiving anything. A repository of plain text files is better- suited for this purpose.

I think "primary source" and "archiving" are different use cases.

I fully agree that Git repo with changes in a readable text format would be the best possible archiving solution.

--

Personally I like the OpenStack approach to design specs. See example in:

https://specs.openstack.org/openstack/nova-specs/readme.html
https://specs.openstack.org/openstack/nova-specs/specs/juno/template.html

It has Git review workflow, CI, static site generated for the merged content, specs are moved from ./approved/ to ./implemented/ when done.

--

But Discourse _can_ be a possible entry point to start and handle the Change Discussion.

Discourse does store all posts in markdown-like form and keeps history of changes.

You can access the markdown version of any post via /raw/<thread-id>/<message-number> link, like
https://discussion.fedoraproject.org/raw/144297/1

And all previous revisions can also be accessed programmatically with some additional privileges

https://meta.discourse.org/t/how-to-get-a-previous-version-revision-of-a-post-through-the-api/58164


Thus, since Discourse already handles authentication, formatting, rendering, notifications,.. it might be cheaper to use Discourse as the "web-form" to create a change, and then use the markdown versions of it for next processing steps, which would include creation of a PR in the Git repo, adding necessary metadata and whatever else needed to it.

You could do things like: have the preliminary discussion of a Change Proposal by creating the Change thread on Discourse, but then "promote" that thread to the next step by exporting the text description of a change from the thread into the Git PR.


This part doesn't have to go along with a migration away from the Wiki that I am suggesting, but I wanted to float the idea here. I think we should consider whether to stop announcing Changes on Discourse. Cross- posting to Discourse was proposed as an experiment in fesco#2989, but there was never a decision made about whether to stop or continue with the experiment. I find the fractured discussions between devel@ and Discourse hard to follow. I think the Discourse setup makes it easier for discussions to "accelerate" or become toxic or repetitive. I don't think it's any better at handling large threads.

All the best,
Maxwell

P.S.

No matter what you choose in the end, removing the wiki syntax step from the process would already be a huge improvement. And maybe instead of designing the whole new workflow, we should focus on "what would be the minimal possible change to the existing process which would achieve that.


--
Aleksandra Fedorova
Matrix: @bookwar:fedora.im
Fediverse/Mastodon: @[email protected]
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to