
J. M. W. Turner, The ‘Fighting Temeraire’ tugged to her Last Berth to be broken up (1839) — Legacy under tow.
Legacy
n.—the hand that built it, still steering the machine.
In software, "legacy" is almost always an insult. Legacy code, legacy system, legacy stack—shorthand for whatever nobody wants to touch, written by people who left, running on assumptions nobody remembers agreeing to. I understand why the word collapsed to that meaning. Most of what gets called legacy in a codebase deserves the connotation.
But the word didn't start there. Legare—to leave something deliberately to someone else. A legacy was never supposed to be an accident. It was something handed down by someone who wouldn't be there to see how it turned out, betting that what they built was worth the trouble of someone else maintaining it.
I think the useful question is not "how do we get rid of our legacy" but "which parts of what we inherited were deliberately handed down, and which were just debris." Some legacy systems are debris—shortcuts nobody chose on purpose, accumulated because removing them was always less urgent than the next deadline. Others are real inheritance: a decision made under real constraints, by people who understood something about the problem that the people inheriting it have since forgotten.
The industrial version of this is more honest than the software version, maybe because the stakes are more visible. A century-old manufacturing process that still works is not "legacy" in the pejorative sense—it's inherited know-how that still proves useful. The discipline worth borrowing is knowing the difference before you decide what to keep and what to finally let go.