What is the phrase for expressing the burden associated with maintaining what has been done in the past?

For example, if someone wrote a software or protocol in the past, the person often has to avoid changes that break the existing protocol (even though it may have flaws) because others may be already using it .

What is the term (preferably a short one) to refer to this burden?

Bag of history, bag of burdens, baggage of history...??

I may have seen such a phrase before. But I can't seem to remember what it is ..

  • "Baggage of history" is the only one of these that make any sense to me. "Historical baggage" works slightly better. Dec 27, 2019 at 2:21
  • honoring tradition? Dec 27, 2019 at 11:09

3 Answers 3


In the software engineering context of your example, the common term is technical debt. It is a reference to ‘borrowing’ time from future endeavours (you get extra time now but need to spend that time later, probably with interest).

Technical debt (also known as design debt or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. - Wikipedia

If you wanted to retain the terms bag and history, “historical baggage” expresses the concept more generically, from the perspective of someone trying to work with what has gone before.

Here are a couple of examples (note: I tried to find non-controversial examples, but if these are controversial for you, please ignore the content and just consider the English as context-free sentences):

  • This is not the same as avoiding changes (or extra overhead) because users are live with the old system as in the question. Technical debt is paying the price for short cuts or hacks in earlier iterations.
    – k1eran
    Dec 28, 2019 at 1:34
  • @ķ̢̫̬̺͚̻͚̹̙̔̎ͣ͆͛͛ The need to support live usage is just a symptom of tech debt. Had the API been designed 'properly', changes could be made with fewer pieces of code being touched, tending to make it easier to support live usage while changing things. Commercially, all code is intended to be used, so there will always be the need to support live usage. One instance of (incurring) tech debt when designing the original system is swapping effort for design-up-front in exchange for later effort towards changing a live system.
    – Lawrence
    Dec 28, 2019 at 1:56

I'd suggest "legacy". The inflexible IT systems that have to be maintained by established companies are often called legacy systems.

  • "person often has to avoid changes that break the existing protocol (even though it may have flaws)", no doubt about it: legacy systems etc.
    – Lambie
    Dec 27, 2019 at 16:47

The new version has to be backwardly compatible with older versions.

From wikipedia:

Backward compatibility is a property of a system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in telecommunications and computing. [...]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.