 I want to share an idea that I call the flywheel theory of community engagement. This comes from my observations participating in various parts of the Fedora project, both as a volunteer and as a Red Hat employee over the past decade. What is a flywheel? In physics, it's a wheel spinning rapidly on a low friction axis. Simply put, a flywheel is a machine that can store energy and provide a consistent energy output when the input is inconsistent. In a community, a flywheel also provides a consistent energy output. This naturally helps keep teams functioning. But why is a flywheel important? Well, people's contributions to open source projects will naturally ebb and flow. The amount of free time a person has isn't static. It will rise and fall based on the demands of the rest of their life. Work, family, school, other organizations and projects, illness, burnout, etc. Everyone's effort goes up and down on a unique frequency. So long as some people's contributions are up when others are down, the overall momentum of the project stays strong. But at some point, your core contributors will all independently hit a low point at about the same time. This can have long term effects on the project. When momentum goes to near zero, it can be hard to get restarted. When existing contributors are ready to return, will the stagnation of the project cause them to find another area or another project to contribute to? If new potential contributors come along, will someone be there to greet them and show them around? If a newcomer does get started, how long do they stick around working by themselves? This doesn't happen over a weekend, but the longer the lull lasts, the harder it will be to get the project moving again. So what does a community flywheel do? A community flywheel doesn't have to be the person who does the most work. They just provide a constant presence that helps keep the momentum going. They show that the project is active by welcoming newcomers, keeping up on regular tasks and meetings, and yes, stepping up to do work when there's nobody else around. The purpose of the flywheel then is to ensure that there's always effort being put into the project. This is important because it helps keep your existing contributors engaged, but even more so because it gives new contributors a reason to join. It is very discouraging to send an introduction note only to be met with silence. Joining an active team is much easier than restarting a dormant team. So having someone be the flywheel in a community can result in much more effort than they put in themselves. It's an investment in the health of a team. Now I don't have any concrete numbers to apply to this. It's a conceptual model at this point and frankly it doesn't always hold. Some teams thrive without an obvious flywheel and some teams end up reducing to just the flywheel. But in general it seems to hold up. I suspect that as little as 10% of an FTE or four hours a week can be enough to help a team keep going as contributors come and go. In Fedora specifically I found that this often means having a Red Hat employee participating as part of their job duties. Having a paid employee isn't strictly necessary. Any community member can act as this flywheel. And there are people in the Fedora community who are acting as a flywheel in their teams while participating on a completely volunteer basis. But the advantage of having someone be the flywheel as part of their job is that, well, it's part of their job. That means it's easier for them to provide that consistent level of effort. In summary, the flywheel theory says that the long term sustainability of a community project depends on having someone who can keep the momentum going. This is a contributor who can provide a consistent presence which ends up being a great effort multiplier.