Decision Debt — The Hidden Threat in Open Source Projects
Decision Debt describes deferred architecture and design decisions in software projects: outdated APIs that nobody replaces; dependencies that nobody updates; security concepts that have been obsolete for years but were never reworked. In open source projects, Decision Debt is particularly dangerous — because there is no database for it.
What is Decision Debt? #
Technical debt is a well-known concept in software development. Decision Debt is a specific and particularly insidious form of it: it is not about poorly written code but about decisions that were never made.
Examples:
- A project uses an outdated cryptography library. Everyone knows it should be replaced. Nobody does it because the effort is too high.
- An API has known design flaws that facilitate security problems. A redesign was proposed three years ago and never implemented.
- A build system allows insecure dependency resolution. It works as long as nobody exploits it.
- Outdated compiler flags are retained even though modern security features remain disabled as a result.
Why is Decision Debt more dangerous than CVEs? #
For registered vulnerabilities (CVEs), there are databases, scanners, and processes. For Decision Debt, there is none of this:
- No scanner detects it. SCA tools check version numbers against vulnerability databases. Decision Debt has no version number and no database.
- No maintainer reports it. Decision Debt is not a bug — it is a consciously or unconsciously accepted state.
- It grows invisibly. Every deferred decision makes the next one harder. The risk accumulates.
- It affects all users. When a project accumulates Decision Debt, it affects everyone who deploys it — regardless of their own code quality.
Legal relevance #
EU legislation demands more than pure CVE management:
- DORA Art. 8(7): Assessment of legacy ICT systems at least annually — this includes outdated architecture decisions in dependencies
- DORA Art. 25(1): Open source analyses and source code reviews as a testing method — not just CVE scans
- NIS2 Art. 21(3): Assessment of the security of suppliers' development processes
- CRA Annex I Part I No. 2a: Products must be placed on the market without known exploitable vulnerabilities — Decision Debt can cause such vulnerabilities
An auditor examining an open source project and finding security decisions deferred for years will ask why you continue to deploy this project without mitigation measures.
What does this mean for you? #
Decision Debt is the blind spot in your open source strategy. You can patch every CVE and still be sitting on a foundation that is structurally insecure. Detecting Decision Debt requires deep understanding of the projects in your SBOM — not just scans but genuine source code analysis, assessment of project health, and understanding of architecture decisions.
Further reading #
- Open source supply chain security
- False security: why scanners and promises are not enough
- Who actually maintains open source?
Want to know which Decision Debts lurk in your critical dependencies? OTTRIA analyses not only vulnerabilities but also the structural health of your open source projects. Talk to us.