I posted a graph on LinkedIn. It showed that of the 10 million open source projects tracked by ecosyste.ms, more than half haven’t been updated in two years. I didn’t suggest old was bad or good, but I got a number of replies about most of this software is “done” so it’s fine. We don’t have any evidence either way, I’m unwilling to make any claims about the numbers (yet, I’m working on it). This got me wondering what it would mean for software to be “done”. Which then led to the question is anything ever done? It’s a lot harder to figure this out than I had expected.
Yes. But we tend to call it “abandoned” then, just because the tool had no security vulnerability or scope creep the last 3 years.
Well the problem is trying to attach the concept of “done” to a bitstream. You can release it, but then the release is “done”, not the software. You can evaluate software only in a specific cultural context, where it can be useful or not. Software is more similar to a law than to a fabricated pencil. Laws are updated and re-interpreted as the culture around them evolves, and they are “done” when the culture is done.
I like this quote:
In other words, a factory product is “done” when it passes QA. You can try to apply the same productivity mentality to software (or to laws) but it just doesn’t make sense, because those are instructions how to do things, and not products to be consumed. It’s not a factory product, it’s a living cultural process.