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.