Embloggeration happened: bassi.io/articles/2025/08/03/g…

For those who were unable to attend, or see the recording, these are the notes for my GUADEC 2025 presentation about introducing a formal technical governance in GNOME, starting from a "change proposal" process, through the addition of a steering committee to evaluate those changes, and all the way down to the removal of the role of the "maintainer" for projects that exist under the GNOME umbrella.

#gnome

in reply to ✧✦Catherine✦✧

@whitequark the role and its duties vary from project to project; a maintainer in GNOME has, historically, been the person rolling the releases and uploading the artefacts because they had access to the FTP server; but it also meant the person responsible for doing all the reviews, going through all the issues, and providing some institutional knowledge. It's basically a mix between a senior engineer and a release manager.
in reply to kramo

@kramo since you're a core app maintainer, I'd start gathering other core app people and seed a "core app team": exchange code reviews, document change proposals, triage issues, have regular meetings between core app contributors for discussing features and issues, and keep notes. Basically: core applications should be a shared area of interest. Once we have a process for creating groups, we can make the core apps team official, and then select somebody to be in the steering committee.
in reply to Emmanuele Bassi

My understanding of "maintainer" is the person maintaining a project in a sense to keep it healthy and sustainable. This includes reviewing designs and code changes in a timely manner. Who is going to do this? Can we start paying maintainers to review code in a timely manner? Both corporate sponsors and private contributors have very little intrinsic motivation to review other people's changes instead of working on the ones they care about themselves.
in reply to Emmanuele Bassi

How do you make sure such change proposals don't get stalled? Did you get inspiration from other projects' processes like the Wayland change process (which I can highly recommend): gitlab.freedesktop.org/wayland…
This entry was edited (2 weeks ago)
in reply to Emmanuele Bassi

I read it at full length but only remembered the comparison with Python which already inspired the previous failed attempt (although after reading again it also lists Rust and Fedora which are very similar and don't seem to provide additional aspects). So it makes sense to do a more elaborate comparison. Especially the aspect of many of them getting stalled is quite common in these ecosystems. The golang approach is also very inspiring. Or the original RFCs for internet standards.
This entry was edited (2 weeks ago)