Discord is a very popular chat application which has a business model that is partly based around the concept of Server Boosts. In this model, people "boost" (sponsor) the "servers" (chat rooms) they are part of. They do so by paying Discord the parent company, but it unlocks benefits for both the chat rooms they are a member of and want to support (enabling more features for all users of the chat room) and for themselves (they get more features as well as labels that show they support a particular room). Discord is targeted at gamers and therefore Server Boosts are heavily gamified and commercialized, however the core is clever and based around solidarity for the common space that people create, and something other projects could draw inspiration from. Having a way in which people can materially support the communities they are part of can possibly be a path to financial sustainability either for pyfedi the project or for individual instances.
Imagine that an instance can set up an Open Collective / Patreon / Liberapay to receive donations ( a practice which is already relatively common for Mastodon instances). Individual users of a pyfedi instance can support the instance or community with financial contributions and then connect their profile (using oauth) to Open Collective / Patreon / Liberapay to establish a link. Instance admins or community admins can then configure their instance or community to translate those contributions in to particular perks. For instance a label that shows the supporter level on the profile or something that enables more features (character limit? creating communities? posting to exclusive communities? unique emoji? ability to bookmark posts? immedately get rid of "new user" status? allow profile verification like mastodon?).
The model is nested: if a community receives multiple contributions the community management interface could show that and say "hey, pay some of it forward to your hosting instance". Similarly, the hosting instance would have an interface that says "hey this instance is sponsored by x amount, pay some of it forward to the project".
Pyfedi already has a relatively flexible model for "roles" which could be tied to community membership. Similarly, it already works with a gradual permissions system which would make this a good fit. At the same time, this is not only a model towards financial sustainability, but some long-running platforms use paid membership as a way to keep low-quality contributions at bay. See for instance MetaFilter's one time fee.
The crucial thing here is that communities or the software do become proprietary / exclusive necessarily, but that it provides a flexible model to support the work at various levels. It can also be designed in such a way that it is not a "freemium" model, where "advanced" but necessary functionality is pay-walled. Instead, it could be done in such a way that all the necessary features are available, but that additional features that allow the creation of a community identity are unlocked through material support for the project.
I quite like this. Long term, we need to find a way to distribute the financial support among those doing the work to make things happen. That means the developers of the software but also the admins and the moderators.
Currently PieFed has donation links but it all goes to me which is fine at the moment but obviously not something that would scale.
When money becomes involved there starts to be a whole lot of legal / regulatory stuff. Also payment processors have their own standards too, e.g. adult content. Know Your Customer laws vary between countries. Financing terrorism is an issue. If PieFed was in the middle of all those payments involving multiple jurisdictions, etc then it could get really complicated, really fast.
It's a big topic, especially in a decentralised federated context.