How to assess financial sustainability?

I appreciate there’s a vastness in determining all of the factors involved in sustainability for a project.

I lead the JSON Schema project, a specification under the OpenJS Foundation, primerily for interoperable data validation.

Several of us our privilidged to be able to work full time on JSON Schema, and we want to identify our current situation as a project.

One of our core team wrote up the following on a GitHub issue.

The JSON Schema team is generously sponsored by a number of organizations. In some sense, Postman is a particularly notable organization in this regard, as it funds a number of developers from the team in order to be able to dedicate full-time effort to the JSON Schema ecosystem without any distraction.

Still, it is useful to ask and answer questions like “How much does development of JSON Schema cost today” in order to understand what is needed to sustain, maintain or grow development. This likely includes ensuring we understand what might happen if sponsorship of the project decreases, or more optimistically, how we could grow the project if sponsorship were to increase.

This likely includes:

  • assessing the approximate combined operating expense today

    • including one level down of specificity to differentiate between “$$ spent to push the specification forward” vs “$$ spent to support implementations” – we could perhaps address this with current contributors (speaking e.g. for myself, @Julian) by estimating the fraction of time we spend on implementation specific work vs. community-wide work
    • reviewing yearly expenses beyond salaries (e.g. hosting costs)
  • tallying the current source of funding which supports the above, and including some “gut” estimate of how stable this funding is

  • including OpenCollective funding and/or any other joint funds targeting the community

  • calling out specific pieces of ongoing expense which are critical to operation of the project (e.g. maintaining the json-schema.org site)

It is very likely that we would benefit from having someone who has done this sort of calculation (e.g. as part of operations within a for-profit company, as part of a business case, or of course the best would be for a similar open source project).

So a preliminary task for this issue is likely to identify a party qualified to ask the right questions for the above.

The primary goal/output is to produce a deliverable which can be maintained on an ongoing basis, which contains information about “how much does running the project cost today and how stable are the dollars in that calculation”.

Once we have such a thing, the two obvious follow-on questions would be:

  • Do we have a viable plan if the amount of money changes there in either direction, either for finding additional sponsors or otherwise
  • How does an increase in $$ relate to any additional help we may want to bring in

Assessed as low-medium impact/low-medium effort during our collaborators summit 2023.

As THE place where people think about sustainability of open source, we ask for your feedback, thoughts, feelings, opinions, about what was written and the task/objective. Either here or in the Issue.

Thanks in advance! :pray:

3 Likes

Hey @Relequestual! We discussed this in our Sustain Together call this week – we’d love to hear more from you have a deeper conversation. Would you be up for joining our next call in 2 weeks? Friday Aug 11 at 12pm ET / 9am PT

cc @coni2k @anthonyronda @Anita_Ihuman

1 Like

Thanks for the invite @abbycabs. Unfortunately, that time is just the worst for me, so I can’t make it. Happy to read minutes/notes or be put in touch with anyone who might have done this sort of work previously :pray:

1 Like

I am trying to get some kind of sustainability card for that.


JSON Schema team is ___ people sponsored up by ___ organizations and ___ people who are not backed up.

___ $$ spent on pushing specification forward ___ $$ spent on supporting implementations ___ $$ spent on hosting costs

Funding sources:

  • ___ $$ (__%) (stable) Postman
  • ___ $$ (__%) (_status) _other company name
  • ___ $$ (__%) OpenCollective
    • ___ $$ _name

Expenses:

  • ___ $$ _name life support (_link to NUMBEO)

With that in place it should be easier to calculate if a project is underfunded. To see if the funding is stable enough to provide contributors needs, an exported timeline of transactions should be enough, but for a thorough assessment if that’s enough or not, the should be aggregation of activity streams from contributors. Monitor their well-being, status and need will keep metrics about requirement and spending actual. Because the metrics is dynamic on weekly basis.