Unmaintained, dead, or just finished?
2023-11-04
What happens when a project reaches a point where no new features are needed? Is it really "unmaintained" if there's nothing left to do? Sure, you could add more features, but if the "core" of what you have works, and you've built projects with it, is it really worth it?
I've been thinking about this for a while now, after I saw a conversation on the MoonScript Discord guild which went roughly like this:
A: Are there any plans for type declarations in MoonScript?
B: No, and there'll never be due to MoonScript being unmaintained.
Come to think of it for a moment, the Lapis web framework, which is being used in production by itch.io and other projects from Leaf, is written in MoonScript (as well as most code using said framework). Lapis sees new releases regularly (last one being two days ago), so it's safe to say it's not an "unmaintained" project, and a relief, considering it's used in production.
But this means that, by proxy, MoonScript is also used in production, so... what gives?
Nothing, honestly. I wouldn't say MoonScript is dead, since people are clearly writing code with it today, but I also wouldn't say it's unmaintained, even if it hasn't seen a release in roughly 7 years. I'd argue there's different contexts for when a project is "dead", "alive" or "unmaintained", and when it comes to compilers (or more specifically transpilers, in the case of MoonScript), I'd say it basically boils down to the status of the target language (and we all know Lua isn't dead.)
Of course, if it were something like a web framework, or otherwise a project in an area that moves fast, sadly things die fast, but we're not on that level... yet.