Before NixOS I was using FreeBSD. The scope and size of FreeBSD (including ports) is definitely comparable to Aux, and I believe we can learn a log from the BSD community. The BSDs are structured for independence and being self-sufficient. They’re very conservative and I can’t tell much about governance structure, but I was there as a user during migration from Subversion to Git (which happened in 2020, this is how conservative the BSDs are; I think OpenBSD still uses CVS), and I can talk a bit about their code hosting.
All is self-hosted, no reliance on any third party forge or service.
Canonical central repositories are at https://cgit.freebsd.org/ – no forge. No forks either, there’s one central repo with branches, so the issue with forks taking up space doesn’t apply. I’m not sure how the repositories themselves are hosted – I expect either custom solution with plain ssh access, or something as simple as gitosis/gitolite. On top of that, cgit for read-only web access.
All the contributions I made were simple, so I sent them as patches to Bugzilla. For more complex changes there’s a Phabricator. I’m not sure how does the workflow look like once you’re a comitter, TBH. I can try to look it up if anybody’s interested.
This is simple, but very flexible – since Git itself is distributed, committers can work on branches in the central repo or maintain the fork however they see fit. There’s a read only GitHub mirror that can be forked. Some subystem maintainers organize their work around GitHub – they create a central GH fork for their workstream, accept PRs from other contributors, and then push their integration branch to the central repository to upstream. DRM (graphics subsystem) effort was initially organized this way.
I see that the freebsd
GitHub org is used for canonical hosting of some smaller components that aren’t as stable as the core repos. Seems like DRM is now an out-of-tree kernel module (GitHub - freebsd/drm-kmod: drm driver for FreeBSD) – this repository is used as a source for a port (i.e. external package out of the base system tree).
If this is helpful at all, I’ll try to look for descriptions of the development workflows [EDITED TO ADD: Committer's Guide | FreeBSD Documentation Portal documents the development workflow in detail, it’s not as sophisticated as we’d need, but still might be valuable for inspiration]. I feel that BSDs’ focus on self-reliance and self-hosting is something we can learn from.
Does anybody have insight how are other projects of similar scale hosted and structured? (Other BSDs? Debian? Arch? Slackware? Something large that’s not a os/distro and not a de facto corporate project?) Let’s try to learn from other projects and avoid repeating their trials and errors if we can.