Some good thoughts in there thanks for keeping the conversation going!
My immediate and current thoughts/views are that:
- Bus factor is really important, as is succession planning in general. This ties into the theme of ‘capability to withstand changes’. I think those changes are resource based (we have more or less of something) or environmental (some force upon the project has changed) the balance between those two things is essentially what sustainability means to me.
- Organisational affiliation and diversification of income (in time or money) are for me as much about exertion influence on a project as they are about providing for them. I wonder whether looking at sustainability through this lens is useful? Is a sustainable project democratic or meritocratic, can it be both?
- Project velocity is not necessarily a good indicator of project health as some projects are more ‘environmental-type’: reacting to external stimuli more than progressing ad infinitum. The argument against that is that at the rate of change in increasingly complex dependency trees make almost any codebase ‘e-type’.
- Contributor mix is important but I can’t decide whether more one-off or fewer core contributors are better, I suspect it depends on the project’s complexity, documentation and basic skills/experience needed.
Happy to be argued on any of these points, it’s the discussion that’s most important!
FYI we (Libraries.io) broke out metrics-type work out into a separate repo to make it simpler to contribute/track/fork https://github.com/librariesio/metrics