Why Frameworks Fail
Programming frameworks can seem ubiquitous one day and disappear the next. Some hypotheses on why:
API surface is too large. This is the most common reason frameworks fail. API surfaces naturally grow over time. Without a clear understanding of the problem space and diligent leadership, they can grow extremely quickly. In AI, this is an especially pointed problem — a fast-moving frontier can encourage frameworks to implement everything to keep up.
Underlying paradigm shift. Microservices. Mobile. Cloud. Thick vs. thin clients. Paradigm shifts create opportunities for new frameworks (which, in effect, obsolete others)
Bad rewrite / Wrong direction. Angular 2.0 is different enough from Angular 1.0 that it might have been called a completely different name. Complete rewrites are usually a wrong decision. They take a long time and often contain the hubris of believing they can short-circuit the discovery process (step-wise is hard to pull off).
Funding / Stewardship evaporates. A maintainer moves on. A company focuses on different priorities. Especially in the age of open-core software, this is prevalent. Many frameworks exist only because of the institutional power behind them — see the support and growth of React vs. React Native.
Misaligned Incentives. Other times, open-core companies have misaligned incentives with their users, intentionally designing a framework to support their business model rather than the customer’s desires.
M:N connectors. The last trap is the ETL problem of connectors. Frameworks hack distribution by connecting as many systems as possible. In the short term, this works (and feels magical). Long-term, the connectors slowly degrade and break as the developers face an unsurmountable maintenance problem.