[MAINTAINERS SUMMIT] Maintainer burnout

Josef Bacik
2023-08-16T18:08:10Z

Hello,

This is a topic we're beating to death but haven't really made decent progress
on WRT real solutions. I know I have advocated for adding even more
responsibilties to maintainers plates, which isn't really helpful.

There is a lot in this email, so I suppose choose your own adventure when it
comes to what we think is relevant to discuss.

Maintainers/long time developers are burning out. At the same time there's
frustration from new comers who have trouble getting their patches accepted. We
have instances of arguments between longtime developers which leads to more
frustration because it drags on the development process.

I have argued for the last few years that maintainers should be taking a more
active role in the social side of our development process. Be the grownups in
the room and help mitigate these conflicts before they sour relationships.

But this just adds to the long list of things that maintainers already need to
do. Oftentimes they are the only reviewers, testers, and main developers rolled
into one. We have an increase of automated testing, which while is a net
positive, adds to the stress of maintainers who view these reports as their
personal responsibilty to address.

We all work differently, so having big sweeping solutions is a non-starter.
However I think there are things we can learn from eachother to encourage
different thinking and thus result in a smoother development experience for all
of us.

Patch review: Obviously more people the better, encouraging review by trading
reviews for having developers patches reviewed is a good method, but this only
works for sufficiently large communities.

Automated testing: This doesn't replace review, but it can help add confidence
when you're accepting patch reviews from less experienced members.

De-prioritize automated reports: Syzbot is great, but the failure cases can be
sporadic and difficult to reproduce. Things that are bisected to a specific
patch are obviously easy to tackle, but don't let yourself get overwhelmed by
syzbot, they're good things to hand to new developers to cut their teeth on.

Maintainer groups, not sole maintainers: We all have things going on, build up
people you trust and develop a way to spread the maintenance load.

Automate everything: I hate email, that is no secret, but even with email we can
automate a lot of things. The btrfs team built out the GH CI so developers can
drive their own testing, spreading the load. Eventually I hope to get to the
point where the merging of patches is automated away so we don't have to deal
with those mechanics.

Developing strategies to handle the more mundane tasks of managing our projects
will help free us to engage better with our communities, and guide people to be
better developers, feeding back into the ecosystem that will help reduce the
pain. Thanks,

Josef