Over 90% of open-source projects have a bus factor of one or two maintainers. So when a proprietary model vendor silently changes pricing or behavior, there is no community capacity to patch or port, despite the clean interface you describe. I see a pluggable backend as only genuinely optional if alternatives are first-class. In practice, the project's documentation, tests, and defaults all optimize for the proprietary API, leaving the open replacement permanently behind. The license may let users leave, but the project stays structurally tied to someone else's roadmap. That is not a tool; it is an unforkable dependency.