Good Article.
This proliferation of libraries and frameworks is a natural way in the programming world for things created for direct consumption by other programmers. The Assembly Language\Machine Code -> High Level Programming Languages is the most elementary example. All this also is partially explainable due to the two ingrained human desires to reduce efforts , which also are named in programming as: D.R.Y (Do no repeat yourself) and Facade (Hide the complexity behind simpler interfaces)
I find the analogy of Cars : Drivers is similar to Frameworks : Programmers. Lot of programmers are like the common drivers of the cars. They only use the car via the simple steering wheel interface . They may know some basic car maintenance and may never feel the need to go beyond. Only the Car engineers understand the physics behind internal combustion engine, aerodynamics of the car etc.