A Framework for Understanding Research Software Sustainability