I’ve been onboarding to Fedora Infra for a little while, and I’ve made a lot of observations and notes about opportunities to improve the experience. The single biggest gap that I can see for new contributors is also a “non-incremental” change that I’d like to propose here, which will require coordination and buy-in from existing contributors. That is: making the work visible.
Unplanned work
I’m not talking about the “unplanned work” like break/fix stuff and community requests for permissions changes and other tweaks. There is some room for improvement here, but in general this type of work is not a good place for new users to start contributing because it requires a lot of knowledge and granted permissions, and it’s not easy to collaborate on. So I don’t think any changes here will dramatically benefit new users.
Planned work
However, the “planned work” is currently either mostly invisible or scattered across repo issues, Discussion threads, and various documents that are not really discoverable. For example, there is no single fedora-infrastructure
Issue that covers the Forgejo migration - only a few “tweaks” requests. There is an issue for the Zabbix migration, but it was last updated 6 months ago. And there is nothing discussing Anubis, leftovers from RDU migration, etc etc, let alone anything which may be known and coming down the pipe, or our 6-24 month aspirations and desires.
If newbies can’t see what’s being worked on or what we’d like to work on, they can’t contribute to it. And newbies not getting traction is worse for us long-term than not attracting new contributors at all, because a single person’s success or failure has a way of growing beyond them.
Suggestions
I see some ancient Pagure boards out there that looked promising until I realized that there was stuff in the Backlog column that was completed >2 years ago.
Here’s a plan I’d like to suggest. Please poke holes vigorously.
- Clean up all existing boards so that there are no red herrings out there. Delete them entirely if possible.
- Establish a Kanban board outside of the
fedora-infrastructure
repo, to create separation of “unplanned work” from “planned work”. This provides the necessary clarity for all involved, and lets us tweak these processes separately. - For any effort that is expected to take more than 2 weeks (negotiable!), we should have a task / issue out there which is:
- Assigned to a “steward”.
- Lists any contributors or “intends to contribute” members.
- Outlines basic plans and current status at a very high level. This could be 20 words and some links.
- Has some mechanism by which a newbie can express interest in contributing, along with a few words about their availability and what they could work on. This could just be a comment mechanism, or something more elaborate. But it must notify the steward, and the the steward is expected to respond to these. Note that the steward does not need to be closely linked to the work if the primary contributor is not interested or available in stewarding. The steward just takes responsibility for keeping one eye on the work and communicating and connecting the dots when newcomers express interest.
- At least once every 3 months we go through a round of updating the board. We ask stewards and primaries to do this independently, but we also dedicate a weekly meeting every quarter to ensuring that everything has updates and there is no lingering cruft. Anything which still needs an update at the end of the meeting becomes an assigned issue to get it updated. And to hold ourselves accountable, we have an eternal “canary” item, which encourages people to yell loudly if it goes without updates. If this gets too far out of date, at least then it’s visible to newcomers that this process is dead / unhealthy.
- This is probably the hardest part… we need to make an effort of predicting and/or requesting the future. Aka, a real backlog, which is separate from the day-to-day unplanned tickets. This doesn’t have to be very detailed, but we should have at least something out there for major anticipated or desired future work, and/or our “2025 goals” or similar. Something that A) tells people what they could get ready for, so they can be in position when the work actually comes, and/or B) tells people what major work is not happening (example: Anubis circa 2 months ago) just because nobody has yet dedicated the time to it.
Ideally, the “primary contributor” towards any major efforts would also be the steward. But I’ll hereby cautiously nominate myself as the steward for the foreseeable future on anything where the primary is not available or interested. I don’t want that to become the norm, but I also think it’s important to get this off the ground and make the project approachable for newcomers.
Next steps
- I currently have zero permissions in Fedora, including to clean up obviously-ancient Pagure boards. I’m willing to do all of the legwork that I ever suggest (here or in any other thread), but I either need permissions or someone else with the right permissions needs to take this. Whether we move forward with anything else, we should definitely clean this up. It’s disheartening to see this cruft as a newcomer.
- We need some consensus that this process seems A) at least plausible, and B) beneficial to retaining new contributors. We don’t have to agree that it’s going to work, just that it might work and might help. And I would suggest that new voices should weigh a little more heavily here than old-timers.
- If we generally agree that this process might be feasible, we need to decide where it should be hosted. Forgejo does have a kanban system like Pagure, which is linked to issues. This seems like the right place to me, but I don’t really know the full status of Forgejo today.
- We also need to incorporate this “grooming” meeting into our Fedocal.
Hit me
It’s always easy for the noob to come in and declare that we need to rewrite everything . I have zero knowledge of the battle scars or constraints here. Tell me what I’m missing! Hit me with the clue bat! Let’s get this conversation moving, because everyone seems to acknowledge “the onboarding problem”, and I believe that this is a fairly high-impact / low effort option which would help significantly.
And just to re-iterate: I’m happy to do all the work to get this off the ground. I just need others to be willing to share what’s in their head.