rOpenSci | A guide to sustainability models for research software projects

A guide to sustainability models for research software projects

A research project often starts with a bright idea and an initial commitment of volunteer time, or perhaps, a fixed term grant. But what happens after that initial activity? How can the project continue to sustain itself? (We define sustainability as the capacity to endure. Software is sustainable if it will continue to be available in the future, on new platforms, and meeting new needs. [This is from slide 23 of, though it may have been taken from somewhere else earlier - if you know where, let me know.])

🔗 A guide to sustainability models for research software projects

Based on work from Nadia Eghbal (@nayafia on GitHub), who studied how people fund their work on open source projects (, I wanted to understand how the projects themselves are sustained. Nadia thought this was out of scope for her document (see, so I forked her work and created

My intent has been to list how projects support themselves over time. Each funding category ideally links to several real examples, and when possible, to a useful article or page instead of just a homepage.

The categories are not mutually exclusive. For example, a project might have a foundation but also use crowdfunding to raise money. Another project might provide services and also have a donation button. Etc. The purpose of this guide is to provide an exhaustive list of all the ways a project can survive, so that your project can figure out what works best for you.

🔗 Possible next steps

As Neil Chue Hong (@npch on GitHub) suggests (, it’s likely that some models are better suited for particular stages of a project or for particularly types of projects. It would be useful to examine the current examples to see what we can learn from them. We could also learn from a much wider variety of projects, perhaps by a survey where we ask what models they have successfully used (and unsuccessfully tried), along with questions about what phases the projects has been in, and “demographic” information about the project (e.g., size, research domain, general purpose vs specific, etc.)

🔗 Call for contributions

  • If you have examples to add or other changes to suggest to the current document, please do so via pull requests

  • If you have suggestions for how to start addressing the suitability of each model for a project or phase of a project, please contribute to the existing issue (

  • Of course, any other comments and suggestions are also welcome.