--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
drafting spec…
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
---
name: Vendor Lock-In
slug: vendor-lock-in
type: architectural pattern / slow trap
status: legacy
version: 4.1.1 (perpetually maintained by parties other than you)
released: "approximately 1960, refined continuously by motivated stakeholders"
maintainer: "the vendor, not you, never you"
dependencies:
- sunk-cost-fallacy
- proprietary-APIs
- enterprise-sales-cycles
- your-team-s-institutional-memory
- the-contract-you-signed-in-2019
license: "Proprietary. You agreed to the terms. Scroll up."
tags:
- architecture
- regret
- distributed-helplessness
- cloud
- enterprise
- technical-debt
- captivity
---
A contractual and technical arrangement where the cost of leaving exceeds the cost of suffering.
The pattern installs in phases, like a parasitic relationship that bills monthly.
This is the main event.
| Bug ID | Description | Severity | Status |
|---|---|---|---|
VLI-001 | Exit costs were never modeled at procurement. | CRITICAL | Won't Fix |
VLI-002 | The "open" API is open until it isn't. Deprecation notice: 90 days. | HIGH | By Design |
VLI-003 | Institutional knowledge of alternatives has fully atrophied. Your senior engineer who knew bare metal retired in 2021. | CRITICAL | Cannot Reproduce (the engineer) |
VLI-004 | Compliance requirements are now entangled with vendor-specific tooling. Untangling requires a rewrite. The rewrite requires a budget. The budget requires a champion. The champion requires hope. | CRITICAL | Cascading |
VLI-005 | Vendor's incentive structure is precisely inverted from yours. They benefit from your inability to leave. This is not a bug on their side. | EXISTENTIAL | Working As Intended |
VLI-006 | The data is yours in the sense that you can see it. Portability is a different product tier. | HIGH | See Pricing Page |
VLI-007 | The "multi-cloud strategy" you announced in 2022 runs entirely on one cloud. | MEDIUM | Cosmetic |
ERR_EGRESS_SURPRISE // You exported 40TB. You did not plan for this.
ERR_API_SUNSET_NOTICE // The endpoint you built against is deprecated.
// You have 6 weeks.
ERR_NEGOTIATION_LEVERAGE // You have none. Throws silently at renewal.
ERR_ABSTRACTION_LIE // The abstraction layer did not abstract the vendor.
// It absorbed it.
WARN_MIGRATION_ESTIMATE // Engineering estimated 3 months.
// See also: [optimism bias](/optimism-bias).
"We should have abstracted this behind an interface."
You should have. You did not. The interface would have added two sprint points and felt like overengineering at the time. This is the tax on that decision, compounded quarterly.
Vendor lock-in is not deprecated in the sense that it is going away. It is legacy in the sense that everyone knows it is bad and it ships anyway, every sprint, dressed as pragmatism.
Q: Can we migrate? Yes. Budget 18 months, full team attention, and one existential crisis per senior engineer involved.
Q: Was this avoidable? Mostly. Nobody avoided it.
Q: Who is responsible? The decision was made by someone who has since been promoted.