It seems to me that a version of the Innovator&#x27;s Dilemma might apply to software frameworks as well.<p>By the time a project gets large enough it starts optimizing for its major stakeholders. New use cases or new ways of rethinking common use cases come along, and the small libraries that approach it from scratch have a narrowly-defined advantage. If the advantage is significant enough (e.  g. virtual dom for browser UI), then new frameworks start being written around them, bringing back some but not all of the features of the older frameworks.<p>At some point (different for each user&#x2F;use case) the newer frameworks have enough functionality that people start considering them over the older ones for new projects. When enough of that happens, the older frameworks start looking like yesterday&#x27;s software.