The real cost of a legacy system isn't the licence
A legacy system rarely announces itself with an outage. It announces itself with friction: a change that should take an afternoon takes three weeks, because nobody is sure what else it will break. A new hire who cannot be productive for months, because the system's rules live in one person's head. A board that cannot pursue an obvious opportunity, because the software simply cannot be made to do the new thing.
This is technical debt, and like financial debt it compounds. Every workaround built on top of the old system makes the next change harder. Every undocumented business rule raises the cost of touching the code. Eventually the system is not an asset you operate but a liability you tiptoe around — and the people who understood it best are the ones most likely to leave.
There is also a quieter risk: an unsupported runtime, an end-of-life database, a library with known vulnerabilities and no patch. On a system holding customer or financial data, that is not just technical debt — it is a compliance and security exposure that a single incident can turn into a headline.