One of the challenging things I’ve found here is that there isn’t a very good understanding of what modern software costs, both on the development side, and for services of various kinds.
For me, the mental model I’m using is that getting paid — whether hourly or more as a sort of honorarium — should be thought of as being about $50USD per hour on a global basis. In some places in the world, that is a lot! For North American / Western Europe freelance development, that’s about half to a third rate.
So, if a project has $500 / month in recurring support, it means that we can expect about 10 hours per month of work on it. One most be careful not to overly financialize this — for a side project, it means you can buy your own time back.
So, that’s 100 people at $5/month
Of course for organizations, a more appropriate level of monthly support might be $50, $100, or even the whole $500/month.
I include this note about organizations, because it is likely the fastest path to sustainable funding over time.
Recurring funding
I am a big believer in recurring funding over time that maintainers and other contributors can spend time on a monthly basis supporting software.
Some months this might be cleaning up some tech debt in preparing for a TW version update.
Some months it would be smaller features added, guided by what’s interesting to contributors.
Other months it might be documentation and promotion to find new users and use cases, and to better support existing and new users.
For example, we did a lump sum for File Uploads for Saq, but no recurring. It’s been useful for his own needs and was worked into needs for core development of TW itself, so it will continue to be a useful building block.
To further expand it or move it into core, it really should have at least 100s of dollars per month to be kept up to date and supported.
One could expand this to other TW core plugins — people are already asking for ActivityPub support to be added to the Twitter plugin. We are at a deficit of funding just to keep things working with core beyond Jeremy.
The mental model one should have for working software is, if I enjoy it (or rely on it!) I should be funding it on annual basis. Even just the shifting nature of JavaScript means that this is needed.
Bounties alone lead to one off software that might not even work a month later after it’s delivered. So, a year at a time reliance seems like a good fit.
I’d say $100/month — or 2 hours of time — is the minimum to aim for if one wants maintained software.
On Cloud Services
For hosting services, you start with the same costs of software, but then add server administration and support. The marginal cost for an extra individual user is low, but only when you get to 100s or 1000s of users. And that’s with minimal support provided.
There are also legal liabilities about content and user data.
Mostly I think cloud services should fall into two categories.
-
some code that technically proficient people can use to run their own servers (like TW NodeJS)
-
services that are run by a structured entity. This could be a for profit business or it could be a co-op or other structure
And of course, some of (1) can be setup to run (2).
Note: I’m a member of Social.Coop which I pay into to run a Mastodon server for me and other members. There is some recent writing on what sort of resources to have in place Social.Coop Wiki | How To Make The Fediverse Your Own
Another note: the TW community isn’t covering its own costs for our community infrastructure, never mind the many volunteer only time that is currently donated.
How to think about what is needed to fund building new features
People need dedicated time to focus in figuring out a big new feature, plugin, or a whole new edition.
So sometimes one needs a bit of an up front pool to really focus for a month or 3, before moving into an annual cadence of monthly funding.
Having a 100 hours over 3 months is a not unreasonable scope for some things. That’s a little over 33 hours per month or 8 hours per week. By my formula, that’s $5K.
Of course, there are other things that are much smaller in scope that people find very valuable! And, if we think of this as an honorarium (some people are privileged enough to be able to just build open source software outside their day jobs — this is a nice extra incentive OR a way for them to compensate others who don’t have this privilege), then a little bit of funding can go much farther than the dollars and hours I’ve outlined.
Still, the point stands. A $1000 medium-ish feature is about the starting point one should expect, and about the minimum size we would want to see in order to create a project in OpenCollective.
Big dreams
I’d love to see more people getting compensated to work on TW projects of all sizes. I’d especially like to see individuals outside of North America / Western Europe to be able to earn a living creating and maintaining open source software. For some of the numbers I’ve stated, like $500USD/month, that can be sustainable full time monthly pay!
I’ve written this in first person @boris voice, because these norms and expectations need to be turned into shared community guidelines. So: this shouldn’t be taken as final or even agreed upon yet. It’s “for discussion”.
And, to learn, we’ll need to experiment further.