Earlier quoted context omitted.
Re TeX: That's actually covered by the author. TeX itself is complete. Knuth isn't adding new features, instead the version number is converging to pi (new digit added) with bug fixes [0]. The other variations are not TeX (they're reimplementations) or they're extension built on top of the completed TeX program. [0] https://www.tug.org/TUGboat/tb11-4/tb30knut.pdf [PDF, in case it wasn't obvious]
Yes, that's what I meant to imply. So yes, TeX is finished software but the boundary between what is known as TeX and "not TeX" is blurred by the thousands of extensions in the TeX environment that people must use when using anything beyond the basics. Basically what I'm saying with that example is that you can draw a line around some code and say "this is TeX, and it is finished." But what users mean when they say "…
I would say the boundary is very well defined.
Consider Internet wire protocols: to access this website, you're using HTTP over TLS over TCP over IP [etc.]
That doesn't mean that TCP or IP are "changing" when HTTP or TLS change. TCP and IP are feature-complete, low-level layers that each just do one thing well. We add on more layers to get the effect we want, and those layers change frequently, but changing those layers doesn't mean the lower-level thing "changes" as a part of it.
I think the problem with TeX is just that people have the nomenclature flipped. People think of things like LaTeX as being "what TeX is"—that LaTeX "is an implementation of" TeX. But that's off; it'd be like saying that HTTP is an implementation of TCP/IP, or that Ubuntu is an implementation of the Linux kernel.
In reality, LaTeX et al are software distributions—they include TeX as their text-constraint-processing engine, just like a Linux distro includes the Linux kernel, or a Unity game includes the Unity engine. It's one component, with a well-defined function.