New blog post:
There’s no such thing as sustainable research software
https://danielskatzblog.wordpress.com/2024/05/13/no-sustainable-research-software/
@danielskatz Wondering about the motivation for predicting the chances of future sustainability.
If the motivation is funding decisions, you move into the realm of self-fulfilling prophecies: software will be more likely to be sustainable if it is believed to remain sustainable.
Presumably I want to predict whether a piece of software is sustainable before I use it in a project that I would like to be sustainable itself.
@IanSudbery In that case, your definition of sustainability is likely to be different. Much more contextual. A piece of software can thrive for many years and yet stop being a good dependency for you, e.g. in case of many breaking changes to accommodate other people's new needs.
@khinsen @IanSudbery @danielskatz
All bug fixes are technically backwards incompatible API breaks.
I appreciate the two definitions of sustainable being discussed here:
1. software that continues to be maintained, gets regular bug fixes, and gets new features; is a going concern in any meaningful way
2. software that never changes and is effectively dead
@tacaswell "Never" and "dead" are extremist interpretations which I don't see as helpful. If you take the perspective of software as a repository of scientific knowledge, you'd expect it to change at the same rate as the scientific knowledge it embeds but not faster. In some fields, that would mean an update every 10 years (or even slower). There are practical examples for this, written in standardized languages to prevent collapse.
@khinsen @tacaswell @IanSudbery @danielskatz I'm not sure I agree with the notion -- and maybe I'm misinterpreting -- that software embeds knowledge without itself being that knowledge.
My immediate thought was of fluid dynamics. Has software evolved independently of our understanding of fluid dynamics? No, but it has evolved with applied mathematics. But the distinction there from the software becomes fuzzy and difficult to perceive without resorting to similarly extremist definitions.
@khinsen @tacaswell @IanSudbery @danielskatz (also I am sure I am not thinking of this on as many levels as you, so what probably reads as a challenge should have been formulated as a request for clarity, also I have to leave now and can't look at the thread for a while. :) )
@powersoffour Software is one representation of knowledge, just like mathematical formulas are a representation of knowledge.
But when I say that software "embeds" knowledge, I mostly mean that a typical software package wraps a lot of technical stuff around that knowledge. Reading files, distributing tasks among processors, etc.