Description
I’ve been reading through the history a bit of how “Maintenance” was changed to “Maintenance LTS.” There seems to be good reasoning behind the wording but what I’m finding is that there are some unintended consequences that need to be resolved.
In my view, maintenance means “get off of this.” In fact, it’s my view that it needs to mean that, especially for libraries since they have to move people early in order to push applications to upgrade before the window closes. The end of maintenance means “no more security fixes.” It means “when this is over it’s potentially harmful to run this version.” But that’s not the way people are interpreting it.
Library authors seem to think that they should ensure support in the most recent versions of their libraries until the end of this window. I don’t think that’s the intention, because we need the ecosystem to be migrating away from this version during that maintenance window if we ever hope to have applications and vendors migrated off before the window closes. There’s a limited number of incentives Node.js has to push an ecosystem this large and complex in a more secure direction, and the current wording and lack of clear direction to developers means the few incentives we have aren’t being used very effectively.
It might be worth changing the language here to clarify the desired behavior of library and application developers and potentially re-wording some of these terms.