$linuxjunkies
>

baggage

also: technical debt, legacy code

Baggage refers to unnecessary, outdated, or redundant code, features, or dependencies that a system retains for backward compatibility, even though they're no longer needed or useful.

Baggage is technical debt that accumulates when software maintains support for old interfaces, libraries, or behaviors primarily to avoid breaking existing applications. Rather than removing legacy code, systems carry it forward like unwanted luggage.

Common examples include deprecated command flags that still work but are hidden from help text, old library functions kept in libc for compatibility, or kernel features that few users need but many systems still support. Linux itself carries baggage from decades of Unix compatibility and system calls that exist mainly for legacy applications.

While baggage ensures stability and prevents breaking changes, it increases complexity, maintenance burden, and potential security surface. Developers must weigh the cost of carrying baggage against the pain of forcing users to update their systems.

Related terms